Reasonix:在 DeepSeek 上跑一个 Claude-Code 风格的编码智能体
- 发布日期
- 2026年7月11日
- 更新日期
- 2026年7月11日
- 作者
- Jacob Lloyd —— 项目完成后,在 AI 协助下撰写
- 阅读时长
- 约 6 分钟阅读
简单来说: Reasonix 是一个在终端里运行的程序,表现得像一个 AI 编码助手:你用大白话告诉它想要什么,它就替你读代码、写代码、测试代码。它对接的不是月付订阅,而是 DeepSeek——一个非常便宜的按需付费 AI 服务,所以真正的编码帮助只要几分钱。这篇文章讲怎么安装它、接入你的密钥,以及怎么让它自动保持更新。
如果你喜欢 Claude Code 那种工作方式——一个住在终端里的编码智能体,读文件、跑命令、自己修自己的错——但比起按月订阅,你更愿意每个任务只花几分之一分钱,那这个方子正合适:Reasonix,一个 Claude-Code 风格的 CLI 智能体,对接到 DeepSeek 的 API。
tl;dr
- 这是什么:Reasonix,一个 Claude Code 模式的智能体编码 CLI——子智能体、技能、按项目记忆——配置成使用 DeepSeek 模型,而不是付费套餐。
- 费用:按 token 付费,没有订阅。作为参照:我那套全天候运行的智能体,用同样这两档 DeepSeek 模型,整整一个月只花了 $24.08。
- 需要什么:Node.js + npm、一个 DeepSeek API 密钥、十分钟时间。
- 最终得到什么:一个终端编码智能体、一份经得起更新的配置,以及一个定时更新器,让它不用你操心就能保持最新。
最终得到什么
你在一个项目里打开终端,输入 reasonix,描述你想要的东西:"给这个脚本加一个 --dry-run 参数,并更新 README。"智能体会读取相关文件、编辑它们、运行脚本检查自己的工作成果,然后汇报结果——这跟 Claude Code 用户熟悉的那套流程一模一样。区别都在管线内部:
- 大脑是 DeepSeek,按 token 计费。两档模型就能覆盖一切:日常编辑和打杂用 flash 模型,棘手的重构和调试用推理模型 pro。我那套全天候运行的智能体系统,用的就是这同样的两档模型,整整一个月花了 $24.08($9.54 flash + $14.54 pro)——同样的工作量,换到旗舰级 API 上大概要 $475 到 $915。
- 怎么排班全由你说了算。因为没有席位授权这回事,你可以让它埋头干那些耗时的杂活——批量重构、写测试、整理文档——完全不用盯着用量表。
- 状态存在你的主目录里。Reasonix 用一个点文件夹(
~/.reasonix/)保存配置文件,以及按项目区分的会话历史和记忆,所以它能跨次运行记住每个仓库各自的上下文。
第一步:安装
这是一个 npm 全局包:
npm install -g reasonix
reasonix --version
安装到这就完事了。如果你的 Node 装在非标准路径下,记下 npm 的完整路径——第 4 步写更新器的时候还会用到。
第二步:指向 DeepSeek
在 DeepSeek 的平台网站上创建一个 API 密钥(按需付费;我整套智能体系统 7 月头 11 天总共才花了 $2.23)。然后在 Reasonix 的配置文件 ~/.reasonix/config.toml 里告诉它三件事:
# ~/.reasonix/config.toml — the shape, not a paste of mine
[api]
base_url = "https://api.deepseek.com"
api_key = "sk-..." # your key; or reference an env var / key file
[models]
default = "deepseek-v4-flash" # everyday tier
smart = "deepseek-v4-pro" # reasoning tier for hard tasks
不同的智能体 CLI,密钥字段名各不相同,但归根结底都是同一个三元组:base URL、密钥、模型 ID。不管用哪个工具,有两条卫生习惯都适用:
- 任何包含密钥的文件都
chmod 600,而且千万别把密钥直接传在命令行上(它会留在 shell 历史和ps输出里)。 - 两档都配好。"默认用 flash、难的才上 pro"就是省钱的全部秘诀:大多数任务都便宜,只有模型明显吃力的时候才升档。
第三步:子智能体与技能
子智能体是主智能体派生出的、范围明确的工作者——比如"在整个代码库里找出这个函数的所有调用者"——在按 token 计费的模式下,它们也是控制成本的杠杆:工作者可以跑在 flash 档,而编排者用 pro 档来思考。技能则是智能体按需加载的指令文件,这样一套部署流程或者测试写法的约定,只需要写一次,而不用每次会话都重新解释。
第四步:定时保持更新
智能体 CLI 迭代很快,版本一旧就会错过工具层面的修复。与其指望自己记得更新,不如把它排进日程。我这边是每隔一天早上 6 点由调度器跑一次;真正有意思的是脚本本身,因为在 cron 里直接跑一句朴素的 npm update -g,有两种故障模式值得防一手:
#!/usr/bin/env bash
set -euo pipefail
LOG="$HOME/logs/update-reasonix.log"
NPM="$(command -v npm)"
# 1. Lock guard — two overlapping npm runs corrupt the install
exec 9>"${LOG%.log}.lock"
flock -n 9 || { echo "update already running"; exit 0; }
# 2. Log rotation — cron logs grow forever unless you trim them
[ -f "$LOG" ] && tail -n 5000 "$LOG" > "$LOG.tmp" && mv "$LOG.tmp" "$LOG"
echo "before: $("$NPM" list -g reasonix --depth=0 | grep reasonix)" >> "$LOG"
"$NPM" update -g reasonix >> "$LOG" 2>&1
echo "after: $("$NPM" list -g reasonix --depth=0 | grep reasonix)" >> "$LOG"
接到 cron 或 systemd 定时器上都行。在更新前后都记录版本号,这件事比看上去更重要:哪天智能体的行为忽然变了,日志能告诉你是不是更新干的。
附赠:把它放进你的聊天应用里
终端智能体不必只能待在终端里。因为 Reasonix 说到底就是跑在一个 PTY 上的 CLI,你完全可以用 xterm.js 把它串流进一个网页界面,让家里网络上的任何设备都能用它。我的自建聊天应用做的正是这件事——Reasonix 以"终端机器人"的身份出现在常规聊天智能体旁边,还带着启动/重启/停止的控制按钮。整套搭建方法写在《DisPatch:一个自建 AI 聊天应用》里。
踩过的坑
- 推理模型在给出答案之前,看起来就像卡住了。pro 档会在回复之前先流式输出它的思考过程;如果包裹智能体的 wrapper 或网关设置了较短的空闲超时,长时间的思考就会被从中截断。该做的是调高超时,而不是怪模型。
- 密钥绝对不要放进 argv。只能放配置文件(chmod 600)或环境文件里。命令行参数会从历史记录和进程列表里泄漏出去。
- 在更新器里把 npm 路径钉死。cron 运行时的
PATH是精简过的;交互式 shell 和 cron 里解析出来的npm路径可能不一样。要么硬编码,要么在脚本里显式解析清楚。 - 给更新任务上锁。没有
flock的话,迟钝的 npm registry 加上过于频繁的调度,迟早会让你同时跑出两个全局安装,把 CLI 弄坏。 - 留意"升档成瘾"的习惯。按 token 付费之所以便宜,前提是 flash 是默认档。要是每个任务都"为了保险起见"跑 pro,那你等于是把订阅制又重新发明了一遍——头一周记一下花费。
- 会话文件夹会越攒越大。按项目保存历史记录很好用,直到一个话痨智能体攒了好几个月的记录;偶尔清理一下点文件夹里的会话数据。
相关阅读:更全面的 DeepSeek 全面接入指南讲的是如何把真正的 Claude Code CLI 接到 DeepSeek 的 Anthropic 兼容端点上——同一个思路,方向反过来。