我在 vibe coding 的过程经常要在同一个项目中增加多个会话,
比如同一个项目开发不同的功能,或者让专门的会话去做部署运维的相关工作,
这里就涉及到智能体经常需要反复读取项目代码,尤其是开发的时候,我还会担心新会话会不小改了不相干的代码,把正常的代码改坏。
然后我习惯在每个新会话里面,在开发功能之前写一句“先熟悉这个项目,熟悉好回复我完成即可”
但是长期这样依然存在问题:
1.浪费 token
2.多个会话开发多次之后依然可能出现乱改代码的情况。
然后我做个了 codex 插件,让它在省 token 的前提下帮我来管理不同会话对项目的最新理解。
它的自我介绍:
Project Map 是一个零依赖的 Codex 插件,可以自动遍历项目目录,分析代码模块关系、入口、类、函数及依赖树,并生成 Markdown 项目地图。
它会通过 Git commit 和 SHA-256 文件指纹验证地图是否过期,并支持增量更新:只重新分析新增或修改的文件,复用未变化文件的缓存。地图只作为导航索引,修改代码前仍会要求读取当前源码。
GitHub: https://github.com/fankcoder/project-map
目前仅支持 Python 、JavaScript 和 TypeScript 后续会更新支持更多的语言
安装为 Codex 插件的方法
先注册仓库 marketplace:
codex plugin marketplace add https://github.com/fankcoder/project-map.git
查看 marketplace:
codex plugin marketplace list
启动 Codex:
codex
然后输入:
/plugins
找到 Project Map Development ,安装 project-map 。安装后开启新的 Codex 会话。
之后可以明确要求:
使用 project-map 分析当前项目,然后开始任务。
或者显式调用:
$project-map
插件会自动:
1. 检查 .codex/project-map.md 是否存在;
2. 检查源码哈希和项目版本是否匹配;
3. 地图不存在时完整生成;
4. 地图过期时执行增量更新;
5. 先读取项目摘要和变更摘要;
6. 再定位相关模块和源码;
7. 修改前重新读取当前源码,而不是盲目信任地图。
建议把项目地图加入目标仓库的 .gitignore:
.codex/project-map.md
.codex/project-map.manifest.json
如果团队希望共享架构索引,也可以不忽略它们,提交到 Git 仓库。官方插件安装规则是:通过 marketplace 安装后,需要开启新 Codex 会话才能使用插件技能。