MiMoCode
Xiaomi MiMoCode — セッション横断メモリ付きターミナルネイティブ AI コーディングエージェント(XiaomiMiMo/MiMo-Code)
コードの読み書き、コマンド実行、Git 操作に加え、SQLite FTS5 によるプロジェクトメモリとチェックポイントでセッションをまたいだ文脈を保持する。OpenCode をフォークし、メモリ・サブエージェント・compose ワークフロー・自己改善コマンドを追加している。
概要
MiMoCode はターミナルで動く AI コーディングアシスタント。初回起動時に MiMo Auto(期間限定無料)や Xiaomi MiMo Platform、Claude Code からの認証インポート、カスタム OpenAI 互換 API などを選べる。
- 公式: mimo.xiaomi.com/en/mimocode
- ライセンス: MIT(利用は Use Restrictions も参照)
- ランタイム: Bun 1.3+、Turbo ワークスペース、SolidJS / OpenTUI ベースの TUI
flowchart TD U["開発者
TUI / Desktop / Web"] --> C["packages/opencode
CLI コア"] C --> P["Provider 層
MiMo / 任意 LLM"] C --> T["Tool 層
bash / edit / MCP"] C --> M["Memory
SQLite FTS5"] C --> S["Subagent / Actor"] C --> W["Workflow / Compose"] M --> F1["MEMORY.md"] M --> F2["checkpoint.md"] M --> F3["tasks/*/progress.md"]
クイックスタート
インストール
# ワンライン(推奨)
curl -fsSL https://mimo.xiaomi.com/install | bash
# npm 経由
npm install -g @mimo-ai/cli初回セットアップで選べる認証
| オプション | 内容 |
|---|---|
| MiMo Auto | 匿名チャネル。設定不要で期間限定無料 |
| Xiaomi MiMo Platform | OAuth ログイン |
| Import from Claude Code | 既存認証を一括移行 |
| Custom Provider | TUI から OpenAI 互換 API を追加 |
開発者向け(リポジトリから)
bun install
bun run dev
bun turbo typecheckpackage.json は test スクリプトが意図的に失敗するガード付き。テストは packages/opencode など各パッケージから実行する。
エージェントと compose
Tab でプライマリエージェントを切り替える。サブエージェントはセッション文脈を共有しつつ並列実行・キャンセル・バックグラウンド実行に対応する。
| エージェント | 役割 |
|---|---|
build | デフォルト。開発向けのフルツール権限 |
plan | 読み取り専用。調査と設計 |
compose | 仕様駆動開発とスキル連携のオーケストレーション |
compose モードに含まれるスキル例
自律停止の判定
/goal でセッションの停止条件を設定すると、エージェントが終了しようとしたタイミングで独立した judge モデルが条件達成を評価する。楽観的な早期終了を抑える。
メモリとコンテキスト管理
| ファイル | 用途 |
|---|---|
MEMORY.md | プロジェクト知識・ルール・アーキテクチャ決定 |
checkpoint.md | checkpoint-writer サブエージェントが維持する状態スナップショット |
notes.md | エージェント用の一時メモ |
tasks/<id>/progress.md | タスク単位の進捗ログ |
コンテキスト再構築
- モデルのコンテキスト上限に応じてチェックポイント保存タイミングを自動判断
- 上限接近時は最新チェックポイント・プロジェクトメモリ・タスク進捗・直近メッセージから文脈を再構築
- トークン予算で注入量を制御し、重要度順にランク付け
タスクツリー
T1、T1.1、T1.2 のような木構造タスク ID をチェックポイントと連携。セッション再開後も進捗が復元される。
自己改善コマンド
experimental.maxMode で best-of-N 推論と judge 選択モノレポ構成
Bun workspaces + Turbo。CLI の実体は packages/opencode に集約され、UI・デスクトップ・クラウドコンソールが周辺パッケージとして配置される。
設定
プロジェクト直下の .mimocode/mimocode.jsonc、またはグローバル ~/.config/mimocode/mimocode.json で設定する。
| カテゴリ | 主な項目 |
|---|---|
| Provider | モデル選択、カスタムエンドポイント |
| Agent | 権限、カスタムエージェント定義 |
| Memory / Checkpoint | 注入予算、チェックポイント動作 |
| MCP | 外部ツールサーバー接続 |
| TUI | キーバインド、テーマ(.mimocode/themes/) |
| Experimental | maxMode など |
プロジェクト固有のエージェント定義・スキル・コマンドは .mimocode/agent/、.mimocode/skills/、.mimocode/command/ に Markdown で置ける。
OpenCode との関係
MiMoCode は OpenCode のフォーク。複数プロバイダ、TUI、LSP、MCP、プラグインなど OpenCode の中核機能を維持したうえで、次を追加している。
- SQLite FTS5 によるセッション横断メモリ
- チェックポイント駆動のコンテキスト再構築と予算付き注入
- サブエージェントのライフサイクル管理
/goalによる停止条件と judge 評価- compose ワークフローとバンドル済みスキル群
/dream・/distillによる自己改善