告别重复编码:Claude Code 自动化开发全流程详解——启航篇-00

0、环境准备

1)Claude Code 安装

首先确保电脑安装了Node.js且版本大于等于18,如果没有安装请根据自己的电脑系统选择安装命令: Windows

shell 复制代码
# Download and install Chocolatey:
powershell -c "irm https://community.chocolatey.org/install.ps1|iex"

# Download and install Node.js:
choco install nodejs --version="22.20.0"

# Verify the Node.js version:
node -v # Should print "v22.20.0".

# Verify npm version:
npm -v # Should print "10.9.3".

Mac

shell 复制代码
# Download and install nvm:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash

# in lieu of restarting the shell
\. "$HOME/.nvm/nvm.sh"

#设置nvm镜像
export NVM_NODEJS_ORG_MIRROR=https://mirrors.tuna.tsinghua.edu.cn/nodejs-release/

# Download and install Node.js:
nvm install 22

# Verify the Node.js version:
node -v # Should print "v22.20.0".

# Verify npm version:
npm -v # Should print "10.9.3".

Linux

shell 复制代码
# Download and install nvm:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash

# in lieu of restarting the shell
\. "$HOME/.nvm/nvm.sh"

# Download and install Node.js:
nvm install 22

# Verify the Node.js version:
node -v # Should print "v22.20.0".

# Verify npm version:
npm -v # Should print "10.9.3".

安装完成之后记得设置node的镜像地址

shell 复制代码
npm config set registry <镜像源地址>

下面给出几个常用的国内镜像源,按照自己的喜好任选其一选择就好:

shell 复制代码
# 淘宝
npm config set registry https://registry.npmmirror.com
# 腾讯云
npm config set registry http://mirrors.cloud.tencent.com/npm/
# 华为云
npm config set registry https://mirrors.huaweicloud.com/repository/npm/

当把Node环境安装完成之后执行下面这个命令

shell 复制代码
npm install -g @anthropic-ai/claude-code

等到安装完成之后在终端输入

复制代码
claude

终端输出如下信息证明安装成功

2)配置

第三方配置

因为由于某些原因国内无法正常访问 Claude,所以可以通过第三方中转站或者使用国产的模型进行替代,下面给出个人在编写代码中常用几个第三方中转站/国产模型的切换脚本。如果需要使用 AnyrRuter 进行中转转发可以使用https://anyrouter.top/register?aff=1AR2这个链接进行注册。

shell 复制代码
#!/bin/zsh

# 配置文件路径

CONFIG_FILE="$HOME/.zshrc"

START_MARKER="# Added by anthropic-config-switcher - START"

END_MARKER="# Added by anthropic-config-switcher - END"

# 显示菜单选项

echo "请选择要使用的 Anthropic API 配置:"

echo "1) Kimi (默认)"

echo "2) Qwen"

echo "3) AnyRouter"

echo "4) GLM-4.5"

echo "5) kat-coder"

echo "6) 清除配置"

echo "7) 退出"

# 读取用户选择 - 使用兼容 macOS 的方式

read "choice?请输入选项编号 (1-7): "

echo

# 清除旧配置

echo "正在清除旧配置..."

# 使用临时文件处理多行删除

TEMP_FILE=$(mktemp)

awk -v start="$START_MARKER" -v end="$END_MARKER" '

BEGIN { skip = 0 }

{

    if ($0 == start) skip = 1

    if (!skip) print

    if ($0 == end) skip = 0

}' "$CONFIG_FILE" > "$TEMP_FILE"

mv "$TEMP_FILE" "$CONFIG_FILE"

# 处理用户选择

case $choice in

    1)

        echo "已选择 Kimi 配置"

        cat << EOF >> "$CONFIG_FILE"

$START_MARKER

export ANTHROPIC_AUTH_TOKEN=

export ANTHROPIC_BASE_URL=https://api.moonshot.cn/anthropic

$END_MARKER

EOF

        ;;

    2)

        echo "已选择 Qwen 配置"

        cat << EOF >> "$CONFIG_FILE"

$START_MARKER

export ANTHROPIC_AUTH_TOKEN=""

export ANTHROPIC_BASE_URL="https://dashscope.aliyuncs.com/api/v2/apps/claude-code-proxy"

$END_MARKER

EOF

        ;;

    3)

        echo "已选择 AnyRouter 配置"

        cat << EOF >> "$CONFIG_FILE"

$START_MARKER

export ANTHROPIC_AUTH_TOKEN=

export ANTHROPIC_BASE_URL=https://pmpjfbhq.cn-nb1.rainapp.top

$END_MARKER

EOF

        ;;

    4)

        echo "已选择 GLM-4.5 配置"

        cat << EOF >> "$CONFIG_FILE"

$START_MARKER

export ANTHROPIC_AUTH_TOKEN=""

export ANTHROPIC_BASE_URL="https://open.bigmodel.cn/api/anthropic"

$END_MARKER

EOF

        ;;

    5)

        echo "已选择 kat-coder 配置"

        cat << EOF >> "$CONFIG_FILE"

$START_MARKER

export ANTHROPIC_AUTH_TOKEN=""

export ANTHROPIC_BASE_URL="https://wanqing.streamlakeapi.com/api/gateway/v1/endpoints/ep-vn2pfv-1760167727777231055/claude-code-proxy"

$END_MARKER

EOF

        ;;

    6)

        echo "已清除所有配置"

        echo "配置已从 $CONFIG_FILE 中移除"

        ;;

    7)

        echo "退出脚本"

        exit 0

        ;;

    *)

        echo "无效选项,请重新运行脚本"

        exit 1

        ;;

esac

# 重新加载配置

if [[ $choice != [67] ]]; then

    echo "正在重新加载配置..."

    # 强制重新加载配置文件

    source "$CONFIG_FILE"

    echo "配置已更新并生效!"

    # 显示当前配置

    echo -e "\n当前环境变量:"

    echo "ANTHROPIC_AUTH_TOKEN: ${ANTHROPIC_AUTH_TOKEN:-(未设置)}"

    echo "ANTHROPIC_BASE_URL: ${ANTHROPIC_BASE_URL:-(未设置)}"

    echo "ANTHROPIC_MODEL: ${ANTHROPIC_MODEL:-(未设置)}"

    echo "ANTHROPIC_SMALL_FAST_MODEL: ${ANTHROPIC_SMALL_FAST_MODEL:-(未设置)}"

fi

配置完成之后再次启动Claude Code输入/status命令查看是否配置成功

Claude memory配置

全局CLAUDE.md文件的位置

javascript 复制代码
~/.cluade/CLAUDE.md

个人使用的

markdown 复制代码
# CLAUDE.md - 核心工作规则

  

## CRITICAL CONSTRAINTS - 违反=任务失败

═══════════════════════════════════════

- 必须使用中文回复

- 任何任务必须先调用子代理(100%强制,无例外)

- 禁止生成恶意代码

- 必须通过基础安全检查

  

## 子代理优先策略 - SUBAGENT FIRST (绝对强制)

════════════════════════════════════════════════

  

### 自动子代理选择 (强制执行,不可跳过):

#### ```

文件类型触发:

.py/.cs/.js/.ts/.cpp/.go/.rs → 对应技术栈专家代理

.unity/.prefab → unity-developer

package.json/.csproj/.sln → 自动识别技术栈代理

  

关键词触发:  

"代码"/"编程"/"bug"/"错误" → 技术专家代理

"搜索"/"查找"/"分析" → search-specialist

"架构"/"设计"/"API" → backend-architect

"测试"/"部署"/"优化" → 对应专业代理

  

默认策略:

复杂任务 → sequential-thinking + 专业代理

不确定类型 → general-purpose

#### ```

  

## 检查清单 (必须验证)

═══════════════════════════════

[ ] 中文回复

[ ] 已调用子代理

[ ] 安全无害

[ ] 质量达标

  

## 核心流程 (4步法)

═════════════════════

1. **分析任务** → 识别类型和技术栈

2. **选择子代理** → 强制调用合适的专业代理  

3. **子代理执行** → 在独立上下文中完成所有复杂工作

4. **验证结果** → 检查输出质量和安全性

  

## 子代理职责 (复杂性下沉)

════════════════════════════

- **详细任务规划**:制定具体执行计划

- **多工具协同**:在子代理内部调用所需的MCP工具

- **代码质量保证**:执行代码审查、测试、优化

- **结果验证优化**:确保输出符合最佳实践

  

---

**核心原则**:主上下文专注路由,子代理承担复杂性,保证效率和质量双重提升。

  

## 3. 工具与调研平台

### 3.0 工具矩阵概览

| 工具 | 核心职责 | Serena 联动要求 |

| --- | --- | --- |

| Serena MCP | 统一调度代码/知识工具、维护知识记忆、执行编辑操作,并提供结构化检索能力 | 所有指令由 Serena 发起并登记留痕 |

| Sequential Thinking MCP | 产出可追溯思考链,驱动后续行动决策 | 思考结论需回写 Serena 并触发对应任务计划 |

| Context7 MCP | 获取官方文档与权威资料的首选通道 | 每次检索记录关键词、版本与访问日期 |

| DeepWiki MCP | 补充社区实践与框架洞见 | 记录失败或补充检索原因,必要时反馈至 Serena 任务卡 |

  

### 3.1 Serena MCP(首选代码/知识工具)

- **接入校验**:每次启动会话先调用 `serena__activate_project`/`serena__check_onboarding_performed` 并通过 `uv run serena tools list` 或 Dashboard 交叉确认 Serena 已联通,在"前置说明"记录结果;如检测失败立即暂停任务并协调恢复方案。

- **上下文与模式策略**:依据目标选择合适的 Context/Mode(如 `codex`、`ide-assistant`、`planning`、`editing`),所有切换须在计划或知识记忆中写明动机、预期影响与回滚触发条件。

- **结构化检索主线**:执行分析与改动时严格依序使用 `serena__find_symbol` → `serena__search_for_pattern` → 编辑类工具(`serena__insert_after_symbol` 等),禁止跳过检索直接手改,必要时结合 `serena__find_referencing_symbols` 评估影响面。

- **索引维护**:首次接手项目或在大规模重构前执行 `serena project index`;结构变更后按需触发 `serena__refresh_index`,若索引失步需记录上下文并调用 `serena__clear_settings` 后重建。

- **工具巡检与扩展**:在阶段性里程碑审查 `serena tools list` 与 `--only-optional` 输出,根据任务场景启用或停用可选工具,并在计划中登记启用时机、目标与验证方式。

- **知识资产治理**:所有关键决策、验证证据通过 `serena__write_memory` 入库;周期性使用 `serena__list_memories`、`serena__think_about_collected_information` 清理过期结论,保持记忆库最新。

- **质量/指标监控**:需要评估 Serena 效能时开启 `record_tool_usage_stats` 并定期查阅 Dashboard 的调用耗时、失败率,将洞察纳入复盘与改进计划。

- **最小安全基线**:需要只读分析或外部评审时启用 `read_only: true` 限制编辑工具,结束后恢复默认并记录窗口与影响。

- **故障处置与降级**:遇到工具异常时按照"记录上下文 → `serena__refresh_index`/`serena__check_temp_directory` → `serena__clear_settings`"顺序排障,若仍失败,在计划中登记风险并按治理流程启用人工替代方案。

  

### 3.2 Sequential Thinking MCP

  

- **必填字段**:每次调用均需补全 `thought`、`next_thought_needed`、`thought_number`、`total_thoughts` 等核心参数,保持序号单调递增并视实际情况动态调整 `total_thoughts`。

- **分支治理**:探索替代路径时配合 `branch_from_thought` + `branch_id`,修订历史则使用 `is_revision` + `revises_thought`,保证思考链路可追踪。

- **上下文回写**:充分利用 `current_step`、`previous_steps`、`remaining_steps` 保存优先级、期望产出与后续条件,便于在计划工具与执行工具之间同步。

- **工具推荐落地**:对 `recommended_tools` 返回的置信度、优先级与替代项逐一响应,先在 plan 中备案再执行,防止遗漏重要建议。

- **记忆控管**:定期清理历史记录或总结关键结论,避免长链导致上下文漂移,同时保留关键节点供复盘复用。

  

### 3.3 Context7 MCP(upstash/context7)

- **调用顺序**:在 Codex 中始终先执行 `context7__resolve-library-id` 获取精准库 ID,再调用 `context7__get-library-docs`;可按需传入 `topic` 聚焦子领域,或通过 `tokens` 控制上下文规模。

- **检索定位**:提交查询前先在计划中记录目标与关键词,调用后将文档版本、访问日期与关键摘录写入 Serena 知识记忆。

- **用例最佳化**:优先查阅官方 API、升级指引、Breaking Changes;若检索结果与项目现状不符,需在计划中挂起风险条目并安排验证。

- **降级策略**:Context7 无法返回结果时,按顺序转向 DeepWiki,再使用 `web.run`;每次降级需在知识记忆中注明原因与时间戳。

- **上下文控制**:避免一次性拉取过长文档,拆分为多个聚焦请求,并在连续调用间同步当前进展至 `update_plan`。

  

### 3.4 DeepWiki MCP

- **定位场景**:当 Context7 未覆盖或需要社区最佳实践时调用 DeepWiki,优先核对仓库星级、活跃度与最近提交日期。

- **工具组合**:根据需求选择 `deepwiki__read_wiki_structure` 定位章节,`deepwiki__read_wiki_contents` 获取详情,或用 `deepwiki__ask_question` 快速提取关键信息,并在调用日志中注明所用接口。

- **提问策略**:问题描述需包含目标、失败症状与上下文关键词,必要时拆分多个短问题,减少歧义并提升命中率。

- **输出管理**:整理出的经验、代码片段或风险提示需回写 Serena 知识记忆,注明仓库地址、访问日期与可靠性评估。

- **合规界限**:仅检索公共资料;涉及私有或授权仓库时,需在计划中记录审批链路并等待用户确认后再行操作。

  

### 3.5 外部检索与降级

  

- **降级路径**:仅在 Context7 与 DeepWiki 均失败或不适用时使用 `web.run` 等公开渠道,并说明触发原因。

- **退避策略**:遵循 HTTP 429 退避 20s、5xx/超时 2s 后至多重试一次的规范,超限时提供保守答案与下一步建议。

- **数据留痕**:详实记录检索语句、筛选条件、访问日期、失败情况及链接,统一回填 Serena。

- **敏感控制**:禁止上传内部信息或受限文件,下载资料前确认版权与合规要求。

  

### 3.6 工具留痕与知识治理

  

- 所有关键决策、证据与复盘必须以 Serena 知识记忆条目形式实时归档,禁止在仓库目录或线下介质存放;如需引用外部文件,应在 Serena 中登记链接、校验和与最后验证日期。

- 重要知识需定期复核并删除过期或失效条目,确保记忆库保持最新状态且可审计。

  

### 3.7 AI 本地自动验证工具链

- 验证活动须通过 AI 驱动的本地自动执行(如 Serena `execute_shell_command` 配合脚本编排)完成,禁止依赖远端 CI 服务。

- 需维护标准化的本地验证脚本模板,并在 Serena 记录脚本版本、验证频率和适用范围。

- 若本地自动执行失败,应立即记录原因、调整脚本并在 Serena 更新处置结果。

  

### 3.8 轻量观测方案

- 严禁引入 Prometheus、OpenTelemetry 及其衍生组件,现有部署必须拆除并迁移至轻量化替代方案(如本地日志轮转、简单指标聚合脚本、脚本化健康检查)。

- 替代方案需确保数据可导出、可回溯,并在 Serena 登记运行方式、采样频率与维护人。

- 如需可视化,优先选用现有开源工具的简化模式(如静态报表生成),禁止搭建复杂链路。

  

## 4. 标准工作流

### 4.1 最小循环

1. Research:先通过 Sequential Thinking MCP 输出可追溯思考链,再由 Serena 协调必要的本地检索与结构分析,过程中借助 `serena__find_symbol`、`serena__search_for_pattern` 等结构化检索接口定位代码上下文,随后按 Context7 → DeepWiki → 其他渠道的顺序补充外部证据,并依 2.5 操作留痕实时写入 Serena。

2. Plan:通过 `update_plan` 或 `TodoWrite` 维护步骤、状态与验收标准。

3. Implement:小步提交,保持最小变更并补充中文文档/注释。

4. Verify:由 AI 驱动的本地自动执行流程运行必要的构建、测试、性能与回归检查,并将结果同步至 Serena。

5. Deliver:总结变更、风险、验证结果,按 2.5 操作留痕要求实时写入 Serena 知识记忆并清理过期记录。

MCP配置

json 复制代码
{
"mcpServers": {

    "serena": {

      "type": "stdio",

      "command": "serena",

      "args": [

        "start-mcp-server",

        "--context",

        "codex",

        "--project",

        "."

      ],

      "env": {}

    },

    "context7": {

      "type": "stdio",

      "command": "npx",

      "args": [

        "-y",

        "@upstash/context7-mcp"

      ],

      "env": {}

    },

    "sequential-thinking": {

      "type": "stdio",

      "command": "npx",

      "args": [

        "-y",

        "@modelcontextprotocol/server-sequential-thinking"

      ],

      "env": {}

    },

    "playwright": {

      "type": "stdio",

      "command": "npx",

      "args": [

        "@playwright/mcp@latest"

      ],

      "env": {}

    },

    "mcp-server-time": {

      "type": "stdio",

      "command": "uvx",

      "args": [

        "mcp-server-time",

        "--local-timezone=Asia/Shanghai"

      ],

      "env": {}

    },

    "mcp-deepwiki": {

      "type": "stdio",

      "command": "npx",

      "args": [

        "-y",

        "mcp-deepwiki@latest"

      ],

      "env": {}

    },

    "ddg-search": {

      "type": "stdio",

      "command": "uvx",

      "args": [

        "duckduckgo-mcp-server"

      ],

      "env": {}

    }

  }
}
  • serena : 这是一个功能强大的开源AI编码代理工具包,作为MCP服务器运行 。它通过提供语义检索和编辑功能,将LLM转变为能够在您的代码库上直接工作的全功能智能体 。其上下文(--context codex)表明它专为与Codex CLI集成而设计 。
  • context7: 此服务器是Context7 API的一个非官方MCP接口 。它充当桥梁,允许MCP兼容的客户端访问Context7的服务。
  • sequential-thinking: 这个MCP服务器提供了一种结构化的思考过程,帮助分解复杂问题、跟踪推理链并进行动态和反思性的问题解决 。
  • playwright: 这是一个利用Playwright浏览器自动化能力的MCP服务器 。它使LLM能够与网页进行交互,执行诸如导航、抓取内容和模拟用户操作等任务 。
  • mcp-server-time : 一个提供时间和时区转换功能的MCP服务器。它使LLM能够获取当前时间信息(根据配置的Asia/Shanghai时区)并执行相关操作 。
  • mcp-deepwiki: 这个MCP服务器集成了DeepWiki或Sonar API,旨在为AI助手(如Claude)提供对GitHub仓库文档的访问权限和搜索能力,从而增强代码理解,并能进行实时的网络范围研究 。
  • ddg-search: 一个通过DuckDuckGo提供网络搜索功能的MCP服务器 。它不仅返回搜索结果,还具备内容抓取和解析的附加功能,为LLM提供最新的网络信息 。
相关推荐
feixiangyuncai3 小时前
Bentley软件迎新任首席营销官,驱动AI营销新动力
人工智能·智慧城市·能源·交通物流
MARS_AI_4 小时前
云蝠智能VoiceAgent 9月升级概览:从功能交互到用户体验
人工智能·自然语言处理·交互·信息与通信·agi
飞哥数智坊4 小时前
“狗都不用”的 Cursor Auto 模式,竟靠 Plan Mode 真香回归?
人工智能·ai编程·cursor
Mr.Winter`4 小时前
深度强化学习 | 基于SAC算法的动态避障(ROS C++仿真)
人工智能·深度学习·神经网络·机器人·自动驾驶·ros·具身智能
东方芷兰4 小时前
LLM 笔记 —— 07 Tokenizers(BPE、WordPeice、SentencePiece、Unigram)
人工智能·笔记·深度学习·神经网络·语言模型·自然语言处理·nlp
hqyjzsb4 小时前
2025 年项目管理转型白皮书:AI 驱动下的能力重构与跨域突破
开发语言·人工智能·重构·产品经理·编程语言·caie
Juchecar4 小时前
大模型开源闭源之前景分析
人工智能
萤丰信息4 小时前
从超级大脑到智能毛细血管:四大技术重构智慧园区生态版图
java·人工智能·科技·重构·架构·智慧园区