jcode
Rust 製の高速 TUI コーディングエージェントハーネス。狙いは「複数セッションを軽く動かし、モデル・記憶・ブラウザ・自律チームをひとつの作業面で扱う」こと。
jcode は、コーディングエージェントのための次世代ハーネス。README では「multi-session workflows, infinite customizability, performance」を核に掲げ、TUI、永続サーバ、Provider 連携、メモリ、Swarm、Self-Dev を Rust ワークスペースとして束ねている。
単体 CLI ではなく、複数クライアントが接続できるサーバ型アーキテクチャを前提にしている。軽い起動、低い増分メモリ、再接続、自己更新・自己開発が一続きの体験になる。
- 表層: 高速な TUI と CLI。
- 中核: サーバがセッション・Provider・MCP・状態を保持。
- 拡張: メモリ、Swarm、Self-Dev、ブラウザ自動化。
- 設計圧: コンパイル速度のために DTO と実行時責務を分離。
jcode はマルチセッション利用を前提に、起動レイテンシと追加セッションあたりのメモリ増分を強く押さえている。README のベンチでは、1セッション時と10セッション時の両方で低い PSS を主張している。
| 観点 | jcode | 比較対象の読み方 |
|---|---|---|
| 1 active session | 167.1 MB(local embedding off: 27.8 MB) | OpenCode / Claude Code は 370MB 超の値が並ぶ |
| 10 active sessions | 260.8 MB(local embedding off: 117.0 MB) | 追加セッション時の固定費を抑える設計 |
| Time to first frame | 14.0 ms | README 上では pi / Codex CLI / Claude Code より大幅に高速 |
| Extra PSS per added session | 約 10.4 MB | 複数セッションを常用するための主要指標 |
jcode が既存サーバを探し、無ければ jcode serve をデーモン起動して接続する。/reload でサーバが同じ socket に再 exec。クライアントは自動再接続する。Cargo.toml は root crate に加え、type crate、provider crate、TUI crate、mobile/desktop crate を持つワークスペースを定義している。
境界設計の主目的は、通常開発と Self-Dev のビルドを速くすること。安定 DTO は軽い type crate へ、ストレージ・TUI・Provider・プロセス管理などの実行時責務は root 側に残す、という方針が文書化されている。
jcode のメモリは、ユーザーが毎回ツールを呼ばなくても関連情報が会話に戻る設計。各ターン/応答を semantic vector 化し、類似検索とグラフ探索で候補を集め、必要なら sideagent が妥当性を確認して次ターン以降に注入する。
会話文脈から近い記憶を cosine similarity で探す。
タグ・クラスタ・関連エッジをたどり、直接一致しない記憶も拾う。
古さ・矛盾・重複を整理し、記憶グラフを保守する。
Main agent turn
-> context handler
-> embedder
-> similarity search
-> cascade retrieval over memory graph
-> sidecar verification
-> pending memory for next turn
同じリポジトリ内に複数エージェントを立て、サーバが協調状態を管理する。あるエージェントが、別エージェントが読んだファイルを編集した場合、通知して差分確認できる。
DM、全体 broadcast、リポジトリ単位の broadcast を使い分け、作業チームとして並列処理できる。エージェント自身が worker swarm を起動する構想も README にある。
jcode リポジトリ内で動くと self-dev mode を有効化し、自分のソースを編集、build/test、binary reload まで継続できる。高速ビルドと reload 設計がここで効く。
jcode は subscription-backed OAuth と直接 API Provider の両方を扱う。Claude、OpenAI/ChatGPT/Codex、Gemini、GitHub Copilot、Azure OpenAI、OpenRouter、OpenAI-compatible、LM Studio、Ollama などが README に列挙されている。
| 分類 | 例 | 使いどころ |
|---|---|---|
| Native / first-party style | claude, openai, copilot, gemini, azure | 既存サブスクや公式ログインを使う |
| Aggregator / compatible | openrouter, openai-compatible | 任意の OpenAI 互換 API やルーターを使う |
| Local / self-hosted | lmstudio, ollama, vLLM endpoint | ローカル推論やLAN内推論をつなぐ |
| Browser tool | Firefox Agent Bridge | agent session 内で open / click / type / screenshot などを行う |
README の最短導入は install script。Homebrew、Windows PowerShell、source build も用意されている。
# macOS & Linux
curl -fsSL https://raw.githubusercontent.com/1jehuang/jcode/master/scripts/install.sh | bash
# Launch the TUI
jcode
# Run a single command non-interactively
jcode run "say hello"
# Resume a previous session by memorable name
jcode --resume fox
# Run as a persistent background server, then attach more clients
jcode serve
jcode connect
# Browser tool setup
jcode browser status
jcode browser setup
- GitHub: 1jehuang/jcode — 本体リポジトリ。
- README.md — 性能比較、メモリ、Swarm、Provider、導入手順。
- SERVER_ARCHITECTURE.md — single-server / multi-client の設計。
- MEMORY_ARCHITECTURE.md — graph-based hybrid memory。
- CRATE_OWNERSHIP_BOUNDARIES.md — クレート分割とコンパイル速度の境界設計。