deepx-code
DeepSeek 原生的终端编程 Agent:单 Go 二进制,内置代码图谱、本地 OCR 与缓存友好路由,从根上节省 Token。
证据显示有沙箱(Seatbelt/bubblewrap/docker)、plan 只读模式、review 模式默认对写文件/Shell 需人工确认、workflow 运行前确认——最低权限与用户确认达到普通可用水平(各 2 分)。扣分点:API key 明文存于 ~/.deepx/model.yaml、会话历史明文落盘,无加密或权限收紧说明(sensitive_data_handling 1);依赖锁定在 go.mod 但无任何漏洞审计/SCA 政策,且引入了小众依赖如 gotreesitter、up-zero/gotool(dependency_security 1);首启自动从第三方镜像下载 118MB 嵌入模型与 37MB OCR 模型、curl|bash 安装、web 面板明文 HTTP 可 0.0.0.0 暴露(external_effects 1);仅提及 upgrade,无版本回滚/降级路径(rollback 1);package. author 为空、发布者未验证、LICENSE 版权年份写 2026(source_attribution 1)。数据流架构图和路由规则公开透明,data_flow_transparency 给 2。
README 与代码结构描述大体自洽,但 package. 与之矛盾:license 声明 ISC(与 MIT 冲突)、description 是损坏的 HTML 片段、version 1.0.0 但无 CHANGELOG 对应——self_consistency 扣至 1。dependency_availability 2:嵌入模型下载有 ModelScope→hf-mirror→HuggingFace 三级回退,失败时降级为全部 flash 不阻塞启动;gob 损坏回退 JSONL。failure_messages 2:失败路径(下载失败、沙箱缺失 OS 机制回退软策略)均有明确说明。
audience_and_scenarios 3:明确覆盖交互 TUI、非交互 exec/CI/cron 管道、多语言 UI、多提供商(DeepSeek/MiMo/Kimi/Qwen/自定义),场景叙述具体。capability_boundaries 2:说明了 MiMo 不支持 reasoning 字段时的空值安全、路由仅在模型就绪后生效、codegraph 仅对 Go 精确;但未给出整体能力上限的失败率数据。trigger_precision 3:路由阈值(>500 字符、相似度 0.91)、两组模式集、六个调优命令均精确到可复现。environment_fit 2:三平台覆盖,但沙箱在无 OS 机制平台退化为软黑名单,安全边界明显削弱。
information_architecture 3:README 结构清晰(安装/配置/原理/工具表/命令表),架构图分层明确。install_notes 3:含 shell 刷新、Gitee 镜像、手动配置说明。known_limitations 2:明示 web 面板 HTTP 风险、路由误判例子(过宽模式救 2 破 2)。license 2:MIT 文件完整但版权年份 2026 可疑,且 package. 声明 ISC 相互矛盾。versioning_changelog 1:仅有 goreleaser 自动 changelog 的流程,证据文件中无 CHANGELOG,package. version 与发布机制脱节。maintenance_responsibility 2:有 CI 镜像与发布流水线、upgrade 命令,但无维护者承诺/响应机制说明。
output_usability 2:exec 模式输出直出 stdout、codegraph 结果带 file:line 与签名、结果分页,均有描述但未验证。marginal_value 2:codegraph 符号级导航、离线 OCR、本地零 token 路由是与同类工具的差异化点,v.s. Claude Code 对比表诚实标注了模型质量不在权衡内。cost_benefit 3:围绕 DeepSeek 前缀缓存设计(只升不降的 SwitchModel、系统提示透明替换保缓存前缀、70% 阈值分层压缩)是证据最充分的成本论证。
claim_traceability 1:核心卖点 '~99% 缓存命中(实测)' 仅给一次会话的 41,472/41,591 token 数字,无测量方法、样本数或复现步骤;路由准确性、codegraph 精确度均无可复现的基准。cross_source_corroboration 1:证据文件中无测试目录或测试输出,README 断言无法被其他文件印证;package. 明确 no test specified。fact_inference_separation 2:部分做到了事实与建议分离(如明确标注 'measured' 与权衡说明、NOTE 区分模型质量与工具价值),但多处数字缺少来源标注。
- API key 明文存储于 ~/.deepx/model.yaml,会话历史明文落盘;请确保目录权限并避免在共享环境使用。
- web 面板使用明文 HTTP,绑定 0.0.0.0 后整个局域网可用固定 token 控制会话并执行命令,仅限可信网络。
- curl|bash 安装方式与首启从第三方镜像(ModelScope/hf-mirror/HuggingFace)自动下载模型,供应链信任需自行评估。
- 无 OS 沙箱机制的平台上退化为软黑名单,安全边界显著弱化,auto 模式下慎用。
- 核心性能宣称(~99% 缓存命中)只有单次会话数字,无测量方法,不宜作为采购依据。
- 证据中无测试,package. 声明 ISC 与 MIT 冲突、版权年份 2026 异常,使用前请自行核查。
这个 Agent 能做什么,适合哪些场景?
deepx-code 是一个以单一 Go 二进制分发的终端编程 Agent,围绕 DeepSeek 前缀缓存设计,官方实测长会话 prompt-cache 命中约 99%。它内置 codegraph 符号级代码图谱(跳定义、找调用、接口实现、影响面分析,Go 经 go/types 精确解析)与基于 PaddleOCR 的本地离线图片识别,不依赖多模态 API。执行模型上,它在本地做 flash/pro 双模型语义路由(零 LLM token 消耗),支持 Todo 顺序清单、CreatePlan 并发 DAG 子 agent,以及用 JS 脚本固化多 agent 流程的 Workflow(/ultracode 自动生成、/workflow 运行,兼容 Claude Code workflow 脚本约定)。会话以 gob 二进制无损持久化,超窗自动分层压缩;写文件与 Shell 默认需人工确认,并提供 macOS Seatbelt / Linux bubblewrap 的 OS 级沙箱。原生支持 MCP 与兼容 Claude skill 目录,预置 DeepSeek、小米 MiMo、Kimi、通义千问,也支持任意 OpenAI 兼容模型。
deepx 在终端 TUI 中读取用户消息,先经本地语义路由(multilingual-e5-small 句向量比对,超 500 字或相似度 ≥0.91 起手 pro,否则 flash)选择模型,再进入 StartStream 工具循环。模型可调用 Read/List/Tree/Glob/Grep 只读工具、CodeGraph(def/refs/callers/implementers/impact 等 12 个 op 的符号查询)、OCR(PaddleOCR PP-OCRv5 离线读图)、Search/Fetch 联网、Memory 记忆、LoadSkill 技能,以及 Write/Update/Bash 写操作(review 模式下需人工 YES/NO 确认)。多步任务用 Todo 逐项勾选;可并行的独立子任务由 CreatePlan 拆成 DAG,按依赖派并发子 agent(各节点独立选 flash/pro)后汇总。会话写入 ~/.deepx/sessions/<workspace哈希>/ 下的 history.gob(完整 tool_calls 与 reasoning_content,重启无缝续接)和 JSONL 文本日志;token 达上下文窗口 70% 时自动分层压缩。deepx exec "任务" 提供非交互模式,结果直接输出到 stdout,可配合管道、脚本与 cron。
- 想在终端里用 DeepSeek 干活、且长期会话成本敏感的开发者——靠 ~99% 缓存命中和本地路由避免为重复上下文付费
- 需要在大型 Go/TS/Python 仓库里做影响面分析的人——用 CodeGraph 的 callers/implementers/impact 替代满仓库 grep
- 需要把报错截图或 UI 稿喂给 Agent 但没有多模态额度的用户——本地 PaddleOCR 离线识别图中文字
- 要在脚本/CI/cron 中嵌入一次性代码任务的人——
deepx exec输出到 stdout,支持管道 - 有多视角审查、扇出研究等固定流程并希望反复复用的团队——用 JS workflow 脚本(与 Claude Code 脚本互用)固化流程
- 在意写操作安全的用户——review 模式人工确认写文件/Shell,另有 Seatbelt/bubblewrap/Docker 沙箱可选
这个 Agent 有哪些优点和局限?
- 单 Go 二进制,无 Node/Python 运行时,跨 macOS/Linux/Windows 一行安装,部署成本极低
- 围绕 DeepSeek 前缀缓存设计,实测 ~99% 命中,且模型路由纯本地零 token,长会话成本显著低于按 token 计费的竞品
- 内置 codegraph 符号级代码图谱与本地 PaddleOCR 离线读图,是同类终端 Agent 少见的原生能力
- 兼容 Claude 的 skill 目录与 workflow 脚本约定,生态迁移成本低;原生 MCP 支持
- 成本与缓存优势深度绑定 DeepSeek 前缀缓存定价;切换其他模型时命中与计费优势不保证成立
- 自动路由与 OCR 依赖首次启动后台下载模型(multilingual-e5-small 118MB、OCR 模型约 37MB + ONNX Runtime),下载失败则路由退化为一律 flash
- web 面板为明文 HTTP 且可控制会话、执行命令,README 自述仅限可信局域网使用,对外暴露有安全风险
- 路由判据基于样板句相似度(升级 pro 组 36 句、维持 flash 组 22 句),极端简短或非典型表述可能漏判/误判,需手动调教 router.yaml
- 项目相对年轻,README 之外缺少独立评测证据;闭源竞品的模型质量不在其对比范围内
如何安装或部署这个 Agent?
macOS / Linux:
bash
curl -fsSL https://raw.githubusercontent.com/itmisx/deepx-code/main/scripts/install.sh | bash && exec $SHELL安装到 ~/.local/bin/deepx,之后可用 deepx upgrade 升级。
Windows (PowerShell):
powershell
irm https://raw.githubusercontent.com/itmisx/deepx-code/main/scripts/install.ps1 | iex国内用户可用 Gitee 镜像(macOS/Linux):
bash
curl -fsSL https://gitee.com/itmisx/deepx-code/raw/main/scripts/install.sh | SOURCE=gitee bash && exec $SHELL前提:需自备所选供应商(DeepSeek / 小米 MiMo / Kimi / 通义千问)的 API Key。
如何使用这个 Agent?
- 在终端
cd进入项目目录,运行deepx进入交互式 TUI。 - 首次启动弹出配置向导:用 ←/→ 选供应商(DeepSeek / 小米 MiMo / Kimi / 通义千问),填入对应 API Key,持久化到 ~/.deepx/model.yaml;可用
/config重配,/provider在已配置供应商间切换。 - 用
/plan/auto/review切换只读/全自动/审核模式;/model flash|pro锁定模型,/auto(默认)走本地路由。 - 输入
@可弹路径选择器引用文件/目录;/sandbox配置沙箱(native/docker/off);/working-mode选 karpathy/openspec/superpowers。 - 非交互执行:
deepx exec "任务",结果直接打到 stdout,支持管道(如cat error.log | deepx exec "分析这段报错")。
这个 Agent 与同类方案有什么区别?
README 明确将自身与 Claude Code 对比:分发上为 Go 单二进制(Claude Code 是 npm/Node);开源 MIT(Claude Code 闭源);模型上支持 DeepSeek/小米 MiMo 等 OpenAI 兼容模型(Claude Code 绑定 Anthropic Claude);成本上依赖 ~99% 缓存命中;并独有内置 codegraph 与本地离线 OCR(Claude Code 依赖 grep 与云端多模态)。README 注明该表不比模型质量本身,deepx-code 的取舍是成本、开源、单二进制、代码图谱与离线 OCR。
常见问题
长会话到底能省多少钱?
写文件和执行命令安全吗?
必须用 DeepSeek 吗?
OCR 和自动路由需要联网吗?
能在 CI/脚本里用吗?
deepx exec "任务" 非交互执行,结果打到 stdout,支持管道输入与输出重定向;需先用交互式 deepx 配好 API Key。