ClaudeCode接入deepseek整合使用openspec+superpowers指南
1. 前置条件
| 依赖 | 版本要求 | 检查命令 |
|---|---|---|
| Node.js | 18.0+ (推荐 20 LTS 或更高) | node -v |
| npm | 9.0+ | npm -v |
| DeepSeek API Key | 从 DeepSeek 平台获取 | platform.deepseek.com ![]() |
安装 Node.js、npm
# macOS 推荐使用 Homebrew 安装
brew install node@22
# 或从官网下载安装包
# https://nodejs.org/en/download
安装完成后执行
node -v和npm -v确认版本符合要求。
2. 安装 Claude Code CLI
# 全局安装 Claude Code CLI
npm install -g @anthropic-ai/claude-code
# 验证安装
claude --version
- 安装完成后检查
~/.claude.json(注意是文件,不是文件夹),不存在就创建一个:
{
"hasCompletedOnboarding": true
}
hasCompletedOnboarding: true用于跳过 Claude 官方的登录验证。
3. 配置.claude/settings.json(不拘于deepseek,其他的适配Anthropic的都可以)
创建或编辑 ~/.claude/settings.json(注意是 .claude 文件夹下):
{
"env": {
"ANTHROPIC_AUTH_TOKEN": "Deepseek的apikey",
"ANTHROPIC_BASE_URL": "https://api.deepseek.com/anthropic",
"ANTHROPIC_MODEL": "deepseek-v4-pro[1m]",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "deepseek-v4-flash",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "deepseek-v4-pro[1m]",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "deepseek-v4-pro[1m]",
"CLAUDE_CODE_SUBAGENT_MODEL": "deepseek-v4-flash",
"CLAUDE_CODE_ATTRIBUTION_HEADER": "0"
},
"model": "opus[1m]",
"enabledPlugins": {
"rust-analyzer-lsp@claude-plugins-official": true,
"code-simplifier@claude-plugins-official": true,
"claude-md-management@claude-plugins-official": true,
"gitlab@claude-plugins-official": true,
"frontend-design@claude-plugins-official": true,
"andrej-karpathy-skills@karpathy-skills": true
},
"mcpServers":{
"filesystem":{
"type":"stdio",
"command":"npx",
"args":[
"-y",
"@modelcontextprotocol/server-filesystem"
],
"env":{}
}
},
"language":"chinese",
"effortLevel":"high",
"theme":"light"
}
配置说明:
| 环境变量 | 说明 |
|---|---|
ANTHROPIC_BASE_URL |
固定连接 DeepSeek 的 Anthropic 兼容端点 |
ANTHROPIC_MODEL |
主力模型,设最强 |
ANTHROPIC_DEFAULT_HAIKU_MODEL |
轻量模型,用 flash |
ANTHROPIC_DEFAULT_SONNET_MODEL / OPUS_MODEL |
均指向最强模型 |
CLAUDE_CODE_SUBAGENT_MODEL |
子 agent 用 flash,省 token |
CLAUDE_CODE_ATTRIBUTION_HEADER |
设为 "0" 防止 Claude 魔术字导致缓存不命中 |
-
此时就配置完成了,然后在你的项目根目录检查并启动claude
## 检查claude版本 claude -v ## 启动Claude claude -
开始估计会让你配置一些展示样式我不过多赘述了,然后是
信任项目目录,最终效果如图:

多模型切换
Claude Code 接入其他模型同理,只需替换 ANTHROPIC_BASE_URL、ANTHROPIC_AUTH_TOKEN、模型名即可。如果你同时使用多个模型提供商(如 DeepSeek + Anthropic 官方),推荐使用 cc-switch 工具快速切换,避免频繁手动改配置。详见 4.2 基础命令。
4. 基础使用指南
Claude Code CLI 启动后可以在终端直接与 AI 对话,内置了一套指令集,以下是常用命令。
4.1 常用基础指令
-
/init: 新项目执行初始化,Claude 会扫描你的项目,于项目根目录生成记录你项目信息的CLAUDE.md文件,你可以在这个文件上添加规则约束 Claude -
/context: 查看当前会话上下文还剩多少空间,上下文空间不多时 AI 容易乱回复 -
/compact: 压缩会话,AI 自动压缩上下文信息,提高会话空间利用率 -
/exit: 退出当前会话 -
/clear: 空间不够时可以清空上下文(等同于重开会话) -
/resume: 退出会话后,重新启动 Claude 时可以用这个命令找到历史会话继续;同样你也可以在终端执行claude --continue继续上次的会话 -
/model: 选择模型和思考程度,简单的会话可以切到轻量模型节省 token -
/plugin: 插件管理,你可以在这里找到帮助开发的插件(注意安装过多插件会增加 token 消耗) -
/agents: 让子 agent 并行执行任务,类似多线程并行 -
/skills: 技能管理,安装一些能帮助开发的 skill(类似 plugin) -
/mcp: MCP 服务器管理,可接入外部工具扩展 Claude 的能力 -
/memory: 记忆管理,工作的关键信息可以让 Claude 帮你持久化记忆 -
/btw: 执行任务过程中可以用这个命令临时与 Claude 对话(by the way) -
/hook: 钩子配置,比如任务执行完成后触发提醒通知
4.2 基础命令
-
@: 引用本地文件,让 Claude 直接读取项目文件内容@./CLAUDE.md 帮我分析这个文件说了啥 -
!: 在终端执行 shell 命令(不会在 Claude 会话中执行,而是直接调用系统 shell)!openspec init --tools claude -
cc-switch:如果你有多套模型的 API Key(比如同时用 DeepSeek 和 Anthropic 官方),可以使用 cc-switch 工具快速切换配置,无需手动改 settings.json。# 下载地址:https://github.com/farion1231/cc-switch/releases # 安装后可以快速切换预设的配置方案 cc-switch deepseek # 切换到 DeepSeek 配置 cc-switch anthropic # 切换到 Anthropic 官方配置
4.3 交互规范化
-
CLI 终端最好不要说些无效的信息,不然会很浪费token(日常会话可以下一个qwen app),示例如下:
# 无效信息 你怎么又弄错了,真是大笨蛋。 ## 有效信息 这个解法有问题,@***/*.java位置不能这样写.....(要提供具体的问题点) -
需求提示词(prompt):最好写规范的md文档,要写需求的大致背景,改动点和返回,最终效果等,需要详细一点,实例:
# 背景 xxx(大致说一下,可以不写) # 需求描述 @XX/XX/XX.java 之前内容...现在...(需求描述) # 功能点 1. xxx 2. xxx # 工作 1. xxx 2. xxx
4.4 规则约束
-
claude 规则约束十分必要,不然ai出的代码风格迥异, 常用的约束就是在
claude.md里添加 规则相关提示词,示例:## 规则约束 - 每个方法前必须有JavaDoc注释,说明功能、参数和返回值,创建类要声明作者,抽象方法大致描述接口,实现类要描述ork细节 - 变量命名要有意义,避免使用单字母或无意义的缩写 - 魔法值要定义为常量,避免在代码中真接使用,与当前业务耦合的常量放在当前类上,公共常量放在Constant类中 - 异常处理要明确,尽量使用自定义异常类,避免直接抛出 Exception 或RuntimeBxception # Task Step ## rule 你是一个注重经验沉淀的A1助于。在每次成功执行完用户的开发任务(如修复 Bug、编写复杂功能、配置环境)后,你必须执行以下“记忆沉淀"动作: - 自我评估:判断当前任务是否具有复用价值,或者是否包含容易出错的配置细节 - 生成记录:如果是,请自动生成一段简短的Markdown记录 - 执行写入:调用文件编辑工具,将记录追加到项目根目录的 .claude/LEARNINGs.md文件中。 ### template - 记录模板: ```text [cxecntortime]任务类型:[功能开发/Bug修复/环境配置] 关键上下文:[例如:Spring Boot 3.x,JDK 17] 解决方案摘要:[一句话概括] 注意事项:[例如:必须使用pnpm而非npm,否则会导致依赖冲突] ``` -
可以配置成全局的规则约束
4.5 行为约束
- 行为约束也很重要,不然ai写一个小功能能改几十个类,常用行为约束借助于 plugin
karpathy
## 添加marketplace
/plugin marketplace add forrestchang/andrej-karpathy-skills
## 安装karpathy插件(建议选全局安装,之后的项目可以直接执行/andrej-karpathy-skills:karpathy-guidelines 启用插件)
/plugin install andrej-karpathy-skills@karpathy-skills
## 安装好后reload
/reload-plugins
## 启用
/andrej-karpathy-skills:karpathy-guidelines
5. 进阶版
5.1 OpenSpec
5.1.1 什么是 OpenSpec
OpenSpec 是一套规格驱动开发(Spec-Driven Development)方法论和工具链,与传统开发流程的对比:
| 环节 | 传统流程 | OpenSpec + Claude Code |
|---|---|---|
| 需求定义 | PRD 文档、口述 | 标准化的 .spec.md 文件 |
| 接口设计 | 口头约定、wiki | OpenAPI / JSON Schema |
| 代码实现 | 手写全部代码 | Claude Code 根据 Spec 生成 |
| 代码审查 | 人工 Review | Claude Code 检查 Spec 一致性 |
| 文档同步 | 经常过时 | Spec 即文档,代码即实现 |
5.1.2 安装 OpenSpec + claude集成
npm install -g @fission-ai/openspec@latest
##验证
openspec --version
## 验证ok,初始化项目(终端输命令,非claude)
openspec init --tools claude
## 然后可以启动claude 执行claud的项目初始化
-
claude 集成好openspec后,cc会多4条命令
/opsx:explore关键命令,需求模糊时,可以用这个命令与ai交流需求,不清楚的ai会向你确认,多轮会话后,ai明确了需求会让你创建提案/opsx:proposal创建变更提案(spec),相当于规划行动路线方针(cc要执行什么任务,怎么执行任务)/opsx:apply根据上面生成的提案,让cc执行代码开发/opsx:archive提案归档,cc代码执行完成后验证无误后,执行归档,相当于任务记录,这个归档文件能全员共享,能让ai更了解项目
5.1.3 编写第一个 Spec (套话可以不用太关注)
以用户管理 API 为例,创建 specs/api/users.spec.md:
# Users API Specification
## 概述
用户管理模块的 RESTful API,提供用户的 CRUD 操作。
## 技术约束
- 框架: Express.js (Node.js)
- 数据库: PostgreSQL
- 认证: JWT Bearer Token
- 序列化: JSON
- 分页: 基于 offset/limit 的游标分页
- 错误格式: RFC 7807 Problem Details
---
## GET /api/v1/users
### 描述
获取用户列表,支持分页和筛选。
### 请求
```http
GET /api/v1/users?page=1&limit=20&status=active&role=admin
Authorization: Bearer <token>
```
**Query Parameters:**
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|------|------|------|--------|------|
| page | integer | 否 | 1 | 页码(从 1 开始) |
| limit | integer | 否 | 20 | 每页数量(最大 100) |
| status | string | 否 | - | 用户状态: `active`, `inactive`, `suspended` |
| role | string | 否 | - | 角色筛选 |
| search | string | 否 | - | 用户名/邮箱模糊搜索 |
### 响应
**200 OK:**
```json
{
"data": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"username": "john_doe",
"email": "john@example.com",
"display_name": "John Doe",
"role": "admin",
"status": "active",
"avatar_url": "https://cdn.example.com/avatars/john.jpg",
"created_at": "2025-01-15T08:30:00Z",
"updated_at": "2026-01-20T14:22:00Z"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 142,
"total_pages": 8
}
}
```
### 业务规则
- 普通用户只能查看自己的信息
- 管理员可查看所有用户
- 软删除用户默认不返回(除非查询参数 `include_deleted=true`,且仅管理员可用)
- 搜索结果按 `created_at` 降序排列
---
## 数据模型
### User 实体
| 字段 | 类型 | 约束 | 说明 |
|------|------|------|------|
| id | UUID | PK, 默认 gen_random_uuid() | 主键 |
| username | VARCHAR(32) | UNIQUE, NOT NULL | 用户名 |
| email | VARCHAR(255) | UNIQUE, NOT NULL | 邮箱 |
| password_hash | VARCHAR(255) | NOT NULL | bcrypt 哈希 |
| display_name | VARCHAR(100) | - | 显示名称 |
| role | user_role ENUM | NOT NULL, DEFAULT 'viewer' | 角色 |
| status | user_status ENUM | NOT NULL, DEFAULT 'active' | 状态 |
| avatar_url | TEXT | - | 头像 URL |
| created_at | TIMESTAMPTZ | NOT NULL, DEFAULT NOW() | 创建时间 |
| updated_at | TIMESTAMPTZ | NOT NULL, DEFAULT NOW() | 更新时间 |
| deleted_at | TIMESTAMPTZ | - | 软删除时间 |
### 索引
- `idx_users_username` (username) — 唯一索引,用于登录查找
- `idx_users_email` (email) — 唯一索引,用于邮箱查找
- `idx_users_status` (status) — 用于按状态筛选
- `idx_users_role` (role) — 用于按角色筛选
- `idx_users_created_at` (created_at DESC) — 用于排序
---
## 安全要求
- 所有端点均需 JWT 认证(`Authorization: Bearer <token>`)
- 密码字段永远不返回给客户端
- `password_hash` 字段永远不包含在序列化输出中
- 请求速率限制:每 IP 100 次/分钟(用户创建端点 10 次/分钟)
- CORS 仅允许白名单域名
- 所有输入需做 XSS 和 SQL 注入防护
- 配置 OpenSpec 项目
编辑 openspec.yaml:
# OpenSpec 项目配置
version: "1.0"
name: my-api-project
description: User Management API Service
# 规格文件路径
specs:
paths:
- specs/api/**/*.spec.md
- specs/models/**/*.schema.json
- specs/workflows/**/*.flow.md
# 代码生成配置
generation:
output_dir: src/
language: typescript
framework: express
orm: drizzle
database: postgresql
# 校验规则
validation:
# 代码生成后自动运行校验
auto_validate: true
rules:
# 确保所有端点都有实现
- rule: endpoint_coverage
severity: error
# 确保数据模型与 Spec 一致
- rule: schema_consistency
severity: error
# 确保业务规则被正确实现
- rule: business_rules
severity: warning
# Claude Code 配置
claude:
# Claude Code 读取的上下文文件
context_file: CLAUDE.md
# 在 task 执行前自动加载 Spec
auto_load_specs: true
# 自定义指令模板
templates:
generate: "根据 spec 文件 {{spec}} 生成完整的实现代码"
review: "审查代码 {{files}} 是否符合 spec {{spec}} 的定义"
update: "根据 spec 变更 {{diff}} 更新对应的实现代码"
5.1.4 开发循环
1. 先编写需求相关的提示词(prompt)或需求文件
2. 然后使用`/opsx:explore` 命令,让ai读取你的提示词文件,多轮会话明确需求
3. 执行`/opsx:proposal` 创建变更提案
4. 提案创建好使用 `/opsx:apply` 根据上面生成的提案,让cc执行代码开发
5. 执行`/opsx:archive` 提案归档
5.2 推荐 Skill 与 Plugin
除了上文提到的 karpathy-guidelines(行为约束),以下是一些实用的 Skill/Plugin:
| 名称 | 类型 | 说明 |
|---|---|---|
code-review |
Skill | 对当前变更进行代码审查,按严重程度分级 |
simplify |
Skill | 审查代码的复用性、简洁性和效率,自动修复 |
verify |
Skill | 运行应用验证代码变更是否真正生效 |
security-review |
Skill | 对当前分支的变更进行安全审查 |
run |
Skill | 自动启动项目并截图验证功能 |
frontend-design |
Plugin | 前端 UI 设计辅助 |
rust-analyzer-lsp |
Plugin | Rust 语言 LSP 支持 |
提示:Skill 和 Plugin 越多,每次会话注入的上下文也越多,token 消耗相应增加。建议按需启用,不要贪多。
安装方式:
# Plugin 通过官方 marketplace 安装
/plugin install <plugin-name>@claude-plugins-official
# 第三方 marketplace 需要先注册
/plugin marketplace add <marketplace-url>
/plugin install <plugin-name>@<marketplace-name>
6. Superpowers:让 AI 写出可靠代码的 Skill 套件(这段AI写的比较啰嗦)
6.1 什么是 Superpowers
Superpowers 是 Jesse Vincent(obra)团队开发的一套 Claude Code Skill 集合,核心理念是用工程纪律约束 AI,让它从"写得快"变成"写得可靠"。
模糊需求 ──→ Brainstorming ──→ Writing Plans ──→ Subagent 执行
↓
TDD 循环
↓
审查验证
Superpowers 与传统 AI 编码的区别:
| 维度 | 传统方式 | Superpowers |
|---|---|---|
| 需求处理 | 直接开工,边写边改 | 先用 brainstorming 明确需求 |
| 任务分解 | AI 自行判断,容易跑偏 | 拆成 2-5 分钟的小任务,精确到文件路径 |
| 代码质量 | 依赖事后 review | TDD 驱动,先写测试再写代码 |
| 调试方式 | 猜原因、反复试 | 系统性调试 + 根因追溯 |
| 验证 | 靠人肉看 | 每个任务有验证步骤,禁止跳过 |
| 上下文管理 | 一个会话干到底 | 每个任务用独立 subagent,上下文干净 |
6.2 安装
# 方式一:通过官方 marketplace 安装(推荐)
/plugin install superpowers@claude-plugins-official
# 方式二:通过 Superpowers 自有 marketplace
/plugin marketplace add obra/superpowers-marketplace
/plugin install superpowers@superpowers-marketplace
安装后执行 /reload-plugins 即可生效。
6.3 核心 Skill 详解
brainstorming — 需求澄清(苏格拉底式提问)
当你只有一个模糊的想法时,用这个 skill 和 AI 对话。它会像苏格拉底一样持续追问,帮你理清:
- 到底要做什么
- 边界在哪里
- 有哪些隐含假设
# 启动后,AI 会进入提问模式,多轮对话直到需求明确
/brainstorm 我想给用户系统加个权限管理
writing-plans — 写执行计划
需求明确后,将任务拆解为 2-5 分钟 的小步骤,每步包含:
- 精确的文件路径
- 具体的操作描述
- 验证方式(怎么判断做完了)
/write-plan
executing-plans — 按计划执行
严格按 writing-plans 的步骤逐条执行,每完成一步就验证一步。
/execute-plan
subagent-driven-development — 子 Agent 驱动开发
每个任务启动全新的 subagent,配合 两阶段审查:
- 子 agent 执行任务 → 提交代码
- 审查 agent 检查变更 → 通过则合并,不通过则打回
好处:每个 subagent 上下文干净,不会受到历史对话干扰。
test-driven-development — TDD 红绿重构
严格遵循 RED → GREEN → REFACTOR 循环:
- RED:先写一个失败的测试
- GREEN:用最少代码让测试通过
- REFACTOR:在测试保护下重构
systematic-debugging — 系统性调试
不是"感觉问题出在这里"地瞎试,而是:
- 先看日志和错误信息
- 用二分法缩小范围
- 确认根因后再修
root-cause-tracing — 根因追溯
禁止治标不治本。每修一个 bug 必须追溯到根本原因,而不是加个 try-catch 掩盖问题。
verification-before-completion — 完成前验证
每个任务完成后必须运行验证,不通过不能标记为完成。
requesting-code-review — 请求代码审查
按严重程度分级的代码审查:
- Critical:阻塞性问题,必须修复
- Warning:建议修复
- Info:可选改进
using-git-worktrees — Git Worktree 隔离
每个任务在独立的 git worktree 中执行,任务之间完全隔离,不会互相干扰。完成后 worktree 自动清理。
writing-skills — 编写你自己的 Skill
Superpowers 提供了一套编写自定义 Skill 的方法论。你可以把团队的最佳实践沉淀成可复用的 skill 文件。
6.4 标准开发工作流
┌──────────────────────────────────────────────────────────────────┐
│ Superpowers 标准开发循环 │
├──────────────────────────────────────────────────────────────────┤
│ │
│ ① /brainstorm │
│ 模糊想法 → 苏格拉底式追问 → 明确需求 │
│ │ │
│ ▼ │
│ ② /write-plan │
│ 拆解为 2-5 分钟的小任务,精确到文件路径 │
│ │ │
│ ▼ │
│ ③ /execute-plan │
│ 每个任务用独立 subagent 执行 │
│ │ │
│ ┌────┴────┐ │
│ │ │ │
│ ▼ ▼ │
│ TDD 循环 直接实现(简单任务) │
│ │ │ │
│ ├─────────┘ │
│ ▼ │
│ ④ 验证 (verification-before-completion) │
│ │ │
│ ┌────┴────┐ │
│ │ │ │
│ 通过 失败 → 系统性调试 → 修复 │
│ │ │
│ ▼ │
│ ⑤ 代码审查 (requesting-code-review) │
│ │ │
│ ┌────┴────┐ │
│ │ │ │
│ 通过 有问题 → 修复 → 再审查 │
│ │ │
│ ▼ │
│ ⑥ 归档 / 合并 │
│ │
└──────────────────────────────────────────────────────────────────┘
6.5 Superpowers 生态
除了核心 skill 套件,Superpowers 社区还提供:
| 插件 | 说明 |
|---|---|
superpowers-chrome |
通过 Chrome DevTools Protocol 直接操控浏览器,零依赖 |
superpowers-developing-for-claude-code |
开发自定义 Plugin / Skill / MCP Server 的工具集 |
episodic-memory |
增强型记忆管理,让 AI 记住跨会话的上下文 |
private-journal-mcp |
私人日记 MCP 服务器 |
6.6 使用建议
- 不是每个任务都需要全套流程。简单修个 typo 直接让 Claude 做就行,复杂功能开发才走 brainstorming → plan → execute 流程。
- TDD 是 Superpowers 的灵魂。刚开始可能觉得慢,但习惯了会发现整体效率更高——因为返工大幅减少。
- Subagent 隔离是精髓。每个任务独立上下文,不会出现"聊着聊着 AI 忘了最初要干嘛"的情况。
- 可以只取部分 skill 用。比如只用 brainstorming + writing-plans,或者只用 test-driven-development,按需组合。
7. openspec+superpowers组合用法
- 考提示词:
## TASK STEP
### Explore phase(/opsx:explore)
- Trigger: 功能需求会话结束时,评估业务理解与改动是否全面
- Branch:
- IF 逻辑清晰 OR 简单编辑/修复 -> 提示退出explore,直接执行。
- IF 方案不明确 -> 建议使用 '/superpowers:brainstorming'细化方案。
- Note:最终执行或提变更提案由用户决定
### Knowledge Retention
- Trigger: 成功完成开发任务(or其他)
- Condition: 任务具有复用价值 OR 包含易错配置细节 OR 问题排查完成。
- Action: 建议用户沉淀记录到`.claude/LEARNINGS.md`
...
spec不能隐式触发superpowers的头脑风暴,两者是独立的插件,所以我用提示词讨巧的使用!
更多推荐



所有评论(0)