Reasonix:专为 DeepSeek 开发生成的 AI 编码 Agent
一句话版本:一个专为 DeepSeek 模型优化的 AI 编码 agent,全程围绕 DeepSeek 的 prefix-cache 计费机制设计,所以长期开着也不贵——实测单日 4.35 亿 token、99.82% 缓存命中率,费用从 $61 降到 $12。还内置了 QQ 频道远程操控和桌面客户端。
来源
- 🔗 官网
- 🔗 GitHub
- 🔗 架构文档
- 🔗 npm 包
- 🔗 PyShine 深度分析
日期: 活跃开发中,esengine 维护
核心内容
这是什么?
Reasonix 是一个开源的(MIT)、TypeScript/Node.js 实现的 AI coding agent,专为 DeepSeek 模型设计。不是另一个通用 agent 框架——它只支持 DeepSeek,并且为此对你的。
安装非常简单:
npm install -g reasonix
reasonix code my-project # 首次运行输入 DeepSeek API key
macOS、Linux、Windows 全支持,需要 Node ≥ 22。
核心技术:三大支柱
Pillar 1: Cache-First Loop
这是 Reasonix 的核心创新。DeepSeek 的 prefix-cache 机制有一个特点:只有当前请求的精确字节前缀匹配上一个请求时,才能享受约 10% 价格的低缓存费率。大多数 agent 框架每轮对话都会重排上下文、注入时间戳——实践中缓存命中率不到 20%。
Reasonix 的做法:
┌─────────────────────────────────────────┐
│ 不可变前缀(IMMUTABLE PREFIX) │ ← 会话期间固定
│ system + tool_specs + few_shots │ 缓存命中候选
├─────────────────────────────────────────┤
│ Append-Only 日志(APPEND-ONLY LOG) │ ← 单调增长
│ [assistant₁][tool₁][assistant₂]... │ 保持先前轮的字节前缀
├─────────────────────────────────────────┤
│ 易失草稿(VOLATILE SCRATCH) │ ← 每轮重置
│ R1 思考过程、临时计划状态 │ 不上传到 API
└─────────────────────────────────────────┘
结果:单日 435M 输入 token,99.82% 缓存命中率。
Pillar 2: Tool-Call Repair
DeepSeek 的 tool-call 生成有一些特定的失败模式(在 reasoning_content 里放了 tool call 但忘了在 message 里正式引用、参数过多的 schema 会丢字段、重复调用同一个工具)。Reasonix 用四遍过滤解决:
- flatten — >10 参数自动展平为点号表示法
- scavenge — 从 R1 思考内容中搜刮遗漏的 tool call
- truncation — 修复被截断的不完整 JSON
- storm — 滑动窗口内相同 (tool, args) 的重复调用被抑制并注入反思轮
Pillar 3: Cost Control
三层预设控制成本:
| 预设 | 模型 | 相对成本 |
|---|---|---|
| flash (默认) | DeepSeek v4-flash | 1× |
| auto | flash → pro (困难任务自动升级) | 1–3× |
| pro | v4-pro | ~12× |
其他辅助机制:
- 自动压缩:每轮结束,超过 3000 token 的工具结果会被压缩
- /pro 单次升级:用户输入
/pro下一轮用 pro 模型,用完自动恢复 - 失败自动升级:同轮内 3 次失败后自动切换到 v4-pro,不静默涨价
技术实现
- UI:Ink(React 19 终端渲染器),~1984 行核心组件
- 并行工具调度:Promise.allSettled,默认最大 3 并发,硬上线 16
- 数据流:CacheFirstLoop → DeepSeek Client (SSE) → 四遍修复 → 并行调度 → 写入日志 → 循环
- 会话持久化:JSONL,按工作目录隔离
- MCP:stdio + SSE 原生支持
- Token 计算:本地移植了 DeepSeek V3 tokenizer
生态系统
| 功能 | 说明 |
|---|---|
| Skills | AGENTS.md / SKILL.md 可复用流程 |
| Memory | 项目级别 + 全局记忆 /remember /recall_memory |
| Web 搜索 | 默认 Mojeek,支持 SearXNG、Metaso |
| Desktop | Tauri 桌面客户端(prerelease) |
| QQ 频道 | 通过 QQ 远程操控会话 |
| Subagent | spawn_subagent 创建隔离子循环 |
| Hooks | 生命周期钩子(PreToolUse 等) |
社区数据
- ⭐ 关注度活跃,161 open issues
- npm 包
reasonix+ 别名dsnix - 中文 + 英文双语文档和社区
与 OpenClaw 的对比
Reasonix 和 OpenClaw 都是终端 AI agent,但路线完全不同:
| 维度 | Reasonix | OpenClaw |
|---|---|---|
| 模型 | 仅 DeepSeek | 多 provider |
| 核心技术 | prefix-cache 优化 | 通用框架 |
| 语言 | TypeScript/Node.js | TypeScript/Node.js |
| UI | Ink React TUI | CLI 工具 |
| Desktop | Tauri(prerelease) | — |
| 缓存策略 | 上下文三区域优化 | lossless-claw |
| 消息通道 | QQ 频道 | Discord/QQ/Telegram 等 |
| 核心定位 | 编码 agent | 通用 agent 框架 |
Reasonix 可以学的地方:cache 分区设计直接适用于 DeepSeek 的计费模型,OpenClaw 如果支持 DeepSeek 也可以借鉴。tool-call repair 四遍过滤思路通用。
OpenClaw 比它强的地方:多 provider、多消息通道、更成熟的基础设施。
评分
| 维度 | 评分 | 说明 |
|---|---|---|
| **创新性** | ★★★★☆ | Cache-First Loop 设计精巧,但领域窄(仅 DeepSeek) |
| **产品完成度** | ★★★★☆ | CLI 成熟,Desktop prerelease,社区活跃 |
| **与我项目关联** | ★★★★☆ | 同样做终端 AI agent,但定位不同;缓存策略可借鉴 |
| **经济性** | ★★★★★ | 99.82% 缓存命中率的实际数据很有说服力 |
| **社区活力** | ★★★★☆ | 161 issues,很多开发活动 |
| **代码质量** | ★★★★☆ | 架构清晰,测试覆盖有但可以更好 |
报告生成: 2026-05-25 | 来源: GitHub, esengine.github.io, 架构文档