jcode

Rust 製の高速 TUI コーディングエージェントハーネス。狙いは「複数セッションを軽く動かし、モデル・記憶・ブラウザ・自律チームをひとつの作業面で扱う」こと。

1 — 概要

jcode は、コーディングエージェントのための次世代ハーネス。README では「multi-session workflows, infinite customizability, performance」を核に掲げ、TUI、永続サーバ、Provider 連携、メモリ、Swarm、Self-Dev を Rust ワークスペースとして束ねている。

0.11.4Cargo version
30+Workspace crates
14.0msFirst frame
Linux/macOS/WinPlatforms

単体 CLI ではなく、複数クライアントが接続できるサーバ型アーキテクチャを前提にしている。軽い起動、低い増分メモリ、再接続、自己更新・自己開発が一続きの体験になる。

  • 表層: 高速な TUI と CLI。
  • 中核: サーバがセッション・Provider・MCP・状態を保持。
  • 拡張: メモリ、Swarm、Self-Dev、ブラウザ自動化。
  • 設計圧: コンパイル速度のために DTO と実行時責務を分離。
2 — 性能とスケーリング

jcode はマルチセッション利用を前提に、起動レイテンシと追加セッションあたりのメモリ増分を強く押さえている。README のベンチでは、1セッション時と10セッション時の両方で低い PSS を主張している。

観点jcode比較対象の読み方
1 active session167.1 MB(local embedding off: 27.8 MB)OpenCode / Claude Code は 370MB 超の値が並ぶ
10 active sessions260.8 MB(local embedding off: 117.0 MB)追加セッション時の固定費を抑える設計
Time to first frame14.0 msREADME 上では pi / Codex CLI / Claude Code より大幅に高速
Extra PSS per added session約 10.4 MB複数セッションを常用するための主要指標
設計の意味: 速さは単なる気持ちよさだけじゃない。Swarm や複数作業面を前提にすると、1セッションごとの増分コストがそのまま並列作業の上限になる。
3 — サーバ・クレート構成
01
初回起動
jcode が既存サーバを探し、無ければ jcode serve をデーモン起動して接続する。
02
クライアント接続
TUI クライアントは Unix socket 経由で接続し、セッションを作成または再開する。
03
Reload / reconnect
/reload でサーバが同じ socket に再 exec。クライアントは自動再接続する。

Cargo.toml は root crate に加え、type crate、provider crate、TUI crate、mobile/desktop crate を持つワークスペースを定義している。

jcode-core jcode-*-types jcode-provider-* jcode-tui-* jcode-mobile-core jcode-desktop

境界設計の主目的は、通常開発と Self-Dev のビルドを速くすること。安定 DTO は軽い type crate へ、ストレージ・TUI・Provider・プロセス管理などの実行時責務は root 側に残す、という方針が文書化されている。

4 — Agent memory

jcode のメモリは、ユーザーが毎回ツールを呼ばなくても関連情報が会話に戻る設計。各ターン/応答を semantic vector 化し、類似検索とグラフ探索で候補を集め、必要なら sideagent が妥当性を確認して次ターン以降に注入する。

Embedding hits

会話文脈から近い記憶を cosine similarity で探す。

Graph retrieval

タグ・クラスタ・関連エッジをたどり、直接一致しない記憶も拾う。

Ambient consolidation

古さ・矛盾・重複を整理し、記憶グラフを保守する。

Main agent turn
  -> context handler
  -> embedder
  -> similarity search
  -> cascade retrieval over memory graph
  -> sidecar verification
  -> pending memory for next turn
5 — Swarm と Self-Dev

同じリポジトリ内に複数エージェントを立て、サーバが協調状態を管理する。あるエージェントが、別エージェントが読んだファイルを編集した場合、通知して差分確認できる。

DM、全体 broadcast、リポジトリ単位の broadcast を使い分け、作業チームとして並列処理できる。エージェント自身が worker swarm を起動する構想も README にある。

jcode リポジトリ内で動くと self-dev mode を有効化し、自分のソースを編集、build/test、binary reload まで継続できる。高速ビルドと reload 設計がここで効く。

6 — Provider / OAuth / Browser

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 styleclaude, openai, copilot, gemini, azure既存サブスクや公式ログインを使う
Aggregator / compatibleopenrouter, openai-compatible任意の OpenAI 互換 API やルーターを使う
Local / self-hostedlmstudio, ollama, vLLM endpointローカル推論やLAN内推論をつなぐ
Browser toolFirefox Agent Bridgeagent session 内で open / click / type / screenshot などを行う
7 — 導入と日常操作

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
認知負荷の低い見方: jcode は「CLI コマンド群」ではなく「軽いサーバを中心に、セッション・モデル・記憶・ツール・チームを接続する作業OS」と捉えると全体像が掴みやすい。