AI詳細解説

CodeWhale詳細解説:DeepSeek V4およびMiMo向けRust製ターミナルエージェント

CodeWhaleは、DeepSeek V4、MiMoサポート、承認モード、サブエージェント、MCP、side-gitロールバック、そして実際の開発タスクを通じてモデルを安定させるための長期的な憲法ハーネスを中心に構築された、ターミナルネイティブなRustコーディングエージェントです。

2026年6月更新
Rust製ターミナルコーディングエージェント、DeepSeek V4ルーティング、サブエージェント、ローカルコードワークスペースを示すCodeWhaleガイドのヒーロー画像

要約すると、CodeWhaleはNodeのラッパーではなく、単なるチャットUIでもありません。これはペアリングされたRustバイナリシステムであり、`codewhale`が`codewhale-tui`にディスパッチし、モデルの推論をストリーミングし、エンジンを通じてツールをルーティングし、ロールバックスナップショットを記録し、コストとキャッシュの動作を追跡しながら並行してサブエージェントを実行できます。

Get the latest on AI, LLMs & developer tools

New MCP servers, model updates, and guides like this one — delivered weekly.

編集メモ

この記事は、2026年6月2日時点で収集されたGitHubリポジトリ、README、リリースノート、アーキテクチャ/プロバイダー/インストールに関するドキュメント、現在のIssueおよびPRの状況、Xの投稿、Redditの議論に基づいています。スター数やフォーク数は急速に変化するため、ハードコーディングは避けています。

1. CodeWhale を一言で

CodeWhaleは、MITライセンスのRustターミナルコーディングエージェントであり、ツールが豊富なTUI、明示的な承認モード、サブエージェント、MCP、LSP診断、ランタイムAPI、side-gitロールバックの背後でDeepSeek V4とMiMoをラップしています。

領域詳細重要な理由
リポジトリHmbown/CodeWhalehttps://github.com/Hmbown/CodeWhale
主な言語Rust調査時点での GitHub 上の主な言語。
ライセンスMIT同梱物やバイナリのライセンスは必要に応じて別途確認してください。
作成日2026年1月19日最新リリース確認:v0.8.50(2026年6月2日)

2. なぜ重要か

このプロジェクトが重要なのは、DeepSeek V4が長期コンテキストのコーディングセッションの経済性を変えるためです。CodeWhaleは、その安価なコンテキストを、明示的な権限ルール、証拠優先のツール使用、プレフィックスキャッシュの安定性、ターンごとのモデル自動ルーティングといった耐久性のあるターミナルハーネスに変えようとしています。

また、これは特定のエージェントカテゴリに属しています。つまり、IDEの中だけでなく、ターミナル内にエージェントを置きたい人向けのツールです。そのようなユーザーは、シェルアクセス、タスクキュー、ログ、ヘッドレスな`exec`出力、リモートワークスペース、そして長いターンがうまくいかなくなった時のリカバリを重視します。

興味深いプロダクトとしての賭けは、そのハーネスにあります。CodeWhaleはモデルをシステムの一部として扱います。周囲のルール、承認ゲート、ツールレジストリ、LSPフィードバック、プロバイダーレジストリ、メモリ、スナップショット、そしてサブエージェントの要約こそが、実際のプロダクトの表面です。

3. アーキテクチャとメンタルモデル

CodeWhaleは、ディスパッチャーとランタイムとして考えると最も理解しやすいです。`codewhale`がコンパニオンである`codewhale-tui`バイナリを起動し、ランタイムがratatuiインターフェースと非同期エンジンを駆動し、エンジンがOpenAI-compatibleなストリーミングクライアントと型付きツールレジストリと通信します。

領域詳細重要な理由
ディスパッチャー`codewhale` CLI一致するランタイムバイナリを検索して起動するエントリーコマンド。
ランタイム`codewhale-tui`インタラクティブなTUI、ターンループ、ツールディスパッチ、セッション状態、タスクキュー、および診断。
モデルパスOpenAI-compatibleなチャット補完DeepSeekが主要なルートですが、プロバイダーのドキュメントにはOpenRouter、NVIDIA NIM、Ollama、vLLM、SGLangなどが含まれます。
ツールレイヤーShell、file、git、web、MCP、RLM、サブエージェントモデルは自由形式のターミナルテキストではなく、型定義されたツールを通じて動作します。
セーフティモデルPlan、Agent、YOLO、サンドボックス、承認Planは読み取り専用、Agentは機密操作を制限し、YOLOは信頼されたワークスペース内で自動承認を行います。
リカバリSide-gitスナップショットと`/restore`すべてのターンで、プロジェクト`.git`の外側にロールバック状態を記録します。

4. 最小のエンドツーエンド設定

以下のコマンドはリポジトリのドキュメントから引用し、現在の調査スナップショットと照合したものです。本番環境に導入する前に、出発点として扱い、リンク先の README も読んでください。

# npm path: installs wrapper plus matched prebuilt Rust binaries
npm install -g codewhale
codewhale --version

# Cargo path: both binaries are required
cargo install codewhale-cli --locked
cargo install codewhale-tui --locked

# Docker path
docker volume create codewhale-home
docker run --rm -it \
  -e DEEPSEEK_API_KEY="$DEEPSEEK_API_KEY" \
  -v codewhale-home:/home/codewhale/.codewhale \
  -v "$PWD:/workspace" \
  -w /workspace \
  ghcr.io/hmbown/codewhale:latest

重要なデータや大規模なワークスペースに接続する前に、小さな最初のタスクで統合を確認してください。

cd your-project
export DEEPSEEK_API_KEY="..."
codewhale auth set --provider deepseek
codewhale --model auto

# One-shot, streamable automation path
codewhale exec --auto --output-format stream-json "run tests and explain the failures"

5. 技術的ディープダイブ

5.1 憲法(Constitution)はランタイムの一部です

READMEでは、CodeWhaleを正式な憲法を持つハーネスとして定義しています。重要なのはブランディングではなく、競合する入力(現在のユーザーの意図、プロジェクトルール、ライブツールの出力、古いハンドオフ、以前のメモリ)に対して、モデルに権限の階層を与える点です。

これは長いエージェントターンにおいて重要です。なぜなら、モデルは繰り返し矛盾に直面するからです。コンパイラの失敗、ユーザーの修正、古いプロジェクトルール、古いセッションノートは、すべて同等の権限を持つことはできません。CodeWhaleはそのランキングを明示的にします。

Authority shape:
current user request
  -> verified tool output
  -> project and workspace instructions
  -> prior session handoffs
  -> model assumptions

5.2 Autoモードはモデルと思考レベルをルーティングします

デフォルトの `--model auto` パスは、実際のターンの前に小さなルーティング呼び出しを行います。そのルーターは、ターンをより安価な Flash ルートに留めるか、Pro 以上の推論能力が必要なルートに移行するかを決定します。

アップストリームの API は、リテラル文字列 `auto` ではなく、具体的なモデルと推論設定を受け取ります。これはコスト計算と再現性の観点から重要です。ベンチマークには固定モデルでの実行が依然として適しており、通常の作業には自動モードが適しています。

5.3 サブエージェントは並行して動作するバックグラウンドループです。

CodeWhale のサブエージェントは単なるプロンプトの慣習ではありません。ランタイムは独自のコンテキストとツールレジストリで動作する子エージェントを起動し、親のトランスクリプト内のサマリーセンチネルを通じて完了を報告できます。

親エージェントは、子が探索や検証を行っている間、ブロックする必要はありません。完全なトランスクリプトは境界付きハンドル内に保持されるため、子エージェントの実行詳細によって親のコンテキストが埋め尽くされるのを防ぎます。

Parent turn:
  agent_open(role="explore", task="map auth flow")
  agent_open(role="review", task="audit risky files")
  continue planning while children run
  read completion summaries when sentinels arrive

5.4 LSP 診断が編集内容をフィードバックに変換します。

ドキュメントでは、rust-analyzer、pyright、typescript-language-server、gopls、clangd、jdtls、および Vue language server との統合について言及されています。モデルは次の推論ステップの前に、編集後の診断結果を受け取ります。

これは重要な品質ループです。診断機能がなければ、エージェントは構文的に壊れたコードを自信を持って書き込み、ユーザーがテストを実行したときに初めてそれを発見することになります。診断機能があれば、ローカルコンパイラのフィードバックが次のターンのプロセスの一部となります。

5.5 ランタイムの表面は TUI を超えています。

リポジトリには、ワンショットプロンプト、`exec` ストリーム JSON、HTTP/SSE ランタイム API、Zed 用の ACP アダプター、タスクキュー、MCP、RLM セッション、および SWE-bench エクスポートが記載されています。つまり、CodeWhale は対話型ターミナルエージェントとプログラム可能なランタイムの両方を目指しているということです。

この広範さは有用ですが、信頼性のコストを高めます。Shell gating、Windowsの挙動、長時間タスクのキャンセル、セッション復元、マルチモーダル添付ファイルの処理は、すべて本番環境レベルの挙動が求められる個別の領域です。

6. 実運用での誤りと正解パターン

誤り正しい対応理由
Cargoを使用して `codewhale-cli` のみをインストールしてください。`codewhale-cli` と `codewhale-tui` の両方をインストールしてください。ディスパッチャーとランタイムは、個別のRustバイナリです。
Planモードを使用し、シェルやファイルの変更が発生することを想定してください。書き込みやシェル操作には、Agentモードまたは信頼されたYOLOモードを使用してください。Planモードは意図的に読み取り専用となっています。
`--model auto` を再現可能なベンチマーク構成として扱ってください。ベンチマークには固定のモデルと思考レベルを使用してください。Autoモードはターンごとにルーティングを行い、挙動を変更する可能性があります。
長時間実行されるフォアグラウンドのシェルコマンドに処理を委ねる。可能な場合はタスク/バックグラウンドパターンを使用し、タイムアウトの挙動を確認する。Open issuesでは、長いシェル実行が依然としてエグゼキューターの失敗モードに陥る可能性があることが示されている。

7. よくあるミスと現在の課題

これらのリポジトリは若く、動きが速いため、Issue Tracker は重要です。この記事では Issues をリスクシグナルとして扱い、プロジェクトが使えない証拠としては扱いません。

領域詳細重要な理由
Windowsのシェルツール設定に関わらずシェルツールが見つからない、または制限されているという報告が複数ある。WindowsとmacOS/Linuxのサンドボックス挙動が同等であると現時点で想定しないこと。
長時間実行されるシェル報告された永続タスクのデッドロックは、長い `exec_shell` コマンドの後に発生した。より小さなステップを使用し、タイムアウトキャンセルに関連するPRを監視する。
画像添付現在のPRは、マルチモーダルモデル向けの`/attach`画像に対処しています。ローカルの画像アップロードワークフローに依存する前に、マージ後の動作を確認してください。
エンジン停止の報告ユーザーから、ターンが停止した、またはエンジン停止メッセージが表示されたとの報告がありました。優れたリカバリUXは、現在も活発に開発が進められている領域です。
プロバイダーのフォールバック機能リクエストでは、自動プロバイダーフォールバックチェーンを追跡しています。キーやルートが失敗した場合には、依然として手動でのプロバイダー切り替えが必要になる可能性があります。

8. 性能、スケーリング、コストのメモ

READMEとソースコードでは、DeepSeekのプレフィックスキャッシングが強調されています。実用的な最適化とは、繰り返し発生するプロンプトやツールのバイトを安定させることです。つまり、Constitution、ツールカタログ、プロバイダーのメタデータが安定していれば、キャッシュされた入力はコールド入力よりもはるかに安価になります。

プロバイダーのドキュメントには、1MコンテキストのDeepSeek V4ルートと、明示的なキャッシュヒット/キャッシュミスの計算が記載されています。しかし、それによってすべてのセッションが安価になるわけではありません。長いツール出力、サブエージェントのファンアウト、繰り返される失敗ターン、および高コストな思考を伴うProルートには、依然として費用がかかります。

サブエージェントの並列実行は並行探索には便利ですが、モデルの呼び出し回数も増加させます。アーキテクチャの読み取り、再現テスト、修正のレビューなど、タスクが明確に分離できる場合に使用してください。単一の線形コンテキストが必要な作業に対して、並列エージェントを生成してはいけません。

9. 誰に向いているか

使うべき場合避けるべき場合
DeepSeek V4の経済性を重視した、ターミナルネイティブなエージェントを求めている。今日、安定したGUIファーストのIDE統合が必要である。
承認モード、ロールバックスナップショット、および明示的なツール権限管理を重視している。最小限の手順で動作する、制約のない自動実行ツールを求めている。
マルチエージェントによる調査、レビュー、実装のループを実行している。短く一度きりの質問しかしない。
オープンな課題を抱える、急速に進化するプロジェクトを追跡することに抵抗がない。Windowsのシェル自動化において、保守的な本番環境の安定性を求めている。

10. コミュニティのシグナル

GitHub以外では、メンテナー主導のXでの議論と、DeepSeekコミュニティ内の小規模なRedditスレッドが最も強力な公開シグナルです。これは新しい開発者ツールとしては一般的ですが、GitHubが依然として最良の証拠源であることを意味します。

この有用なコミュニティノートは単なる誇大広告ではありません。ユーザーはベンチマーク、プラグインの互換性、Windowsの修正、より優れたGUI/IDE統合、プロバイダーのフォールバック、画像添付、そしてより予測可能なシェル動作を求めています。

リポジトリは非常に活発です。2026年6月2日のIssueやPRでは、SiliconFlow Chinaのサポート、マルチモーダル添付の修正、サブエージェントのライフサイクル・フック、エンジン停止からの復旧、プロバイダーのフォールバック設計、Windowsシェルでのデッドロック防止などが扱われています。

11. 結論: 使う価値はあるか

私たちの見解

DeepSeek V4向けの本格的なターミナルエージェント・ハーネスを求めており、急速に進化するRustプロジェクトに追従する意欲があるなら、CodeWhaleを使用してください。洗練されたWindowsシェル自動化、完全に安定したマルチモーダル添付処理、またはGUIファーストのワークフローに依存する作業が必要な場合は、現時点では避けるべきです。

12. 大きな流れ

CodeWhaleは、チャットラッパーからエージェントランタイムへの広範なシフトの一環です。モデルは単なる構成要素の一つに過ぎません。永続的な価値は、ツールポリシー、エビデンスループ、診断、ロールバック、タスクオーケストレーション、そしてコストを意識したルーティングにあります。

これはまた、オープンウェイトや低コストのモデルエコシステムがどのようにエージェントスタックを変化させるかを示しています。長いコンテキストが安価になると、制限要因となるのはハーネスの品質です。つまり、ツールがモデルの方向性を維持し、作業を検証し、ミスから回復し、無制限のコストを回避できるかどうかが重要になります。

13. よくある質問

Q: CodeWhaleはDeepSeek-TUIと同じものですか?

同じ命名や歴史的背景から派生していますが、現在のリポジトリはCodeWhaleとしてブランド化されており、ペアとなる`codewhale`ディスパッチャーと`codewhale-tui`ランタイムをインストールします。

Q: なぜ2つのRustバイナリが必要なのですか?

`codewhale`はエントリーコマンドです。`codewhale-tui`は対話型セッションのために起動されるランタイムです。npmやDockerではペアでインストールされますが、Cargoでインストールする場合は両方のクレートが必要です。

Q: Planモードとは何ですか?

Planモードは読み取り専用モードです。調査や設計に使用してください。編集やシェル操作が必要な場合は、AgentまたはYOLOを使用してください。

Q: モデルの自動モードはどのように機能しますか?

安価なルーティング呼び出しによって、実際の要求に対する具体的なモデルと推論レベルが選択されます。アップストリームのプロバイダーには`auto`ではなく、選択されたモデルが認識されます。

Q: CodeWhaleはサブエージェントを実行できますか?

はい。サブエージェントは、個別のコンテキストとツールレジストリを使用してバックグラウンドループで並行して実行され、その後、親プロセスに要約を報告します。

Q: 現在、最も大きなリスクは何ですか?

現在の課題トラッカーでは、Windowsのシェルゲーティング、長いシェルコマンドのデッドロック、エンジン停止からの復旧、マルチモーダルな添付ファイルの動作、およびプロバイダーのフォールバックの必要性が強調されています。

14. 用語集

領域詳細重要な理由
Harnessモデルを取り巻くルール、プロンプト、ツール、および検証ループのことです。CodeWhaleはこれを中心的な製品コンセプトとして採用しています。
Dispatcher`codewhale`ユーザーが実行するコマンド。
Runtime`codewhale-tui`対話型エンジンおよびUIバイナリ。
MCPModel Context Protocol外部ツールサーバー用のプロトコル。
RLMRecursive Language Model session大規模またはバッチ処理の推論に使用される永続的な分析セッション。
YOLOモード信頼済み自動承認モード広範なツールアクセスが許容されるワークスペースでのみ有効です。
Side-gitスナップショットリポジトリ外のステータスをロールバック `.git`。`/restore` およびターン復帰で使用されます。

15. すべてのソースとリンク

内部リンク

16. ソース帰属表

領域詳細重要な理由
GitHubのREADMEインストールパス、ハーネスフレーミング、ランタイム機能。主要ソース。
Docsディレクトリアーキテクチャ、プロバイダー、モード、サブエージェントのライフサイクル。主要ソース。
GitHub issuesWindows shell、長時間実行シェル、エンジンリカバリ、添付ファイルの注意点。重要なコミュニティシグナル。
GitHub PRs修正状況とロードマップの方向性。鮮度シグナル。
XおよびRedditコミュニティの採用状況とベンチマークに関する質問。二次シグナル。

Related Guides