1 分•作者: mrbutttons•24 天前
TLDR:
AI 智能体通过使用 grep/find/glob 等工具对代码库进行暴力搜索来理解代码。而这个 CLI 工具则查询你代码库依赖关系图的本地 SQLite 数据库,从而为智能体提供准确的上下文信息,使其在第一次尝试时就能制定出更好的方案。
过去 6 个月里,我一直在用 Claude Code 进行工作,感觉很棒。我的工作流程非常典型:启动 Claude Code > 在计划模式下开始规划我的功能 > 实现。然后,我只需要观察工作进展,偶尔在它偏离轨道时进行引导(这种情况并不常发生)。
但由于 Claude Code 存在“失忆症”,而且你只能在 CLAUDE.md 文件中放入有限的内容,它总是会先通过暴力搜索代码库来理解它。通常,它会先选择一个入口点,然后向上追溯。
因此,我最终构建了这个简单的 CLI 工具,旨在供你的 AI 智能体使用,你可以将其放入任何项目中(只要你的语言有 SCIP 索引器)。
它使用 SCIP 对你的代码库进行索引,然后 CLI 将其转换为 SQLite 数据库。所有命令都只是对查询的封装,你也可以直接查询数据库。SCIP 实际上并不适用于文档和通用文本文件,我在 CLI 中为此添加了一个索引器(这个索引器有点不稳定,是我最近添加的)。
设置方法:
1. 在你的系统中安装 CLI。
2. 为你的语言安装 SCIP 索引器。
开始在项目中使用它:
1. 在你的智能体记忆文件中添加代码片段,告诉它在进行代码探索时优先使用 dora 而不是其他工具。
2. 添加技能文件以获取更详细的用法说明。
3. 添加钩子,在会话开始和每轮结束时在后台运行索引器。
我一直在用它进行主要工作,并根据我发现的改进空间进行调整。我的想法是保持它尽可能简洁。我能够第一次就获得不错的方案。
了解更多:
网站 - [https://dora-cli.dev/](https://dora-cli.dev/)
GitHub - [https://github.com/butttons/dora](https://github.com/butttons/dora)