开发与工程 terminal-codingdeepseek-v4prefix-cachingcross-session-memorymcpvitest

Dao Code

面向 DeepSeek V4 的终端编程助手,以前缀缓存和自校正降低长任务成本。

FollowAgents 评估 · FARS-2.1
不推荐
58/ 100 五分制 2.9 / 5
1 2 3 4 5 6
按维度查看评分与理由
1信任安全16 / 29 · 2.8/5

证据显示有权限门、审批、敏感目标保护、危险命令拦截、秘密扫描、SSRF防护、目录信任、审计日志等安全机制,但部分机制(如秘密扫描、SSRF)仅在SECURITY.md中声明,未在代码中验证。数据流透明度不足:未详细说明数据如何传输、存储和删除。依赖安全:npm audit警告均来自开发工具链,但未提供运行时依赖的漏洞扫描结果。外部影响:有审批门和沙箱选项,但默认未启用沙箱。回滚:有shadow-git检查点,但未说明恢复的可靠性。来源归属:作者为tigicion,但未验证身份。

2可靠稳定8 / 14 · 2.9/5

自一致性:README、SECURITY.md、package.json等文件描述一致,但版本号不一致(README说v0.3.0,package.json为0.4.17)。依赖可用性:依赖列表完整,但未验证所有依赖的可用性。失败消息:未提供错误处理或用户提示的示例。

3适用触发12 / 18 · 3.3/5

受众和场景:面向开发者,支持多种安装方式和使用模式。能力边界:明确列出工具和权限模式,但未说明所有限制。触发精度:命令和配置描述清晰,但未提供详细示例。环境适配:支持多平台,但未说明Windows下的特殊注意事项。

4规范维护9 / 18 · 2.5/5

信息架构:README结构清晰,但缺少详细的API文档。安装说明:提供了多种安装方式,但未验证。命名稳定性:命令名`dao`稳定,但版本号不一致。示例和FAQ:有示例,但无FAQ。已知限制:未明确列出。许可证:MIT,但版权年份为2026。版本和变更日志:有CHANGELOG.md,但未提供内容。维护责任:未明确说明维护者或贡献指南。

5有效结果9 / 13 · 3.5/5

输出可用性:提供了丰富的功能,但未验证实际输出。边际价值:相比Claude Code有成本优势,但未独立验证。成本效益:提供了成本数据,但未独立验证。

6证据核验4 / 8 · 2.5/5

声明可追溯:成本数据声称可追溯至evals/runs,但未提供具体日志。跨来源佐证:未提供第三方验证。事实与推断分离:部分声明(如成本对比)未明确区分事实和推断。

证据充分度: 评估于 2026年8月9日 审查版本 2d3ac9de5a1f
上游仓库在本次评估后已有新提交;当前评分仍对应所示审查版本,可能尚未覆盖最新改动。
使用前请注意
  • 版本号不一致:README声称v0.3.0,但package.json为0.4.17,可能造成混淆。
  • 安全机制(如秘密扫描、SSRF防护)仅在SECURITY.md中声明,未在代码中验证,实际效果未知。
  • 依赖安全:npm audit警告均来自开发工具链,但未提供运行时依赖的漏洞扫描结果。
  • 沙箱(DAO_SANDBOX)默认未启用,用户需自行开启以增强安全性。
  • 成本数据声称可追溯,但未提供具体日志,无法独立验证。
评估证据 [1][2][3][4][5][6][7]
查看完整评分方法 →

这个 Agent 能做什么,适合哪些场景?

Dao Code 是一个以 `dao` 命令运行的 TypeScript 终端编程助手,面向 DeepSeek V4 的 1M 上下文。它通过 Ink TUI 接收任务,在 agent loop 中流式调用模型,并在模型请求工具时经过审批后读写代码、执行命令和继续迭代。项目提供 24 个工具,以及持久记忆、反思层、自动压缩、会话恢复、影子 Git 检查点和 Definition-of-Done 验证等长任务机制。它可通过独立二进制、npm 或源码安装,但运行中的模型调用依赖 DeepSeek API;MCP、Skills、Hooks 和部分配置格式与 Claude Code 兼容。

用户在交互式 dao 或一次性 dao "任务" 中提交需求后,src/agent/loop.ts 调用 streamChat,流式展示推理和回答。模型可调用 read_filelist_dirgrep_filesfile_search 读取和搜索项目,使用 write_fileedit_filemulti_editnotebook_edit 修改文件,并通过 exec_shell 运行前台或后台命令;写入和执行默认需经过审批门。它还能用 todo_write 维护任务表,用 verify_done 执行 /dod 指定的验收命令,用 memory_readmemory_write 检索或记录跨会话信息,并用 agenttask_sendmessage_parent 调度子代理。会话事件写入 .dao/sessions/,大工具输出可溢写到 .dao/spill//restore 则基于独立的 .dao/shadow.git 快照回退最近一轮改动。

  1. 使用 DeepSeek API 的开发者,想在本地终端让助手阅读仓库、修改代码并运行测试。
  2. 维护大型代码库的工程师,需要在长任务中使用待办清单、自动压缩和 /dod 验收命令减少任务漂移。
  3. 需要严格控制写文件和执行 Shell 操作的团队,可在 .dao/settings.json 中配置 allowaskdeny 权限规则。
  4. 已有 Claude Code 的 settings.jsonSKILL.mdhooks.jsonmcp.json 配置,希望迁移到 DeepSeek 驱动终端工作流的用户。
  5. 要运行多项独立排查或实现工作的开发者,可通过 tasks[]、后台任务或 Git worktree 隔离的子代理执行。

这个 Agent 有哪些优点和局限?

优点
  • 围绕 DeepSeek 前缀缓存设计字节稳定前缀,并让反思和记忆在复用主缓存的 fork 中运行;/cost 可直接展示命中率与开销。
  • 默认审批门、分层 allow/ask/deny 规则和复合命令分段检查,为文件修改与 Shell 执行提供可配置控制。
  • 长任务机制较完整:会话日志恢复、独立影子 Git 快照、待办重注入、卡住检测和可执行的完成条件验证均有明确入口。
  • 支持 Skills、MCP、Hooks、自定义子代理与斜杠命令,并声明可复用 Claude Code 的相关配置格式。
局限
  • 核心模型路径明确围绕 DeepSeek V4,文档没有给出 OpenAI、Anthropic 或其他模型提供商的适配方式。
  • 实际编码能力、联网模型调用和初始配置都依赖 DeepSeek API key 与网络连接。
  • 自动批准模式 --yolo/yolo 会跳过批准;虽然 deny 规则仍生效,采用前仍需谨慎配置权限。
  • README 展示的成本与评测结果基于特定的 7 个真实开源修复任务和当时价格,不能直接视为所有仓库或任务的成本保证。

如何安装或部署这个 Agent?

可直接下载 Releases 中对应平台的二进制,或运行 curl -fsSL https://raw.githubusercontent.com/tigicion/dao-code/master/install.sh | sh。使用 npm 时需要 Node.js 20 或更高版本:npx dao-code 可试用,npm i -g dao-code 后使用 dao。也可从源码执行 git clone https://github.com/tigicion/dao-code.git && cd dao-code,然后运行 npm install && npm run build && npm link。首次执行 dao 时按提示输入 DeepSeek API key;配置会保存到 ~/.dao/config.json

如何使用这个 Agent?

启动交互式会话:dao。带 API key 的一次性调用示例:dao --api-key sk-xxx --provider deepseek "tell me a joke"。在会话中可用 /init 生成 DAO.md/mode 切换权限模式,/cost 查看 token 与缓存命中率,/compact 压缩上下文;dao -c 可恢复上次异常中断的会话。若要定义完成条件,执行 /dod <command>,再由 verify_done 运行该命令确认退出码为 0。

这个 Agent 与同类方案有什么区别?

Dao Code 的交互和扩展配置以 Claude Code 为参照,但模型目标是 DeepSeek V4。它声明可直接使用 Claude Code 格式的 settings.jsonSKILL.mdhooks.jsonmcp.json,并自动映射部分工具名;同时在所列 7 条任务 token 轨迹的重新计价中,报告其 DeepSeek 成本约为 Claude Opus 4.8 的 1/30、Claude Sonnet 4.6 的 1/18。

常见问题

需要什么凭据?
需要 DeepSeek API key。首次运行 dao 可按引导保存,或在命令中使用 --api-key 并指定 --provider deepseek
它会未经允许修改项目吗?
默认情况下,写入和执行操作经过审批门;可用 defaultacceptEditsautoplan 模式及 allow/ask/deny 规则调整。--yolo 会自动批准操作。
长任务中断后如何恢复?
每轮会写入 .dao/sessions/<id>/events.jsonl 和状态快照;异常退出后可用 dao -c 恢复最近会话。/restore 可从 .dao/shadow.git 回退最近一轮变更,不会改写项目原有 .git 历史。
一次性命令会保存跨会话记忆吗?
不会。文档说明一次性模式适合脚本,并且不会执行记忆蒸馏。

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents