11 KiB
Note
本文档由 WeHub 基于上游 README 翻译整理,属于社区翻译,非官方中文文档。
English · 原始项目 · 上游 README
原作者、版权与许可证归属以原始项目及本仓库 LICENSE 文件为准。
English · 简体中文 · 指南 · 规格 · 官方网站 · Discord
Important
Reasonix 1.0 是用 Go 从零重写的版本 —— 本分支(
main-v2)已是新的默认分支,后续开发都在这里。 早期的0.xTypeScript 版本转为 legacy,保留在v1分支(仅维护)。 详见**迁移指南**。npm i -g reasonix仍是安装命令——1.0.0+ 装的是 Go 二进制,0.x是 legacy TS 版。
面向终端的 DeepSeek 原生 AI coding agent。
由配置与插件驱动的极薄 harness——单一静态 Go 二进制,围绕 DeepSeek 的前缀缓存调优,长会话也能把 token 成本压低。
Important
加入社区 · Community — 双语 Discord,提供安装答疑(
#help/#求助)、工作流展示与功能想法。→ https://discord.gg/XF78rEME2D
特性
- 配置驱动:provider、agent、启用的工具、插件全部在
reasonix.toml中声明, 内核无硬编码模型。 - 多模型 · 可组合:DeepSeek 作为预设内置;任何 OpenAI 兼容 端点都只是一条配置。可选让两个模型协同(执行器 + 规划器),各自独立、缓存稳定的 session。
- 插件驱动:外部工具以子进程形式运行,通过 stdio JSON-RPC 通信(MCP 兼容); 内置工具在编译期自注册。
- 缓存友好的上下文维护:启动时注入稳定的环境摘要;旧工具输出会先 snip/prune, 再进入摘要 compaction;内置工具 schema 合约有文档和回归测试保护。
- 零摩擦分发:
CGO_ENABLED=0单二进制;一条命令交叉编译到六个目标平台。 唯一依赖是一个 TOML 解析库。
安装
npm i -g reasonix # 任意系统;自动拉取对应平台的原生二进制
brew install esengine/reasonix/reasonix # macOS
预编译归档(darwin|linux|windows × amd64|arm64)和 SHA256SUMS 见每个
GitHub release。
代码签名
Windows 构建使用 SignPath 基金会 提供的免费代码签名证书, 通过 SignPath.io 完成签名。
从源码构建
make build # -> bin/reasonix(.exe)
make cross # -> dist/(darwin|linux|windows × amd64|arm64)
快速开始
reasonix setup # 配置向导 → ./reasonix.toml
export DEEPSEEK_API_KEY=sk-... # 也可以让 setup 保存到 Reasonix 全局 .env
reasonix # 然后在会话里运行 /init 生成 AGENTS.md(项目记忆)
reasonix run "把 main.go 里的 TODO 实现掉"
reasonix run --model deepseek-pro "给这个函数补单元测试"
echo "解释这段代码" | reasonix run
配置
一个最小的 reasonix.toml——一个 provider 加一个默认模型——就够跑起来:
default_model = "deepseek-flash"
[[providers]]
name = "deepseek-flash"
kind = "openai"
base_url = "https://api.deepseek.com"
model = "deepseek-v4-flash"
api_key_env = "DEEPSEEK_API_KEY"
优先级为 flag > ./reasonix.toml > 用户配置文件 > 内置默认值;从
Reasonix v1.8.1 开始,用户配置位于 macOS/Linux 的 ~/.reasonix/config.toml,
Windows 为 %AppData%\reasonix\config.toml。迁移细节见
配置路径,其中也说明了全局 config.toml
和 .env 的完整结构。Provider 通过 api_key_env 命名密钥,真实密钥值保存在
CLI 与桌面端共用的 Reasonix 全局 <Reasonix home>/.env;项目 .env 不再作为
provider key 的运行时 fallback,但仍会作为当前 workspace 范围内的 MCP/plugin 非 provider ${VAR} 展开来源,不导入 Reasonix 控制变量。权限、沙盒、插件(MCP)、
斜杠命令、@ 引用与双模型设置,全部在 指南 里。
文档
- 指南 —— 配置、权限与沙盒、插件(MCP)、斜杠命令、
@引用、双模型协同。 - 子智能体 Profile —— 在桌面端或 CLI 创建、共享、预览、运行、编辑和安全删除隔离智能体 Profile。
- 能力诊断 ——
reasonix doctor capabilities、桌面端 设置 → 诊断,以及内置 Skill/reasonix-guide,用于 skills / hooks / MCP / 插件排障。 - 机器人使用指南 —— 桌面端连接飞书、Lark、微信 Bot,以及 IM 里的审批、YOLO 和命令交互。
- 规格 —— 工程契约:架构、registry、数据类型与路线图。
- 任务合约与暂停策略 —— 用背景、输出边界、约束和暂停条件组织复杂请求。
- 工具合约 —— provider 可见的内置工具名、 read-only 标记和 schema 快照保护。
- 从 0.x 迁移 —— 从 legacy TypeScript 版本迁到 1.0 Go 重写版。
- Checkpoints 与 rewind —— 基于快照的编辑安全网
(Esc-Esc /
/rewind)。
Star 趋势
支持本项目
如果 Reasonix 帮你省了时间或 token,欢迎请杯咖啡。捐助不会换来 feature 优先级,也不会影响 issue 的处理顺序——就是「谢谢」。
- 国内 — 微信支付(扫下方二维码)
- 海外 — PayPal: paypal.me/yuhuahui
致谢
下面这些朋友的工作塑造了 Reasonix 今天的样子 —— 当前按 commit 数统计的前 20 名贡献者。 完整贡献者列表在 GitHub。
| Contributor | Contributor | Contributor | Contributor |
|---|---|---|---|
| SivanCola | esengine | ttmouse | lifu963 |
| reasonix(anonymous) | HUQIANTAO | GTC2080 | light-front-theory |
| merge-order-check(anonymous) | Li-Charles-One | eghrhegpe | wufengfan(anonymous) |
| CVEngineer66 | dependabot[bot] | lanshi17 | SuMuxi66 |
| CnsMaple | cyq1017 | JesonChou | XTLine |
另外特别感谢 Bernardxu123 设计的项目 logo, 以及 AIGC Link 在小红书上的推广。
MIT —— 见 LICENSE
由 esengine/DeepSeek-Reasonix 社区共建
