代码库知识工具的选型

**给项目做「代码库知识」有三类工具,选型先看你要的是哪一种:会动的架构图(Archify)、人能读的 wiki 文档(DeepWiki-Open / OpenDeepWiki / KT Studio)、跟着代码走的活索引(GitNexus)。要"活",关键不在生成而在增量更新机制。**

一、先分清三个不同诉求

诉求工具输出
沟通用的架构图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加载差异 —— 同一目录下的加载规则差异
  • 项目里的技能可能有多份副本 —— 多副本带来的漂移
  • 知识库先编译再查而不是查询时拼原文 —— 同类:先建索引再消费
  • 活的能力取决于增量机制而不是生成质量 —— 选型判据:比「生成得怎么样」更该比「怎么跟着代码变」