字节笔记本
2026年8月29日
三步让 Claude Code 吃透代码库:/init 和 Deep Graph MCP
刚接手一个陌生仓库时,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,然后执行:
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:
claude mcp add "Deep Graph MCP" npx -- -y mcp-code-graph@latest username/repository-name也可以一次挂多个公开库:
claude mcp add "Deep Graph MCP" npx -- -y mcp-code-graph@latest username/repo1 username2/repo2私有图谱(需要 CodeGPT 账号)
- 在 app.codegpt.co 注册并上传仓库到 Code Graph
- 在 API Keys 页面拿到
CODEGPT_API_KEY - 按需准备
CODEGPT_ORG_ID、CODEGPT_GRAPH_ID
然后:
claude mcp add "Deep Graph MCP" npx -- -y mcp-code-graph@latest CODEGPT_API_KEY CODEGPT_ORG_ID CODEGPT_GRAPH_ID想让同事共用同一份项目级配置,加上 -s project:
claude mcp add -s project "Deep Graph MCP" npx -- -y mcp-code-graph@latest username/repository-name装好后自检:
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 | 拉目录树 |
你可以在对话里直接说需求,例如:
用 Deep Graph 找出认证相关逻辑
改 UserService 会波及哪些调用方
列出这个仓库的 API 入口第三步:把图谱分析和斜杠命令绑在一起(可选)
mcp-code-graph 仓库里带了一套 .claude/commands/,可以把多步图谱查询收成项目斜杠命令。拷到你的项目根目录:
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"仓库级分析示例:
/project:analyze-architecture
/project:security-audit
/project:repository-onboarding
/project:technical-debt-analyzer带参数的示例:
/project:migration-planner React to Vue.js
/project:performance-optimizer DatabaseService.getUserData
/project:component-onboarding authentication system这类命令适合「刚进组、要快速摸清架构」或「大改前先做影响面盘点」的场景。
推荐的日常用法
- 新仓库首日:
/init→ 核对CLAUDE.md→ 挂 Deep Graph MCP →/project:repository-onboarding(若已拷命令) - 改关键模块前:先问依赖影响面,再动手改文件
- 和本地记忆配合:
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。