Claude Code+OpenSpec 环境搭建与场景测试:AI 编码提效的真实体感

文章目录

OpenSpec 基本概念

什么是 OpenSpec

OpenSpec 用规范先行、提案驱动、文件化管理,让 AI 编程从 “模糊对话” 走向 “可控工程”,核心是提质量、降返工、可追溯、易协作。

流程阶段对应文件/操作状态标识
创建提案proposal.md📝 待启动
实现变更apply.md🔧 进行中
归档完成archive.md📦 已完成
完成部署specs 更新🚀 已上线

常用命令

1.x 命令用途旧版 0.x 命令
/opsx-explore自由思考,只读模式,不写代码。允许在动手前理清思路,可衔接 opsx-new
/opsx-new创建一个新变更。/openspec:proposal
/opsx-continue创建下一个产物:proposal、specs、design、tasks/openspec:proposal
/opsx-ffFast-Forward,按依赖顺序一次性生成四个产物。适合需求明确的场景。/openspec:proposal
/opsx-apply实现 tasks.md 里的任务。/openspec:apply
/opsx-verify检查代码和规范是否一致。
/opsx-sync预览规格合并。
/opsx-archive完成并归档变更。/openspec:archive
/opsx-bulk-archive批量归档多个变更。

典型执行路径

# 场景1:简单明确需求: /opsx:new ──► /opsx:ff ──► /opsx:apply ──► /opsx:verify ──► /opsx:archive # 场景2:需求表达不出来: /opsx:explore ──► /opsx:new ──► /opsx:continue ──► ... ──► /opsx:apply ──► /opsx:archive 

环境准备

环境类别具体配置备注
运行环境Node.js v24.14.0
编辑器Claude Code 2.1.63命令行形式
SDDOpenSpec 1.2.0
模型claude-opus-4-5-20251101
配置管理CC-Switch v3.11.1
中转服务GPTs API

Node.js 安装配置

# 下载安装包wget https://nodejs.org/dist/v24.14.0/node-v24.14.0-linux-x64.tar.xz # 解压tar-xvf node-v24.14.0-linux-x64.tar.xz # 移动到/usr/local安装mv node-v24.14.0-linux-x64 /usr/local/node-v24.14.0-linux-x64 cd /usr/local/node-v24.14.0-linux-x64 # 建立软链接ln-s /usr/local/node-v24.14.0-linux-x64/bin/node /usr/local/bin/node ln-s /usr/local/node-v24.14.0-linux-x64/bin/npm /usr/local/bin/npm # 配置环境变量vim /etc/profile # 添加如下内容exportNODE_HOME=/usr/local/node-v24.14.0-linux-x64 exportPATH=$PATH:$NODE_HOME/bin exportNODE_PATH=$NODE_HOME/lib/node_modules # 使环境变量生效source /etc/profile # 查看版本号验证安装结果node-vnpm-v

OpenSpec 安装与初始化

安装

# 安装npminstall-g @fission-ai/openspec@latest # 查看版本号检查是否安装成功 openspec --version

项目初始化

cd your-project openspec init 

执行初始化后进入欢迎界面

 Welcome to OpenSpec A lightweight spec-driven framework ████ This setup will configure: ██ ██ • Agent Skills for AI tools ░░ ████ ░░ • /opsx:* slash commands ░░ ████ ░░ ░░ ████ ░░ Quick start after setup: ██ ██ /opsx:new Create a change ████ /opsx:continue Next artifact /opsx:apply Implement tasks Press Enter to select tools... 

选择编程工具(Claude Code)

? Select tools to set up (24 available) Selected: Claude Code Search: [type to filter] ↑↓ navigate • Space toggle • Backspace remove • Enter confirm ○ Amazon Q Developer ○ Antigravity ○ Auggie (Augment CLI) › ◉ Claude Code (selected) ○ Cline ○ Codex ○ CodeBuddy Code (CLI) ○ Continue ○ CoStrict ○ Crush ○ Cursor ○ Factory Droid ○ Gemini CLI ○ GitHub Copilot ○ iFlow (1/2)

生成openspec目录结构

# tree -a .claude openspec .claude ├── commands │ └── opsx │ ├── apply.md │ ├── archive.md │ ├── explore.md │ └── propose.md └── skills ├── openspec-apply-change │ └── SKILL.md ├── openspec-archive-change │ └── SKILL.md ├── openspec-explore │ └── SKILL.md └── openspec-propose └── SKILL.md openspec ├── changes │ └── archive ├── config.yaml └── specs 

Claude Code 安装与配置

命令行方式

Claude Code 官方文档:https://code.claude.com/docs/en/overview

# 官方脚本安装curl-fsSL https://claude.ai/install.sh |bash# 或通过npm全局安装npminstall-g @anthropic-ai/claude-code 

安装完成后终端提示:

Setting up Claude Code... ✔ Claude Code successfully installed! Version: 2.1.63 Location: ~/.local/bin/claude Next: Run claude --help to get started ⚠ Setup notes: • Native installation exists but ~/.local/bin is not in your PATH. Run: echo'export PATH="$HOME/.local/bin:$PATH"'>> ~/.bashrc &&source ~/.bashrc ✅ Installation complete!

补充配置环境变量

echo'export PATH="$HOME/.local/bin:$PATH"'>> ~/.bashrc &&source ~/.bashrc 

验证安装与启动

# 验证版本 claude --version# 启动 claude 

启动后配置(主题选择)

Welcome to Claude Code v2.1.63 ………………………………………………………………………………………………………………………………………………………… * █████▓▓░ * ███▓░ ░░ ░░░░░░ ███▓░ ░░░ ░░░░░░░░░░ ███▓░ ░░░░░░░░░░░░░░░░░░░ * ██▓░░ ▓ ░▓▓███▓▓░ * ░░░░ ░░░░░░░░ ░░░░░░░░░░░░░░░░ █████████ * ██▄█████▄██ * █████████ * …………………█ █ █ █……………………………………………………………………………………………………………… Let's get started. Choose the text style that looks best with your terminal To change this later, run /theme ❯ 1. Dark mode ✔ 2. Light mode 3. Dark mode (colorblind-friendly)4. Light mode (colorblind-friendly)5. Dark mode (ANSI colors only)6. Light mode (ANSI colors only) ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ 1functiongreet(){2 - console.log("Hello, World!");2 + console.log("Hello, Claude!");3} ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ Syntax theme: Monokai Extended (ctrl+t to disable)

登录方式选择

Welcome to Claude Code v2.1.63 ………………………………………………………………………………………………………………………………………………………… * █████▓▓░ * ███▓░ ░░ ░░░░░░ ███▓░ ░░░ ░░░░░░░░░░ ███▓░ ░░░░░░░░░░░░░░░░░░░ * ██▓░░ ▓ ░▓▓███▓▓░ * ░░░░ ░░░░░░░░ ░░░░░░░░░░░░░░░░ █████████ * ██▄█████▄██ * █████████ * …………………█ █ █ █……………………………………………………………………………………………………………… Claude Code can be used with your Claude subscription or billed based on API usage through your Console account. Select login method: ❯ 1. Claude account with subscription · Pro, Max, Team, or Enterprise 2. Anthropic Console account · API usage billing 3. 3rd-party platform · Amazon Bedrock, Microsoft Foundry, or Vertex AI 

登录成功后即可正常使用 Claude Code

╭─── Claude Code v2.1.63 ────────────────────────────────────────────────────────────────────────────────────────────────╮ │ │ Tips for getting started │ │ Welcome back Yao! │ Run /init to create a CLAUDE.md file with instructions for Claude │ │ │ ───────────────────────────────────────────────────────────────── │ │ │ Recent activity │ │ ▐▛███▜▌ │ No recent activity │ │ ▝▜█████▛▘ │ │ │ ▘▘ ▝▝ │ │ │ Sonnet 4.6 · API Usage Billing · Yao‘s Individual │ │ │ Org │ │ │ ~/workspace/FinQuery │ │ ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ❯ Try "write a test for <filepath>" ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ? for shortcuts 

VS Code插件

插件市场中搜索“Claude Code for VS Code”进行安装

GPTs API

如无法直连Claude官方服务,可选择中转服务:https://gptsapi.net/

需将各 AI 模型的官方 API 地址替换为 GPTs API 地址:

  • OpenAI API:https://api.openai.comhttps://api.gptsapi.net
  • Claude API:https://api.anthropic.comhttps://api.gptsapi.net
  • Gemini API:https://generativelanguage.googleapis.comhttps://api.gptsapi.net

调用示例:

curl https://api.gptsapi.net/v1/messages \-H"Content-Type: application/json"\-H"x-api-key: sk-pTp7b3e8164015c23d53138c77a3511683b25d7b7b1G5Y87"\-H"anthropic-version: 2023-06-01"\-d'{ "model": "claude-opus-4-5-20251101", "max_tokens": 1000, "messages": [ { "role": "user", "content": "Hello, who are you" } ] }'

CC-Switch

安装 CC-switch 主要是为了方便切换各大模型厂商的API,下载地址:https://github.com/farion1231/cc-switch/releases

配置步骤:添加 Claude 模型供应商,将 API Key、请求地址、主模型替换为 GPTs API 提供的配置。

OpenSpec 效果测试

测试用例

选取部分有代表性场景记录如下:

场景用例期望实际效果
绿地新项目(从零开始)开发Scheme Linking模块功能完整好,代码和设计一致性高和设计还是有不小差距,多处不符合预期,主要表现在:DDL写死在代码里没有用知识库、向量化文本时组装规则不合理导致噪声过大、复杂SQL生成质量差等问题。需要人工阅读AI生成代码,手动优化,浪费很多时间。不满意
棕地老项目(核心场景)优化输入预检机制,只处理财务数据相关问句,对不相干问题返回友好的引导提示精准匹配老项目代码规范, 生成的spec贴合现有项目风格,不污染老代码validate检出原有代码隐藏格式错误3处,新增代码无错误;apply后无需大量调整,直接适配老项目环境,未出现兼容性问题。较好
数据库能力复杂SQL执行报错,分析原因并优化修复MySQL版本导致的兼容问题;优化SQL,禁用多层CTE、窗口函数未能考虑到版本兼容性;没有找到正确优化方向,一直在原有SQL上反复修改细节。一般
代码注释系统性完善项目代码注释,指定多个Java类注释遵循Java编程规范,使用Javadoc格式,清晰易懂过渡设计,除注释外擅自添加了架构图和流程说明,大量浪费Token。一般
单元测试生成指定模块的单元测试case设计合理,覆盖所有场景,能自动执行比较好,未通过case能自动调整较好
多人协同模拟多人协同, 2人同时修改不同模块提交Git无核心代码冲突;变更记录清晰,可明确区分两人操作可基于各自spec生成代码,无互相干扰,Java代码冲突率较低,但是在执行归档同步主Spec时经常冲突。较好
跨项目需求跨项目需求找出多个代码仓库里和本需求相关的修改点,无遗漏把多仓库放在一个目录里,性能很差,也没有找全不满意

指标分析(主观评估)

以下纯属主观印象:

指标数据
对话轮次简单需求<50次;复杂需求150 ~ 500次
Token消耗简单需求<100M;复杂需求>500M
需求对齐耗时除了和产品经理沟通,还要让AI理解,耗时增加了
功能开发耗时有提升,具体多少不明确,需要多个对照组验证
代码Review耗时交给AI,原汤化原食
代码质量打分85分
代码初次执行成功率80%,大多数情况可以自动修改
返工率10%,特殊场景下生成代码完全不可用

OpenSpec 使用体验

优点

  • 存量项目友好,增量迭代安全;
  • 工具集成广泛,兼容 Cursor、Claude Code、Copilot 等主流 AI 编码助手;
  • 变更隔离与协作友好,变更可审计、可追溯;
  • 先定义精确规格(接口、边界、验收标准),提升AI输出的确定性与质量。

不足

  • 太贵了,我是琼B不配玩AI。需严格评估效费比(如claude-opus-4-5-20251101模型:输入 $5.00/M Token,输出 $25.00/M Token;一个比较简单的文档总结需求:模型请求 14次,token消耗量 42W,费用 $1.61);
  • 流程开销大:对简单需求而言,规范驱动的开发模式过于笨重,易产生 “规范疲劳”;
  • 额外维护成本:需在代码维护之外,同步维护 Spec 文档。

感想

  • 角色转变:开发人员从 “编码执行者” 转向 “需求定义者 + 架构师”,对能力要求更高;
  • 需求质量依赖:AI 输出效果极度依赖需求理解深度,对需求文档质量提出更高要求;
  • 适用场景有限:Spec 并非万能,简单需求手写开发效率更高,需结合实际场景选择。

迷茫

  • 整体提效验证:AI Coding 仅在编码环节有效率提升,全流程(需求、设计、测试、部署)是否提效缺乏严谨对照验证;
  • 成本收益平衡:模型使用成本极高,效率提升能否覆盖资源投入成本尚未明确;
  • 技术范式迭代:AI Coding 框架 / 模式层出不穷,学习成本很高,Spec 是否为最优范式?新技术出现是否会替代 Spec 模式?

Read more

Flutter 三方库 discord_interactions 的鸿蒙化适配指南 - 在 OpenHarmony 打造高效的社交机器人交互底座

Flutter 三方库 discord_interactions 的鸿蒙化适配指南 - 在 OpenHarmony 打造高效的社交机器人交互底座

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 discord_interactions 的鸿蒙化适配指南 - 在 OpenHarmony 打造高效的社交机器人交互底座 在现代社交应用与办公协同工具的开发中,集成强大的机器人(Bot)交互能力是提升活跃度的关键。discord_interactions 库为 Flutter 开发者提供了一套完整的、遵循 Discord 官方协议的交互模型,涵盖了从 Slash Commands(斜杠命令)到 Webhook 签名验证的核心功能。本文将深入解析如何在 OpenHarmony(鸿蒙)环境下,结合鸿蒙的安全机制与网络特性,完美适配 discord_interactions 到你的鸿蒙应用中。 前言 随着鸿蒙系统(HarmonyOS)进入原生应用开发的新纪元,跨平台社交工具的适配需求日益增长。discord_interactions 作为一个纯

FLUX.2[klein]开源!小香蕉平替,本地部署AI绘画的极简方案

FLUX.2[klein]开源!小香蕉平替,本地部署AI绘画的极简方案

文章目录 * 前言 * 一、FLUX.2[klein]到底香在哪? * 二、部署前准备:硬件+环境一键搞定 * 1. 硬件要求(最低配置) * 2. 环境安装(3行命令搞定) * 三、极简部署方案:2种方式任选(新手首选方式1) * 方式1:Python脚本一键运行(纯代码,无界面,最快上手) * 步骤1:创建运行脚本 * 步骤2:运行脚本 * 方式2:ComfyUI可视化部署(适合喜欢拖拽操作的用户) * 步骤1:安装ComfyUI * 步骤2:下载FLUX.2[klein]模型 * 步骤3:启动ComfyUI并加载工作流 * 四、常见问题&优化技巧 * 1. 显存不足怎么办? * 2. 模型下载慢/

政安晨【零基础玩转开源AI项目】OpenClaw飞书通信端机器人配置指南(手把手配置OpenClaw飞书/Lark机器人,实现多渠道AI助手集成)(作者自己配置时留存使用,小伙伴们可酌情参考)

政安晨【零基础玩转开源AI项目】OpenClaw飞书通信端机器人配置指南(手把手配置OpenClaw飞书/Lark机器人,实现多渠道AI助手集成)(作者自己配置时留存使用,小伙伴们可酌情参考)

政安晨的个人主页:政安晨 欢迎 👍点赞✍评论⭐收藏 希望政安晨的博客能够对您有所裨益,如有不足之处,欢迎在评论区提出指正! 目录 一、前言 1.1 为什么需要配置飞书机器人? 1.2 飞书机器人支持的功能 二、准备工作 2.1 环境要求 2.2 OpenClaw安装(本篇主要介绍飞书端的配置,这里可参考我上一篇博客) 2.3 飞书账号要求 三、飞书应用创建 3.1 创建企业应用 3.2 获取应用凭证 编辑3.3 开通权限 3.4 配置事件订阅 Webhook URL配置 订阅事件 3.5

【STM32项目开源】基于STM32的智能家居环境监测系统

【STM32项目开源】基于STM32的智能家居环境监测系统

目录 一、设计背景和意义 1.1设计背景 1.2设计意义 二、实物效果展示 2.1实物图片 2.2实物演示视频 三、硬件功能简介 3.1项目功能详解 3.2元器件清单 四、主框图与软件流程图 五、硬件PCB展示 六、软件程序设计 七、项目资料包内容          资料获取:查看主页介绍“充哥单片机设计” 一、设计背景和意义 1.1设计背景         随着物联网(IoT)、嵌入式系统和云计算等技术的飞速发展,智能家居系统正在逐渐改变人们的生活方式。智能家居不仅仅是简单的远程开关控制,而是向着环境感知、自主判断、智能决策的方向不断演进。特别是在城市化进程加快、生活节奏加快的背景下,用户对生活便捷性、家庭安全性和环境舒适度的要求不断提高,这对智能家居系统的综合感知、智能响应能力提出了更高的要求。         当前市面上的智能家居产品多以分立模块存在,系统功能较为单一,