MCPcopy
hub / github.com/esengine/DeepSeek-Reasonix

github.com/esengine/DeepSeek-Reasonix @desktop-v1.15.0 sqlite

repository ↗ · DeepWiki ↗ · release desktop-v1.15.0 ↗
13,736 symbols 59,139 edges 987 files 3,380 documented · 25%
README

Reasonix

English  ·  简体中文  ·  指南  ·  规格  ·  官方网站  ·  Discord

[!IMPORTANT] Reasonix 1.0 是用 Go 从零重写的版本 —— 本分支(main-v2)已是新的默认分支,后续开发都在这里。 早期的 0.x TypeScript 版本转为 legacy,保留在 v1 分支(仅维护)。 详见迁移指南npm i -g reasonix 仍是安装命令——1.0.0+ 装的是 Go 二进制,0.x 是 legacy TS 版。

npm version CI license downloads GitHub stars AtomGit stars contributors Discussions Discord

oosmetrics — Top 2 in Agents by velocity oosmetrics — Top 3 in LLMs by velocity oosmetrics — Top 3 in CLI by velocity

面向终端的 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)、斜杠命令、 @ 引用、双模型协同。
  • 机器人使用指南 —— 桌面端连接飞书、Lark、微信 Bot,以及 IM 里的审批、YOLO 和命令交互。
  • 规格 —— 工程契约:架构、registry、数据类型与路线图。
  • 工具合约 —— provider 可见的内置工具名、 read-only 标记和 schema 快照保护。
  • 从 0.x 迁移 —— 从 legacy TypeScript 版本迁到 1.0 Go 重写版。
  • Checkpoints 与 rewind —— 基于快照的编辑安全网 (Esc-Esc / /rewind)。

Star 趋势

Star History Chart

支持本项目

如果 Reasonix 帮你省了时间或 token,欢迎请杯咖啡。捐助不会换来 feature 优先级,也不会影响 issue 的处理顺序——就是「谢谢」。

微信支付收款码

致谢

下面这些朋友的工作塑造了 Reasonix 今天的样子 —— 综合 commit 数和代码量两个维度。 按字母顺序排列,排名不分先后。 完整贡献者列表在 GitHub

另外特别感谢 Bernardxu123 设计的项目 logo, 以及 AIGC Link 在小红书上的推广。

esengine/DeepSeek-Reasonix 贡献者


MIT —— 见 LICENSE

esengine/DeepSeek-Reasonix 社区共建

Extension points exported contracts — how you extend this code

Provider (Interface)
Provider is a chat-capable model backend. [25 implementers]
internal/provider/provider.go
Sender (Interface)
Sender delivers a notification without taking ownership of event routing. [10 implementers]
internal/notify/sink.go
Factory (Interface)
Factory builds the per-session controller. The composition root (the cli's `reasonix acp` command) implements it by reus [9 …
internal/acp/service.go
Runner (Interface)
Runner carries out one task turn. Both Agent (single model) and Coordinator (two-model) satisfy it, so the CLI stays agn [24 …
internal/agent/coordinator.go
Tool (Interface)
Tool is a capability the model can invoke. [68 implementers]
internal/tool/tool.go
Sink (Interface)
Sink consumes a turn's events. The agent calls Emit serially from its run loop (tool execution may fan out across gorout [27 …
internal/event/event.go
Approver (Interface)
Approver resolves an Ask decision interactively. Implementations live in the front-end (the chat TUI); a non-interactive [5 …
internal/permission/permission.go
Adapter (Interface)
Adapter 是平台适配器接口,每个平台实现一个。 [5 implementers]
internal/bot/types.go

Core symbols most depended-on inside this repo

t
called by 1749
desktop/frontend/src/lib/i18n.tsx
WriteFile
called by 783
internal/config/config.go
Error
called by 730
internal/acp/server.go
New
called by 415
internal/control/controller.go
Close
called by 364
internal/control/port.go
ReadFile
called by 325
desktop/frontend/src/lib/bridge.ts
NewSession
called by 318
internal/agent/session.go
push
called by 311
internal/tool/builtin/gitignore.go

Shape

Function 9,211
Method 3,150
Struct 1,027
Interface 235
TypeAlias 57
Class 36
FuncType 20

Languages

Go80%
TypeScript20%
Python1%

Modules by API surface

desktop/frontend/src/lib/bridge.ts546 symbols
desktop/app.go430 symbols
desktop/tabs.go312 symbols
internal/control/controller.go251 symbols
desktop/frontend/src/components/SettingsPanel.tsx202 symbols
desktop/app_test.go185 symbols
internal/memorycompiler/runtime.go165 symbols
internal/agent/agent.go136 symbols
internal/control/port.go133 symbols
internal/cli/chat_tui.go119 symbols
desktop/settings_app.go116 symbols
internal/config/config.go113 symbols

Dependencies from manifests, versioned

aead.dev/minisignv0.3.0 · 1×
charm.land/bubbles/v2v2.1.0 · 1×
charm.land/bubbletea/v2v2.0.7 · 1×
charm.land/lipgloss/v2v2.0.4 · 1×
fyne.io/systrayv1.12.2 · 1×
github.com/atotto/clipboardv0.1.4 · 1×
github.com/bep/debouncev1.2.1 · 1×
github.com/charmbracelet/colorprofilev0.4.3 · 1×
github.com/charmbracelet/ultravioletv0.0.0-2026060115580 · 1×
github.com/charmbracelet/x/ansiv0.11.7 · 1×

For agents

$ claude mcp add DeepSeek-Reasonix \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact