Dao Code

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

Star 数
★ 787
最近更新
15 天前
License
MIT
主语言
TypeScript

30 秒速览

运行形态
命令行工具
可在哪里用
平台专用Claude Code(部分支持)
费用
软件免费,模型调用费用自付
上手难度
低 · 几分钟可跑通
开始前需要
DeepSeek API 密钥Node.js >=20(用于 npm 安装)Shell / 命令行网络访问本地文件系统MCP Server
典型场景
使用 DeepSeek API 的开发者,想在本地终端让助手阅读仓库、修改代码并运行测试。
不适合
  • 需要 OpenAI、Anthropic 等其他模型供应商的团队,核心路径只支持 DeepSeek V4
  • 要求界面以英文为主或面向英文用户的团队,项目以中文优先

这个 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_file、list_dir、grep_files、file_search 读取和搜索项目,使用 write_file、edit_file、multi_edit、notebook_edit 修改文件,并通过 exec_shell 运行前台或后台命令;写入和执行默认需经过审批门。它还能用 todo_write 维护任务表,用 verify_done 执行 /dod 指定的验收命令,用 memory_read 和 memory_write 检索或记录跨会话信息,并用 agent、task_send、message_parent 调度子代理。会话事件写入 .dao/sessions/,大工具输出可溢写到 .dao/spill/,/restore 则基于独立的 .dao/shadow.git 快照回退最近一轮改动。

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

如何安装或部署这个 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 有哪些优点和局限?

优点
  • 围绕 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 与同类方案有什么区别?

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

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 形态 / 费用 Star 最近更新 主语言 完整支持的平台
Dao Code 当前 58 · 缺口较多 命令行工具免费 + 模型费 ★ 787 15 天前 TypeScript —
MiniCode 50 · 缺口较多 命令行工具免费 + 模型费 ★ 1.2k 28 天前 TypeScript Claude API
Zero 59 · 缺口较多 命令行工具免费 + 模型费 ★ 1.8k 1 天前 Go OpenAI API · Claude API
Oh My Pi 54 · 缺口较多 命令行工具免费 + 模型费 ★ 38k 今天 TypeScript Codex · OpenAI API · Claude API

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
缺口较多
58/ 100 五分制 2.9 / 5
信任安全 16/29
可靠稳定 8/14
适用触发 12/18
规范维护 9/18
有效结果 9/13
证据核验 4/8
查看各维度的扣分理由
信任安全16 / 29 · 2.8/5

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

可靠稳定8 / 14 · 2.9/5

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

适用触发12 / 18 · 3.3/5

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

规范维护9 / 18 · 2.5/5

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

有效结果9 / 13 · 3.5/5

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

证据核验4 / 8 · 2.5/5

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

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

最近版本

来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。

  1. v0.4.7
    发布说明摘录
    Full Changelog: https://github.com/tigicion/dao-code/compare/v0.4.1...v0.4.7
    在 GitHub 查看 ↗
  2. v0.4.1
    发布说明摘录
    Full Changelog: https://github.com/tigicion/dao-code/compare/v0.4.0...v0.4.1
    在 GitHub 查看 ↗
  3. v0.4.0
    发布说明摘录
    Full Changelog: https://github.com/tigicion/dao-code/compare/v0.3.0...v0.4.0
    在 GitHub 查看 ↗

常见问题

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

对比同类 Agent

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

相关 Agents