代码库知识工具的选型
一、先分清三个不同诉求
| 诉求 | 工具 | 输出 |
|---|---|---|
| 沟通用的架构图 | Archify(agent skill) | 单文件交互式 HTML 图,5 种图型 |
| 人能读的 wiki 文档 | DeepWiki-Open / OpenDeepWiki / KT Studio | 多页文档站(+ 图 / 思维导图 / 聊天) |
| 让 agent 快速了解项目且随改动更新 | GitNexus | 知识图谱索引 + 由它生成的 wiki |
- Archify 只是可视化,不是 wiki:定位是「把技术意图变成沟通产物」,没有篇章、没有搜索索引、没有持续更新。
- 同名要小心:官方 DeepWiki(
deepwiki.com,以及 MCP 服务)是闭源 SaaS,只认公开 GitHub 仓库,私有项目用不了;DeepWiki-Open是借用名字的 MIT 开源自部署复刻,可传私有仓库 token 或直接处理本地代码。两者不是一回事。 - 「活的 wiki」的关键是增量机制:
gitnexus analyze建图后自动 reindex(代码一变图就更新),gitnexus wiki从图重新生成 wiki(几秒);OpenDeepWiki 自带 scheduled incremental update pipeline,最接近"wiki 自己会更新",但要在后台常驻 docker 服务。生成一次不难,"跟着改"才难。 - 别浪费已有资产:项目的
.trellis/spec/+ agent 强加载的AGENTS.md本身就是"让 agent 了解项目"的活机制,wiki 可以视为它的人读界面,两者叠加才是完整答案。
二、顺带确认的两个事实
- agent skill 装在项目
.agents/skills/的意义:该 agent 每次会话启动扫描此目录,skill 的description进可用技能列表,配套 CLI/renderers 一起生效;只对本项目生效、随 git 走(团队共享)。~/.config/opencode/skills/之类全局目录才是所有项目通用。 .agents/skills/的受众:Codex CLI 会读(这是它的官方技能目录),Claude Code 不读(只认~/.claude/skills/)。想让某 skill 只归 opencode,得放.opencode/skills/;但若该目录本身是指向.agents/skills的软链,就做不到项目级独占。
相关
- skill跨agent加载差异 —— 同一目录下的加载规则差异
- 项目里的技能可能有多份副本 —— 多副本带来的漂移
- 知识库先编译再查而不是查询时拼原文 —— 同类:先建索引再消费
- 活的能力取决于增量机制而不是生成质量 —— 选型判据:比「生成得怎么样」更该比「怎么跟着代码变」