最近 DeepSeek 系的终端编程 agent 冒出来好几个,GitHub 上 star 也开始拉开。我自己写的小项目 deepx-code 半个月前刚开源,这两天又被人问"和 reasonix、codewhale 比怎么样"。
干脆把三家的仓库源码、文档、近期 issue 都翻了一遍,做一份尽量客观的横评。先把可能让你失望的数据摆出来:
| 项目 | 上线 | 语言 | star | fork | open issue 样本(都是 2026-05-29 当天的真实 issue) |
|---|---|---|---|---|---|
| reasonix | 2026-04 | TypeScript / Node | 13.8k | 802 | #2305 v0.54 前缀缓存失效、#2315 滚轮滑不动、#2291 MiMo 上下文上限 |
| codewhale | 2026-01 | Rust | 36.0k | 3.1k | #2362 sub-agent 用不了 MCP、#2352 --mcp panic、#2353 记忆功能无效 |
| deepx-code | 2026-05 | Go | 54 | 6 | 项目刚上线两周,反馈量还没起来 |
我自己的项目 star 数差对方一两个数量级。这篇不是"打榜",而是讲清三家到底押了什么工程取舍**,你看完后能照着自己的场景挑一个**。
一、三家定位一句话
- reasonix — DeepSeek 原生,死磕 prefix-cache 稳定性,主打"挂着跑、token 账单几乎不涨"。TypeScript/npm 发行,有 Tauri 桌面端 GUI。
- codewhale — Rust 双二进制(dispatcher + tui),功能矩阵最广:LSP 诊断、RLM 批分析、sub-agent、session fork/checkpoint、esc-esc 回溯、ACP for Zed、SWE-bench 导出……1M 上下文,兼容 10+ backend。
- deepx-code — Go 单二进制,押注"本地能干的就别动 LLM":本地关键词路由(选 flash/pro 零延迟零 token)、内置 codegraph 语义图谱(Go 走
go/types精确)、本地 PaddleOCR(离线读图)、DeepSeek + 小米 MiMo 双供应商。
三家都 MIT 开源,都围着 DeepSeek 前缀缓存设计。差异在工程哲学。
二、按维度逐项过
1. 分发与依赖
| 装法 | 运行时依赖 | ||
|---|---|---|---|
| reasonix | npm install -g reasonix | Node | |
| codewhale | npm / Homebrew / Docker,自带 Rust 二进制 | 无(静态链接) | |
| deepx-code | `curl ... | bash`,Go 单二进制 | 无 |
reasonix 是三家里唯一带 Node 运行时依赖的;Rust 和 Go 都是单二进制。对"懒得装环境"的人,codewhale 和 deepx 都干净。deepx 是单一二进制,codewhale 是 dispatcher + tui 一对二进制。
2. 模型与供应商
- reasonix: DeepSeek-only(很纯)
- codewhale: DeepSeek V4 + 10+ backend(MiMo、本地 LLM 等)
- deepx-code: DeepSeek + 小米 MiMo,OpenAI 兼容接口
如果你只用 DeepSeek,reasonix 围绕 DeepSeek 一家做的优化最深。如果你想MiMo 也兜底,deepx 和 codewhale 都可以;codewhale backend 更多,deepx 内置 flash/pro 双角色路由专门为 DeepSeek/MiMo 调优。
3. 上下文获取策略 —— 这块差异最大
让 AI 找代码,三家路子不一样:
- reasonix: 主要靠工具循环(grep / read 一轮轮)+ 缓存命中复用
- codewhale: 每次编辑后自动跑 LSP 诊断(rust-analyzer / pyright / gopls / clangd 等),这是它独有的杀手锏 —— 改完立刻知道编不过
- deepx-code: 内置 codegraph 语义图谱(12 个 op:
def/refs/callers/implementers/impact……),Go 用go/types精确解析(隐式接口实现也覆盖,grep 查不出),其他语言 tree-sitter 白名单回退
codegraph 是 deepx 的核心差异化。改一个函数前一句 callers 就能拉全调用方,不用满仓库盲 grep。LSP 诊断是 codewhale 的核心差异化,改完直接看红。两个机制其实正交,各自解决不同的事。
4. 图片 / 截图
- reasonix / codewhale: 没看到内置离线 OCR(走云端多模态或不支持)
- deepx-code: 本地 PaddleOCR(PP-OCRv5,~37MB 模型,首次下载,之后离线秒级)
这个对经常截 bug 报错给 AI 看、又不想被多模态计费的人是真省钱。
5. 任务规划 / 并发
- reasonix: 较轻量
- codewhale: sub-agent + session fork + checkpoint + esc-esc 回溯,长会话编排最强
- deepx-code:
Todo(顺序、强上下文任务,主 agent 自己逐步执行,实时勾选) +CreatePlan(真正可并行的扇出任务才用,拆 DAG 派并发子 agent)
deepx 这套是双轨制:不滥用 sub-agent —— 搭一个连贯应用就一个主 agent 用 Todo 走,只有真正独立的扇出任务才会拆 DAG 并发。codewhale 的 sub-agent 灵活度更高但用户也踩坑(参考 #2362 sub-agent 拿不到 MCP)。
6. 模式与安全
三家都有"审核 / 自动"切换。deepx 显式分三档(/plan 只读、/auto 全自动、/review 写文件 / 跑 Shell 需 YES/NO 确认),写脚本 / 跑 destructive 命令默认要拦一道。reasonix 和 codewhale 也都有 approval gate。
7. 稳定性 —— 看 issue 比看 README 更靠谱
我把三家近一周的 open issue 都翻了。没有项目能逃过这些问题,公平地说:
- reasonix:近几个版本(0.54)有连续两条前缀缓存失效的报告(#2305 已关、#2301 还开着),它主打"缓存稳定",这块是它的命根子。也有"用户选择点了没反应"(#2294)、滚轮滑不动(#2315)这种 TUI 交互问题。
- codewhale:功能多带来的 issue 自然也多 —— sub-agent 拿不到 MCP 工具(#2362)、
codewhale-tui serve --mcppanic(#2352)、config.toml开启记忆功能无效(#2353)、希望各种参数可配(#2360 #2359)。属于"功能太多,配置面太宽"的复杂度税。 - deepx-code:才上线两周、用户量小,大规模反馈还没来,这部分客观打不了对比 —— 这点必须承认。
三、deepx-code 自己究竟押了什么?
把三家放一起,deepx 的取舍线就清楚了 —— 不追求功能最广,押"工程上能本地做的就别让 LLM 做":
- 本地关键词路由:用户消息一进来,本地 200 行规则(中英日韩 + 长度阈值)瞬间决定起手 flash 还是 pro,零延迟、零 token。reasonix / codewhale 也有路由,但是模型层面的;deepx 这层连模型都不调。
- codegraph 语义图谱替代盲 grep:Go 项目里
implementers MyInterface能精确到符号级,grep 永远做不到。从根上减少 read / glob / grep 的 token 浪费。 - 本地 PaddleOCR:截图 → 文字提取,离线、不调多模态 API。
- 极简 system prompt + 工具不预注入:
Memory/LoadSkill只在用时才进 context,保 DeepSeek 前缀缓存稳定(README 实测 41,591 tokens 中 41,472 命中 ≈ 99% 缓存率)。 - gob 二进制无损会话持久化:
tool_calls/tool results/reasoning_content完整保留,重启 LLM 视角无缝续接;超窗自动分层压缩。 @文件 / 目录引用(刚加的,这周): 输入框打@弹本地模糊文件选择器(同样不调用大模型找文件),选中就把路径塞进消息,模型按需 Read / List。终端和 web 都支持。
四、所以你该选谁?
我的真心建议(自己项目放最后,别误会):
- 要最稳的 DeepSeek-only、有桌面 GUI、能挂着跑 → reasonix。star/生态/打磨时间都最久,DeepSeek 那套缓存机制是他们一手打磨出来的。
- 要功能矩阵最广 (LSP 诊断、session fork、sub-agent、Zed ACP) 、能容忍 Rust 生态的复杂度税 → codewhale。是这三家里"什么都有"的那个。
- 想要 Go 单二进制零依赖、看重语义级 codegraph、需要本地 OCR、DeepSeek + 小米 MiMo 都用 → deepx-code。
- 还在试水 → 三家都 MIT 开源,可以装着并存试,谁手感顺用谁。
五、写在最后
我做 deepx-code 不是为了"打败"谁。reasonix 和 codewhale 都是值得尊敬的项目,把 DeepSeek 系 agent 的天花板各自顶了一波。我只是有一些不同口味的工程选择想试试:
- 能用一行本地代码搞定的事,别为了"显得 AI"去烧 token、加延迟。
- codegraph、本地 OCR、单一 Go 二进制、
@文件引用 —— 这些"没调用大模型"的地方,恰恰决定体验和成本拉开多大差距。
仓库还小,反馈也少,正是欢迎拍砖的阶段。如果你也在做 coding agent、或者单纯好奇"另一种选法长什么样",欢迎来逛逛、提 issue、提 PR。
👉 github.com/itmisx/deepx-code
三家仓库:
- reasonix:
github.com/esengine/DeepSeek-Reasonix- codewhale:
github.com/Hmbown/CodeWhale- deepx-code:
github.com/itmisx/deepx-code