Go 单二进制 · DeepSeek 原生 · 开源 MIT

deepx-code
DeepSeek 原生的终端编程 agent

单二进制 · 内置代码图谱 · 本地 OCR  ·  零延迟关键词路由
长会话实测 ~99% 缓存命中,几乎不为重复的上下文付费

deepx — ~/my-project
$ cd ~/my-project
$ deepx
当前模式: auto, 模型: flash
 
> Greet 在哪定义、被谁调用?用 codegraph 查
 
🧭 CodeGraph (def Greet)
🧭 CodeGraph (callers Greet)
定义: greet.go:6 func Greet(name string) string
被调用: main.go:6 ← main
 
🐋 简单直接,1 处定义、1 处调用。
 
✓ 完成 · 2.4s · 2 次工具调用
$

主流 agent 的痛点,deepx-code 的解法

传统方案在上下文恢复、缓存利用、路由延迟上各有妥协。deepx-code 从底层重新设计。

痛点 主流 agent deepx-code
重启上下文恢复 仅纯文本JSONL 只存 user/assistant content,tool_calls、tool results、reasoning_content 全部丢失 完整 fidelitygob 二进制持久化,LLM 无缝续接,重启后跟没断过一样
模型路由延迟 & 成本 LLM 分类每次用户输入先调一次 LLM 决定路由,额外消耗 token + 延迟 零延迟纯本地关键词匹配 + 长度判定,5 语言覆盖,路由零 token 消耗
DeepSeek 硬盘缓存 频繁 misstools 数组随模式切换而变,system prompt 版本不一致导致前缀漂移 前缀稳定tools 全模式恒定;system prompt 版本感知,gob 恢复时自动替换为当前版本
复杂任务调度 串行等待多步任务步步等待,无法利用并发加速 DAG 并发LLM 拆 DAG → deepx 按依赖并行跑子 agent,节点独立选模型
代码导航 & 理解 满仓 grep逐个翻文件、烧 token;Go 隐式接口实现、调用关系、影响面都查不准 代码图谱内置 codegraph:符号级 def / callers / implementers / impact,Go 经 go/types 精确
图片输入 依赖云端读图要走云端多模态 API,额外成本,离线不可用 本地 OCR粘贴图片 → PaddleOCR 离线识别,不依赖多模态 API
写操作防护 要么全自动,要么全禁无细粒度审核粒度 三模式分级review(默认:写/Shell 确认)/ auto(全自动)/ plan(只读)

七大设计亮点

每个特性都在解决一个实际问题,不是堆功能。

💾

gob 二进制持久化

完整保存 tool_calls、tool results、reasoning_content。重启后 LLM 无缝续接,零计算恢复。同时保留 JSONL 供 Memory 搜索。system prompt 版本感知,build 升级 / skill 变化时自动替换。

双模型零延迟路由

flash 接机械单步、pro 处理复杂任务。关键词 + 长度判定,纯本地执行, 覆盖中/英/日/韩。路由不花一分 token,起手就是正确答案。

🗂️

顺序 Todo + 并发 Plan DAG

多步顺序任务用可见待办清单逐步勾选,进度实时可见;可并行的独立子任务 拆成 DAG,deepx 按依赖并发跑子 agent,每个节点独立选 flash / pro。

🛡️

三级模式管理

review(默认):Write / Update / Bash 人工确认,其余自动。auto: 全自动。plan:只读。细粒度可控,不因安全牺牲效率。

📷

本地离线 OCR

粘贴图片或给出路径 → OCR 工具(PaddleOCR PP-OCRv5)识别其中文字。 不依赖多模态 API 也能读图。首次下载 OCR 模型(~37MB)与 ONNX runtime,之后离线秒级。

🧠

会话压缩 & KV cache 友好

超窗口 70% 自动触发,尾部保留 ~20K token,旧内容 LLM 压缩为连贯摘要。 旧摘要合并而非丢弃。tools 数组全模式恒定,system prompt 版本感知, DeepSeek 硬盘缓存命中率最大化。

🧭

内置代码图谱(codegraph)

符号级跳定义 / 找调用 / 接口实现 / 影响面分析。Go 经 go/types 精确解析, 覆盖 16+ 语言。替代满仓库 grep + 逐个翻文件,从根上省 read/glob/grep 的 token。

一套原生工具,随需调用

LLM 自主按需调用,不预注入不占 token。三分级模式控制写操作。

📄 Read
📝 Write
📝 Update
📂 List
🌲 Tree
🔎 Glob
🔍 Grep
🧭 CodeGraph
🐚 Bash
🌐 Search
📡 Fetch
👀 OCR
🧠 Memory
📜 LoadSkill
🚀 SwitchModel
📋 CreatePlan
📌 Todo

单轮对话与持久化流程

从用户输入到工具执行,每一步都围绕 token 经济和缓存优化设计。

用户输入
自然语言 / 图片粘贴
Keyword Router
本地零延迟 → flash / pro
LLM 工具循环
直接答 / 调工具 / Todo / CreatePlan
Review 拦截
Write / Bash 人工确认
Executor
并发调度 · 结果回灌
HistoryUpdate
SaveGob (完整 fidelity)
history.gob
重启恢复 · 零计算
StreamDone
Append JSONL (Memory 搜索)
YYYY-MM-DD.jsonl
纯文本日志

一行命令,即刻安装

首次启动弹窗引导填 API key,自动写入 ~/.deepx/model.yaml

curl -fsSL https://raw.githubusercontent.com/itmisx/deepx-code/main/scripts/install.sh | bash
irm https://raw.githubusercontent.com/itmisx/deepx-code/main/scripts/install.ps1 | iex
git clone https://github.com/itmisx/deepx-code.git
cd deepx-code
go build . # 需要 Go 1.25+