Dao Code

A DeepSeek V4 terminal coding assistant that uses cache-aware context and self-correction for lower-cost long-running work.

Stars
★ 787
Last updated
15d ago
License
MIT
Primary language
TypeScript

At a glance

How it runs
CLI
Works with
Platform-specificClaude Code (Partial support)
Cost
Free software; you pay for model usage
Setup effort
Low · running in minutes
You'll need
DeepSeek API keyNode.js >=20 for npm installationShell / CLINetwork accessLocal filesystemMCP Server
Typical use
A developer with a DeepSeek API key who wants a local-terminal assistant to inspect a repository, edit code, and run its tests.
Not a fit if
  • Teams standardized on OpenAI, Anthropic, or other model providers; the core path is DeepSeek V4 only
  • English-first teams or users, since the project is Chinese-first

What does this agent do, and when should you use it?

Dao Code is a TypeScript terminal coding assistant invoked as dao and built around DeepSeek V4's 1M context window. Its Ink TUI sends requests through an agent loop that streams model output, approves requested actions, and iterates over code and command results. The repository documents 24 tools plus persistent memory, reflection, compaction, session recovery, shadow-Git checkpoints, and Definition-of-Done verification for longer tasks. It ships as platform binaries, an npm package, or source, while live model operation requires the DeepSeek API; it also supports MCP, Skills, Hooks, and Claude Code-compatible configuration formats.

A user submits work through interactive dao or one-shot dao "task"; src/agent/loop.ts calls streamChat and streams reasoning and responses. When the model requests actions, it can inspect a project with read_file, list_dir, grep_files, and file_search; change files with write_file, edit_file, multi_edit, and notebook_edit; and run foreground or background commands through exec_shell, subject to the approval gate for writes and execution. It can maintain a task table with todo_write, run a /dod acceptance command via verify_done, access persistent facts with memory_read and memory_write, and orchestrate work through agent, task_send, and message_parent. Session data is written under .dao/sessions/, oversized results can spill into .dao/spill/, and /restore uses the separate .dao/shadow.git snapshot store to undo the most recent turn.

  1. A developer with a DeepSeek API key who wants a local-terminal assistant to inspect a repository, edit code, and run its tests.
  2. An engineer handling a long implementation or debugging task who wants persistent todos, automatic compaction, and a /dod command for executable acceptance checks.
  3. A team that needs controls over file writes and shell execution, using allow, ask, and deny rules in .dao/settings.json.
  4. A Claude Code user who wants to reuse settings.json, SKILL.md, hooks.json, or mcp.json conventions in a DeepSeek-driven terminal workflow.
  5. A developer splitting investigation or implementation into parallel, background, or worktree-isolated subagent tasks.

How do you install or deploy this agent?

Download the matching platform binary from Releases, or run curl -fsSL https://raw.githubusercontent.com/tigicion/dao-code/master/install.sh | sh. For npm installation, Node.js 20 or later is required: use npx dao-code to try it or npm i -g dao-code to install the dao command. To build from source, run git clone https://github.com/tigicion/dao-code.git && cd dao-code, then npm install && npm run build && npm link. On first launch, dao prompts for a DeepSeek API key and saves it in ~/.dao/config.json.

How do you use this agent?

Start an interactive session with dao. For a headless one-shot invocation, use dao --api-key sk-xxx --provider deepseek "tell me a joke". In a session, /init generates DAO.md, /mode changes permission behavior, /cost shows token and cache usage, and /compact compresses the conversation; dao -c resumes the most recent interrupted session. To set an executable completion criterion, run /dod <command>; verify_done treats exit code 0 as completion.

What are this agent's strengths and limitations?

Pros
  • It is designed around DeepSeek prefix caching: byte-stable prefixes and cache-reusing forks for reflection and memory, with /cost exposing hit rate and spend.
  • Layered allow/ask/deny permissions, an approval gate, and per-segment compound-command checks provide concrete controls over edits and shell execution.
  • Its long-task features are explicit: event-log recovery, separate shadow-Git snapshots, todo reinjection, stuck detection, and executable Definition-of-Done checks.
  • It supports Skills, MCP, Hooks, custom subagents, and slash commands, while documenting compatibility with several Claude Code configuration formats.
Limitations
  • The documented core model path is DeepSeek V4; the repository does not document adapters for OpenAI, Anthropic, or other model providers.
  • Working coding sessions depend on a DeepSeek API key and network access for model calls.
  • --yolo and /yolo auto-approve actions. Deny rules still apply, but permission configuration remains an adoption responsibility.
  • The published cost and evaluation figures come from seven specified real open-source bug-fix tasks and contemporaneous pricing, not a general cost guarantee.

How does this agent compare with similar options?

Dao Code positions its interaction and extension conventions alongside Claude Code while targeting DeepSeek V4. It states that Claude Code-format settings.json, SKILL.md, hooks.json, and mcp.json work with automatic tool-name mapping; for the same seven recorded task token traces, it reports DeepSeek costs of roughly 1/30 of Claude Opus 4.8 and 1/18 of Claude Sonnet 4.6.

Key facts side by side with the most closely related agents.

Agent Source review Form / cost Stars Updated Language Full support on
Dao Code This agent 58 · Major gaps CLIFree + model costs ★ 787 15d ago TypeScript —
MiniCode 50 · Major gaps CLIFree + model costs ★ 1.2k 28d ago TypeScript Claude API
Zero 59 · Major gaps CLIFree + model costs ★ 1.8k 1d ago Go OpenAI API · Claude API
Oh My Pi 54 · Major gaps CLIFree + model costs ★ 38k today TypeScript Codex · OpenAI API · Claude API

How does FollowAgents rate this agent?

FollowAgents source review · FARS-2.1
Major gaps
58/ 100 5-point scale 2.9 / 5
Trust 16/29
Reliability 8/14
Adaptability 12/18
Convention 9/18
Effectiveness 9/13
Verifiability 4/8
Why each dimension lost points
Trust16 / 29 · 2.8/5

Evidence shows permission gates, approval, sensitive target protection, dangerous command blocking, secret scanning, SSRF protection, directory trust, audit logging, but some mechanisms (e.g., secret scanning, SSRF) are only declared in SECURITY.md, not verified in code. Data flow transparency is insufficient: no detailed explanation of how data is transmitted, stored, and deleted. Dependency security: npm audit warnings are all from dev toolchain, but no vulnerability scan results for runtime dependencies. External effects: approval gate and sandbox option exist, but sandbox is not enabled by default. Rollback: shadow-git checkpoints exist, but reliability of recovery is not explained. Source attribution: author is tigicion, but identity not verified.

Reliability8 / 14 · 2.9/5

Self-consistency: README, SECURITY.md, package.json are consistent, but version numbers are inconsistent (README says v0.3.0, package.json 0.4.17). Dependency availability: dependency list is complete, but availability of all dependencies not verified. Failure messages: no examples of error handling or user prompts.

Adaptability12 / 18 · 3.3/5

Audience and scenarios: aimed at developers, supports multiple installation methods and usage modes. Capability boundaries: tools and permission modes are clearly listed, but not all limitations are explained. Trigger precision: commands and configuration are described clearly, but no detailed examples. Environment fit: supports multiple platforms, but no special considerations for Windows.

Convention9 / 18 · 2.5/5

Information architecture: README structure is clear, but lacks detailed API documentation. Install notes: multiple installation methods provided, but not verified. Naming stability: command name `dao` is stable, but version numbers are inconsistent. Examples and FAQ: examples exist, but no FAQ. Known limitations: not explicitly listed. License: MIT, but copyright year is 2026. Versioning and changelog: CHANGELOG.md exists, but content not provided. Maintenance responsibility: maintainers or contribution guidelines not clearly stated.

Effectiveness9 / 13 · 3.5/5

Output usability: rich features provided, but actual output not verified. Marginal value: cost advantage over Claude Code, but not independently verified. Cost-benefit: cost data provided, but not independently verified.

Verifiability4 / 8 · 2.5/5

Claim traceability: cost data claims traceable to evals/runs, but specific logs not provided. Cross-source corroboration: no third-party verification. Fact-inference separation: some claims (e.g., cost comparison) do not clearly distinguish facts from inferences.

Risks and how to mitigate them
  • Version inconsistency: README claims v0.3.0, but package.json is 0.4.17, which may cause confusion.
  • Security mechanisms (e.g., secret scanning, SSRF protection) are only declared in SECURITY.md, not verified in code; actual effectiveness unknown.
  • Dependency security: npm audit warnings are all from dev toolchain, but no vulnerability scan results for runtime dependencies.
  • Sandbox (DAO_SANDBOX) is not enabled by default; users need to enable it for enhanced security.
  • Cost data claims traceability, but specific logs are not provided, so independent verification is not possible.
Evidence confidence: Low Reviewed Aug 09, 2026 Reviewed revision 2d3ac9de5a1f New commits since this review; the score may not cover them
See the full review method →

Recent releases

Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.

  1. v0.4.7
    Release notes excerpt
    Full Changelog: https://github.com/tigicion/dao-code/compare/v0.4.1...v0.4.7
    View on GitHub ↗
  2. v0.4.1
    Release notes excerpt
    Full Changelog: https://github.com/tigicion/dao-code/compare/v0.4.0...v0.4.1
    View on GitHub ↗
  3. v0.4.0
    Release notes excerpt
    Full Changelog: https://github.com/tigicion/dao-code/compare/v0.3.0...v0.4.0
    View on GitHub ↗

FAQ

What credentials does it need?
It needs a DeepSeek API key. The first interactive launch can store one through onboarding, or a one-shot command can use --api-key with --provider deepseek.
Can it modify files or run commands without approval?
Writes and execution normally pass through an approval gate. default, acceptEdits, auto, and plan modes plus allow/ask/deny rules adjust that behavior; --yolo enables automatic approval.
What happens if a long task crashes?
Each turn records events and state under .dao/sessions/<id>/; dao -c resumes the latest session. /restore can revert the last turn from .dao/shadow.git without rewriting the repository's own Git history.
Does one-shot mode create cross-session memory?
No. The documented one-shot mode is intended for scripts and does not perform memory distillation.
View on GitHub ↗ Install ↓

Compare agents like this one

The same FARS review applied across the shortlist this agent qualifies for.

Related agents