ByteNoteByteNote

字节笔记本

2026年8月29日

三步让 Claude Code 吃透代码库:/init 和 Deep Graph MCP

API中转
¥120

刚接手一个陌生仓库时,Claude Code 最容易卡在「不知道从哪读起」。先跑一遍 /init 把项目约定写进 CLAUDE.md,再挂上 Deep Graph MCP,让它用代码图谱做语义检索和依赖分析,比纯靠文件树摸索稳得多。

先说清两件事各自干什么

/init 是 Claude Code 自带的初始化斜杠命令。它会扫一遍仓库,生成(或改进)项目根目录的 CLAUDE.md:构建命令、测试方式、目录约定之类。之后每次开新会话,这些说明都会进上下文。

Deep Graph MCP(包名 mcp-code-graph,CodeGPT / DeepGraph 提供)是另一层能力。它把仓库建成代码知识图谱,给 Claude 多几个工具:按自然语言搜功能、看直接依赖、拉完整实现、查改一处会波及谁。公开库可以免账号;私有库要走 CodeGPT 的 API Key。

两者叠起来的大致路径是:先用 /init 定「怎么协作」,再用图谱定「代码长什么样」。

第一步:用 /init 打底 CLAUDE.md

在项目根目录启动 Claude Code,然后执行:

bash
cd your-project
claude

会话里输入:

/init

Claude 会分析仓库并写出一份起步用的 CLAUDE.md。若文件已存在,它通常会建议增量改动,而不是整份覆盖。

写进文件的内容尽量具体、可核对,例如:

  • 用什么包管理器、怎么跑测试
  • 关键目录放哪里、禁止随便动哪些目录
  • 提交前要跑的检查

官方建议单份 CLAUDE.md 尽量控制在大约 200 行以内。太长会占上下文,也更容易被忽略。多步骤流程更适合做成 Skill;只对某类文件生效的规则,可以放进 .claude/rules/ 并用 paths 限定。

需要交互式、分阶段的初始化时,可以打开环境变量 CLAUDE_CODE_NEW_INIT=1,再跑 /init。它会问你要不要一并准备 skills、hooks,并在真正写文件前给你确认。

初始化完成后,在会话里跑 /context,确认 Memory files 里能看到这份 CLAUDE.md

第二步:挂上 Deep Graph MCP

公开仓库(不用登录)

把任意公开 GitHub 仓库的域名换成 deepgraph.co,就能打开对应的公开图谱。例如:

  • GitHub:https://github.com/username/repo
  • DeepGraph:https://deepgraph.co/username/repo

在 Claude Code 里用仓库引用挂上 MCP:

bash
claude mcp add "Deep Graph MCP" npx -- -y mcp-code-graph@latest username/repository-name

也可以一次挂多个公开库:

bash
claude mcp add "Deep Graph MCP" npx -- -y mcp-code-graph@latest username/repo1 username2/repo2

私有图谱(需要 CodeGPT 账号)

  1. app.codegpt.co 注册并上传仓库到 Code Graph
  2. 在 API Keys 页面拿到 CODEGPT_API_KEY
  3. 按需准备 CODEGPT_ORG_IDCODEGPT_GRAPH_ID

然后:

bash
claude mcp add "Deep Graph MCP" npx -- -y mcp-code-graph@latest CODEGPT_API_KEY CODEGPT_ORG_ID CODEGPT_GRAPH_ID

想让同事共用同一份项目级配置,加上 -s project

bash
claude mcp add -s project "Deep Graph MCP" npx -- -y mcp-code-graph@latest username/repository-name

装好后自检:

bash
claude mcp list
claude mcp get "Deep Graph MCP"

Deep Graph 实际给了哪些工具

挂上之后,常见工具包括:

工具用途
list-graphs列出可用图谱
nodes-semantic-search用自然语言搜功能节点
docs-semantic-search语义搜文档
get-code按图谱取某段功能的完整源码
find-direct-connections看直接关联
get-usage-dependency-links改一处会影响谁
folder-tree-structure拉目录树

你可以在对话里直接说需求,例如:

text
用 Deep Graph 找出认证相关逻辑
改 UserService 会波及哪些调用方
列出这个仓库的 API 入口

第三步:把图谱分析和斜杠命令绑在一起(可选)

mcp-code-graph 仓库里带了一套 .claude/commands/,可以把多步图谱查询收成项目斜杠命令。拷到你的项目根目录:

bash
cp -r /path/to/mcp-code-graph/.claude/ /path/to/your/project/
git add .claude/commands/
git commit -m "Add Deep Graph MCP slash commands"

仓库级分析示例:

text
/project:analyze-architecture
/project:security-audit
/project:repository-onboarding
/project:technical-debt-analyzer

带参数的示例:

text
/project:migration-planner React to Vue.js
/project:performance-optimizer DatabaseService.getUserData
/project:component-onboarding authentication system

这类命令适合「刚进组、要快速摸清架构」或「大改前先做影响面盘点」的场景。

推荐的日常用法

  1. 新仓库首日/init → 核对 CLAUDE.md → 挂 Deep Graph MCP → /project:repository-onboarding(若已拷命令)
  2. 改关键模块前:先问依赖影响面,再动手改文件
  3. 和本地记忆配合CLAUDE.md 写团队约定;图谱负责结构事实;个人偏好可以放 CLAUDE.local.md(记得进 .gitignore

没有图谱时,Claude Code 仍能靠读文件和搜索工作;有了图谱之后,跨文件的「谁依赖谁」「这段功能完整实现在哪」会更容易一次问清。

常见坑

  • 只挂了 MCP、没核对 CLAUDE.md:图谱再强,构建命令和约定写错,照样会跑偏。先 /init,再图谱。
  • 公开库写成了私有参数:公开库用 username/repo;私有库才需要 API Key / Org / Graph ID。
  • 命令装了但会话里看不到 MCP:跑 claude mcp list,确认名称和 npx 参数没写错;必要时重开会话。
  • 指望图谱替代测试:依赖分析能提示影响面,不能代替跑测试和 code review。

参考链接

分享: