Reasonix
DeepSeek 専用 · プレフィックスキャッシュ前提 · ターミナルファーストのコーディングエージェント(npm: reasonix)
Reasonix(旧称 DeepSeek-Reasonix)は、DeepSeek API だけをバックエンドに据えたターミナル向けコーディングエージェント。多プロバイダ対応ではなく、DeepSeek のプレフィックスキャッシュ(前ターンとバイト単位で一致した先頭部分は課金が大幅に安い)を前提にループ全体を設計している。
製品の北極星は「動かしっぱなしでも安いコーディングエージェント」。Ink ベースの TUI、組み込み Web ダッシュボード、Tauri デスクトップ(プレリリース)、MCP・スキル・メモリ・フックなど、長時間セッションを支える周辺機能が同梱される。
DeepSeek API キーが必要。platform.deepseek.com で取得し、初回起動時に貼り付けると ~/.reasonix/config.json に保存される。
# グローバルインストール
npm install -g reasonix
reasonix code my-project
# 一度だけ試す
npx reasonix code
# 短いエイリアス(同じ CLI)
npm install -g dsnix
dsnix code
サブコマンドなしの reasonix はカレントディレクトリで code を起動する。ファイルシステム・シェル・SEARCH/REPLACE 編集は code モードが担い、ツールなしの軽量チャットは chat。
| コマンド | 用途 |
|---|---|
reasonix / reasonix code [dir] | コーディングエージェント(デフォルト) |
reasonix chat | ツールなしの対話(MCP は接続可) |
reasonix run "task" | ワンショット実行(パイプ向け) |
reasonix doctor | Node・API キー・MCP の健全性チェック |
reasonix update | パッケージ自身のアップグレード |
汎用フレームワーク向けの機能は意図的に削ぎ落としている。各柱は docs/ARCHITECTURE.md の一次情報に対応する。
parallelSafe)で読み取り系を束ねつつ、書き込み順序は保持。flatten · scavenge · truncation · storm の4パス。推論ブロック内の JSON 取りこぼしや引数欠落を修復。/model による明示的ティア切替、<<<NEEDS_PRO>>> による自己申告エスカレーション。コンテキストの3領域
flowchart TB
subgraph PREFIX["IMMUTABLE PREFIX"]
SYS["system + tool_specs + few_shots"]
end
subgraph LOG["APPEND-ONLY LOG"]
TURNS["assistant / tool / user turns..."]
end
subgraph SCRATCH["VOLATILE SCRATCH"]
R1["R1 thought · transient plan"]
end
PREFIX --> LOG
LOG --> SCRATCH
SCRATCH -. distill via repair .-> LOG
Repair パイプライン
reasoning_content から取りこぼした tool call を回収。コスト制御のプリセット
| プリセット | モデル | 相対コスト | 備考 |
|---|---|---|---|
flash | v4-flash | 1× | 既定。補助呼び出しも flash に固定 |
auto | flash → 難ターンで pro | 1–3× | バランス型 |
pro | v4-pro | ~12× | /model pro で明示切替 |
flowchart LR CLI["cli/ · Ink TUI"] --> LOOP["loop.ts"] LOOP --> CLIENT["client.ts"] LOOP --> REPAIR["repair/"] LOOP --> TOOLS["tools/"] TOOLS --> MCP["mcp/"] LOOP --> CORE["core/ events"] SERVER["server/ · dashboard API"] --> LOOP MEMORY["memory/ · skills"] --> LOOP
| パス | 役割 |
|---|---|
src/loop.ts | キャッシュファーストのメインループ(Pillar 1 + 3) |
src/repair/ | ツール呼び出し修復パイプライン(Pillar 2) |
src/tools/ | filesystem · shell · web · plan · subagent · memory など |
src/mcp/ | MCP クライアント(stdio / SSE / Streamable HTTP) |
src/core/ | イベントログ・純粋 reducer・eventize |
src/code/ | SEARCH/REPLACE 編集ブロックと apply ゲート |
src/server/ | ダッシュボード用 HTTP API |
src/cli/ui/ | Ink TUI、スラッシュコマンド、カードストリーム |
dashboard/ · desktop/ | Web SPA と Tauri ネイティブ UI(CLI と同一ループ) |
src/ports/ に ModelClient・ToolHost・EventSink などの境界があり、src/adapters/ が JSONL シンク等の具体実装を提供。テストでは in-process fake MCP が使われる。
| 能力 | code | chat |
|---|---|---|
ファイルシステム + edit_file | あり | なし |
SEARCH/REPLACE → /apply レビュー | あり | なし |
| シェル(承認ゲート付き) | あり | なし |
Plan · /todo · スキル作成 | あり | なし |
MCP · Web 検索 · ask_choice | あり | あり |
| メモリスコープ | project + global | global のみ |
作業ディレクトリは起動時のカレント(または --dir)に固定される。セッション途中のルート切替は意図的に未対応(メモリパスと整合のため)。
編集フロー(code モード)
# アシスタントが SEARCH/REPLACE ブロックを提案
# ディスクへ書き込むのはユーザーが /apply を承認したときだけ
/apply # 提案中の編集を適用
/undo # 直近の適用を巻き戻し(edit history)
リモートチャネルとして QQ / Telegram から既存セッションにメッセージを流し込むこともできる(デスクトップまたは CLI 上の /qq connect 等)。
グローバル設定は ~/.reasonix/config.json。プロジェクト単位の上書きは <project>/.reasonix/ 配下。詳細キーは公式 Configuration Guide を参照。
| トピック | 要点 |
|---|---|
| MCP | stdio / SSE / Streamable HTTP。設定と --mcp で同一スペック |
| Skills | Markdown プレイブック。inline または subagent。Claude 形式 SKILL.md も読み込み |
| Memory | user / feedback / project / reference をプレフィックスへピン留め |
| Hooks | PreToolUse · PostToolUse · UserPromptSubmit · Stop |
| Permissions | ワークスペースごとのシェル許可リスト(前方一致) |
| Semantic index | reasonix index — Ollama または OpenAI 互換 embedding |
| Web search | Bing 既定。/search-engine で Baidu・SearXNG・各種 API に切替 |
# スキル作成(ネイティブ形式)
/skill new my-skill # <project>/.reasonix/skills/my-skill.md
/skill new my-skill --global # ~/.reasonix/skills/
# 開発者向け(リポジトリルート)
npm run dev # tsx src/cli/index.ts
npm run verify # build + lint + typecheck + test
| Reasonix | Claude Code | Cursor | Aider | |
|---|---|---|---|---|
| バックエンド | DeepSeek | Anthropic | OpenAI / Anthropic | 任意(OpenRouter 等) |
| ライセンス | MIT | クローズド | クローズド | Apache 2 |
| プレフィックスキャッシュ設計 | 中核 | 該当なし | 該当なし | 副次的 |
| 組み込み Web ダッシュボード | あり | — | IDE 内 | — |
| Plan · MCP · hooks · skills | あり | あり | あり | 一部 |
意図的な非目標
- マルチプロバイダ — DeepSeek 専用が設計上の前提
- IDE 統合 — 差分は
git diff、ツリーはターミナル前提 - 最難関ベンチ専用の推論 — コーディング向けコスト曲線を優先
- 完全オフライン / 無料運用 — 有料 DeepSeek API キーが必要
- GitHub: esengine/DeepSeek-Reasonix — 本体リポジトリ
- npm: reasonix
- 公式サイト · Configuration Guide
- ARCHITECTURE.md — 4本柱の詳細
- CLI-REFERENCE.md — サブコマンドとスラッシュ一覧
- README.ja-JP.md · README.md
- benchmarks/ — τ-bench・実運用キャッシュケーススタディ
- Discord — セットアップ支援とコントリビュータ向けチャンネル