Star 历史趋势
数据来源: GitHub API · 生成自 Stargazers.cn
README.md

Reasonix

English  ·  简体中文  ·  Website  ·  Guide  ·  Architecture  ·  Benchmarks  ·  Discord

npm version CI license downloads node GitHub 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


A DeepSeek-native AI coding agent for your terminal.

Engineered around prefix-cache stability — so token costs stay low across long sessions, and you can leave it running.


Reasonix code mode — assistant proposes a SEARCH/REPLACE edit; nothing on disk until /apply


[!TIP] Cache stability isn't a feature you turn on; it's an invariant the loop is designed around. That's the whole reason Reasonix is DeepSeek-only — every layer is tuned to the byte-stable prefix-cache mechanic.

[!NOTE] Real user, single day (2026-05-01): 435M input tokens, 99.82% cache hit, ~$12 instead of the ~$61 the same workload would cost with no cache on v4-flash — see the case study. DeepSeek provides the cacheable bytes; the four mechanisms in Pillar 1 are how Reasonix keeps them cacheable across long sessions.

[!IMPORTANT] Community · 加入社区 — bilingual Discord with channels for setup help (#help / #求助), workflow showcases, feature ideas, and contributor-only PR coordination. Verify your GitHub in-server to get the Contributor role automatically. → https://discord.gg/XF78rEME2D


Install

Requires Node ≥ 22. Works on macOS · Linux · Windows (PowerShell · Git Bash · Windows Terminal).

Install Reasonix globally if you want the reasonix command available on your PATH:

npm install -g reasonix reasonix code my-project # paste a DeepSeek API key on first run; persists after

Or run it once without installing globally:

cd my-project npx reasonix code # always uses the latest package by default

Grab a DeepSeek API key → · reasonix code --help for flags.

If you use Reasonix daily, global install is the simplest path. If you just want to try it, use npx.

Prefer fewer keystrokes? The shorter dsnix alias resolves to the same CLI:

npm install -g dsnix # exposes `dsnix` on PATH, depends on reasonix npx dsnix@latest code # one-shot via the shorter command

A global npm install -g reasonix also drops a dsnix shim on PATH, so the two are interchangeable.

Bare reasonix (no subcommand) launches code in the current directory — typing reasonix and reasonix code are equivalent.

CommandWhen
reasonix / reasonix code [dir]The coding agent. Start here.
reasonix chatPlain chat — no filesystem or shell tools.
reasonix run "task"One-shot, streams to stdout. Good for pipes.
reasonix doctorHealth check: Node, API key, MCP wiring.
reasonix updateUpgrade Reasonix itself.

Other subcommands (replay · diff · events · stats · index · mcp · prune-sessions) are in reasonix --help and the CLI reference.

QQ channel

QQ can extend an existing chat, code, or desktop session as a remote channel. It is part of the current session flow, not a separate runtime mode.

  • CLI: start a session, then run /qq connect
  • Desktop: open Settings -> General -> QQ Channel

Once connected, QQ messages can enter the current session, assistant replies route back to QQ, and follow-up interactions can continue remotely.

For full setup, desktop quick start, and troubleshooting, see QQ channel setup.

Desktop client (prerelease)

A native Tauri client for users who want a GUI over the same loop. Multi-tab, the right-panel shows files the agent has read or edited this session, the same cost / cache / token meters live at the bottom. Same DeepSeek API key, same ~/.reasonix config — the desktop bundles its own Node runtime, no separate npm install step.

Download platform installers from GitHub Releases. The desktop ships as a prerelease: the loop and protocol are the same as the CLI, but the UI is still being polished and the installers aren't code-signed yet.

  • macOS — first launch hits Gatekeeper. One-time fix: xattr -dr com.apple.quarantine /Applications/Reasonix.app (or right-click → Open → confirm).
  • Windows — SmartScreen warns "Unknown publisher". Click More info → Run anyway.
  • Linux.deb and .AppImage ship plain, no extra step.

The CLI remains the canonical surface. Anything that lands in the CLI is also available from the desktop's composer.

Working in another folder · chat vs. code · author a skill

Working in a different folder. Reasonix scopes filesystem tools to the launch directory; pass --dir to retarget. Mid-session switching isn't supported by design (memory paths would tangle with stale roots) — quit and relaunch.

npx reasonix code --dir /path/to/project

Picking chat vs code. code is the default and the only mode with filesystem / shell tools and SEARCH/REPLACE review. chat is the lighter, tools-off shell — reach for it when you want a thinking partner with MCP attached but no disk access.

What you getcodechat
Filesystem tools + edit_file
SEARCH/REPLACE → /apply review
Shell tool (gated)
Plan mode · /todo · /skill new · /mcp add
Memory (remember / recall_memory)project + globalglobal only
MCP servers from config · web search · ask_choice
Coding system promptgeneric
Session scopeper-directoryshared default

Author your first skill. No remote registry — write them directly. Edit the file (description: frontmatter + body), then /skill list. Add runAs: subagent to spawn an isolated subagent loop instead of inlining the body.

/skill new my-skill # <project>/.reasonix/skills/my-skill.md /skill new my-skill --global # ~/.reasonix/skills for cross-project use

Claude-format skills also load. <project>/.claude/skills/<name>/SKILL.md and ~/.claude/skills/ are read alongside Reasonix's native paths, so tooling that emits Claude-format skills works out of the box. Example — drop OpenSpec workflows in without an upstream adapter:

npx openspec init --tools claude # writes .claude/skills/openspec-*/SKILL.md /skill openspec-propose <task> # then invoke from Reasonix

Configuration

One JSON file at ~/.reasonix/config.json plus per-project overrides under <project>/.reasonix/. The full bilingual reference — every key, every slash command, the on-disk shape of skills/memory/hooks — lives at:

📘 Configuration Guide · 中文

TopicQuick read
MCP serversstdio · SSE · Streamable HTTP. One spec format works for both config.json and --mcp.
SkillsMarkdown playbooks the model can invoke. inline or subagent mode.
MemoryUser-private knowledge pinned into the prefix. user / feedback / project / reference types.
HooksShell commands on lifecycle events. PreToolUse (gating) · PostToolUse · UserPromptSubmit · Stop.
PermissionsPer-workspace shell allowlist. Exact-prefix match.
Web searchMojeek by default; switch to self-hosted SearXNG or Metaso with /search-engine.
Semantic indexreasonix index — local Ollama or any OpenAI-compatible embedding endpoint.

What makes Reasonix different

The loop is organized around three pillars. Each one solves a problem generic agent frameworks don't even see — because they were designed for a different cache mechanic.

Click through to the full architecture writeup → Pillar 1 — Cache-first loop · Pillar 2 — Tool-call repair · Pillar 3 — Cost control


Capabilities

Reasonix capabilities — cell-diff renderer, MCP, plan mode, permissions, dashboard, persistent sessions, hooks/skills/memory, semantic search, auto-checkpoints, /effort knob, transcript replay, event log


How it compares

ReasonixClaude CodeCursorAider
BackendDeepSeekAnthropicOpenAI / Anthropicany (OpenRouter)
LicenseMITclosedclosedApache 2
Cost profilelow per taskpremiumsubscription + usevaries
DeepSeek prefix-cacheengineerednot applicablenot applicableincidental
Embedded web dashboardyesn/a (IDE)
Configurable web search engine/search-engine
Persistent per-workspace sessionsyespartialn/a
Plan mode · MCP · hooks · skillsyesyesyespartial
Web search (Mojeek + SearXNG + Metaso)yesyesyesyes
Open community developmentyesyes

For live cache-hit rates, costs, and methodology, see benchmarks/ — the numbers move with model pricing, so they live with the harness, not in the README.


Documentation


Community

[!NOTE] Reasonix is open source and community-developed. Every avatar in the Acknowledgments wall at the bottom of this file is a real PR that shipped.

Scoped starter tickets — each with background, code pointers, acceptance criteria, and hints — live under the good first issue label. Pick anything open.

Open Discussions — opinions wanted:

Already using Reasonix and willing to help others discover it? Publish blog posts, articles, screenshots, talks, or videos to Show and tell. The project has no marketing budget — community word of mouth is how new users find it. Sustained advocates earn the badge below, displayed next to the contributors wall once awarded:

Reasonix Advocate badge — earned by sustained advocates

Before your first PR: read CONTRIBUTING.md — short, strict rules (comments, errors, libraries-over-hand-rolled). tests/comment-policy.test.ts enforces the comment ones; npm run verify is the pre-push gate. By participating you agree to the Code of Conduct. Security issues → SECURITY.md.


Non-goals

[!IMPORTANT] Reasonix is opinionated. Some things it deliberately doesn't do — listed here so you can pick the right tool for your work.

  • Multi-provider flexibility. DeepSeek-only on purpose. Coupling to one backend is the feature, not a limitation.
  • IDE integration. Terminal-first. The diff lives in git diff, the file tree in ls. The dashboard is a companion, not a Cursor replacement.
  • Hardest-leaderboard reasoning. Claude Opus still wins some benchmarks. DeepSeek is competitive on coding; if your work is "solve this PhD proof" rather than "fix this auth bug," start with Claude.
  • Air-gapped / fully-free. Reasonix needs a paid DeepSeek API key. For air-gapped or zero-cost runs see Aider + Ollama or Continue.

Star History

Star History Chart

Support

If Reasonix has been useful and you'd like to say thanks, you can. It stays a coffee, not a contract — donations don't buy feature priority or change how issues get triaged.

WeChat Pay QR code


Acknowledgments

A small list of folks whose work has shaped Reasonix the most — measured by both commit count and code volume. Listed alphabetically, no ordering of importance. The full contributor graph is on GitHub.

Also a separate thank-you to Bernardxu123 for designing the project logo (see docs/brand/), and to AIGC Link for promoting the project on XiaoHongShu.

Contributors to esengine/DeepSeek-Reasonix



MIT — see LICENSE
Built by the community at esengine/DeepSeek-Reasonix

关于 About

DeepSeek-native AI coding agent for your terminal. Engineered around prefix-cache stability — leave it running.
agentagent-frameworkai-agentai-codingclicoding-agentdeepseekdeveloper-toolsinkllmprompt-cachingr1terminaltool-usetuitypescript

语言 Languages

TypeScript92.0%
CSS6.3%
JavaScript1.3%
Rust0.3%
NSIS0.1%
HTML0.0%

提交活跃度 Commit Activity

代码提交热力图
过去 52 周的开发活跃度
1338
Total Commits
峰值: 308次/周
Less
More

核心贡献者 Contributors