Mitii AI Agent について
Mitii AI Agentは、VS Code向けのリポジトリ認識型コーディングエージェントで、CLIとSDKも提供します。Ask、Plan、Agent、Reviewの各ワークフローに、ローカル索引と承認制の実行を組み合わせています。
主な機能
- 01リポジトリのコンテキスト索引
- 02Ask、Plan、Agent、Reviewモード
- 03承認制御とチェックポイント
- 04任意のFIM自動補完
- 05CLIとSDKからの利用
活用シーン
- 01コードを変更せずにリポジトリを分析
- 02範囲を定めた変更を計画・実装
- 03作業ツリーの差分を確認し、指摘を出力
MCP 対応
MitiiはVS CodeでMCPサーバーを利用してワークフローを拡張できます。リポジトリにはMCPクライアントパッケージとMCP Webサーバーも含まれます。
詳細
Mitii AI Agent
リポジトリを認識したコンテキスト、制御された実行、柔軟なモデルプロバイダーを備えた、VS Code 向けのローカルファーストな AI コーディングエージェントです。
AI coding agent · VS Code · local-first · MCP · Ollama · TypeScript
Mitii はリポジトリを変更する前に、その内容を把握します。ローカルインデックス作成、Ask/Plan/Agent のワークフロー、任意の FIM 補完、承認に対応したツール、チェックポイント、メモリ、セッションログを、1 つの VS Code 体験に統合しています。プライバシーを重視する場合はローカルの OpenAI 互換モデルを、より高い性能が必要な場合は任意の OpenAI 互換クラウドエンドポイントをご利用ください。
Mitii が提供する機能
- リポジトリを認識したコンテキスト - SQLite FTS5、シンボル、ベクトル、リポジトリマップ、診断情報、Git の状態、明示的に添付されたファイルを活用します。
- 明確な動作モード - Ask では読み取り専用の分析を行い、Plan では複雑な作業を計画し、Agent では変更を適用し、Review では構造化された指摘事項とともにワーキングツリーの差分を確認します。
- 構造化されたコードレビュー - 決定的なファイル選択、パスルール、行に紐づいた指摘事項(
emit_review_finding)、.mitii/review/に保存される永続的なReviewRecord、SARIF エクスポート、CI の PR コメント投稿に対応します。 - エビデンスを活用した計画 - Plan モードでは、対象範囲内の事前診断に従って進めたり、エビデンスが不十分な場合に先に調査したり、対象範囲が明確な機能作業では依頼内容に基づいて草案を作成したり、依頼が曖昧すぎる場合に確認質問をしたりできます。
- 制御された実行 - 承認の設定、危険なコマンドのブロック、ワークスペースの信頼性チェック、書き込み前のチェックポイントに対応します。
- FIM 補完 - 汎用の OpenAI 互換
prompt+suffixエンドポイントから、VS Code のインライン候補を任意で提示します。 - モデルの柔軟性 -
echo(ローカルスタブ)、ネイティブの Anthropic (Claude) および Gemini アダプター、さらに OpenAI 互換エンドポイント(Ollama、LM Studio、OpenRouter、OpenAI、Azure OpenAI、DeepSeek、および任意の/v1API)を利用できます。 - 拡張可能なワークフロー - 組み込みツール、MCP サーバー(VS Code)、プロジェクトルール、再利用可能なスキルを利用できます。
- Web 情報の取得 - 複数のプロバイダーに対応した任意の
web_search(@mitii/search-kit経由の SearXNG/Brave/Tavily)と、コンテンツを認識するfetch_url(Stack Overflow の回答、GitHub の課題、Wikipedia、arXiv、HTML の可読性解析)を利用できます。 - ローカルのエビデンス - VS Code ホストからセッションログと基本的な監査パックをエクスポートできます(設定情報は秘匿されます)。組織向け SSO/RBAC、SIEM Webhook、管理型エンタープライズポリシーパックは、まだ実装されていません。
仕組み
flowchart LR
User[Developer] --> UI[VS Code webview]
UI --> Controller[Runtime controller]
Controller --> Context[Hybrid context engine]
Context --> Index[(SQLite FTS5 + symbols)]
Context --> Vectors[(LanceDB or SQLite vectors)]
Controller --> Pipeline[Classify -> route -> depth -> skills]
Pipeline --> Loop[Ask / Plan / Agent loop]
Loop --> Policy[Tool policy + approvals]
Policy --> Tools[Files, shell, Git, MCP]
Loop --> State[(Plans, memory, logs, checkpoints)]
Loop --> Provider[Local or cloud model]
拡張機能と CLI は、@mitii/sdk -> @mitii/v8 を通じてエージェントと通信します。ホストは @mitii/host(Web 情報取得用の @mitii/search-kit を含む)からポートを注入します。packages/v8/ARCHITECTURE.md と packages/search-kit/ARCHITECTURE.md を参照してください。
クイックスタート
必要条件
- VS Code 1.124 以降
- Node.js 20 以降
- ソース開発には pnpm 10.13 以降
ソースからインストールする
git clone https://github.com/Mitii-dev/Mitii.git
cd Mitii
pnpm run setup
VS Code で F5 を押して、拡張機能開発ホストを開きます。プロジェクトを開き、Mitii アイコンを選択して、インデックス作成が完了するまで待ち、設定でプロバイダーを選択します。
macOS で Cursor を開発する場合:
pnpm run setup:cursor
ローカルモデルに接続する
Ollama などの OpenAI 互換エンドポイントを実行してから、次のように設定します。
{
"mitii.provider.type": "openai-compatible",
"mitii.provider.baseUrl": "http://localhost:11434/v1",
"mitii.provider.model": "qwen3-coder:30b",
"mitii.safety.autonomyPreset": "guided",
"mitii.safety.approvalMode": "review_all"
}
ホスト型プロバイダーの API キーは、ワークスペース設定ではなく VS Code の SecretStorage に保存されます。
FIM オートコンプリートを有効にする
オートコンプリートはデフォルトで無効になっており、Ask/Plan/Agent のモデルパスとは別です。プロバイダー設定を引き継ぐには baseUrl と model を空のままにするか、より高速な FIM 専用エンドポイントを指定します。
{
"mitii.autocomplete.enabled": true,
"mitii.autocomplete.baseUrl": "http://localhost:11434/v1",
"mitii.autocomplete.model": "your-fim-model",
"mitii.autocomplete.endpointPath": "completions"
}
ワークフローの例
Mitii に次のように依頼します。
Plan a safe migration of the user cache to Redis. Identify affected files,
tests, rollback steps, and configuration changes. Do not edit files yet.
生成された計画を確認し、Agent モードに切り替えて、次のように送信します。
Implement the approved plan and run the relevant tests.
Mitii は関連するコンテキストを取得し、必要な機能を選択して、保護された操作の承認を求め、影響を受けるファイルのチェックポイントを作成し、対象を絞った編集を適用して、設定済みまたは検出された検証コマンドを実行します。
修復依頼に一致する事前診断がある場合、Mitii は冗長な検出を省略し、失敗したファイルに紐づく具体的な変更手順から開始できます。オプションの軽量なモデルによる補完機能で計画の表現を改善できますが、ゲート、承認、許可、検証要件は引き続き決定論的なポリシーによって管理されます。
根拠に基づく実行
エージェントの実行では、計画とタスクの状態に加えて、構造化された根拠アーティファクトが生成されます。目的は、ライブのタスクリストを信頼できる情報源にすることなく、すべての主要な操作に説明責任を持たせることです。
- 検出レポートには、対象、調査したファイル/検索/コマンド、制限された検出容量、検出を終了した理由が記録されます。
- 問題インベントリーでは、診断/ビルド/検証での検出事項を、単なるファイル数ではなく問題として追跡します。
- 計画の根拠には、具体的な対象、確認済みのコンテキスト、または検証に紐づく計画ステップの数が記録されます。
- 実行台帳には、安全な要約とパスとともに、ツールの操作、編集、検証コマンド、停止の判断が記録されます。
- 検証差分には、検証が可能な場合、エラー数の実行前/実行後の変化、残存する問題、チェック項目、停止理由が記録されます。
計画は引き続き実行の契約です。タスクリストは進捗状況を示す派生ビューで、UI に便利ですが、計画の根拠と検証より優先度が低いものです。編集後に要求された検証に合格したら、モデルが途中経過を説明しても、エージェントは処理を続けずに停止して要約するべきです。
CLI と SDK
CLI
pnpm run build:cli
node apps/cli/bin/mitii.js --help
node apps/cli/bin/mitii.js setup --provider ollama --yes
node apps/cli/bin/mitii.js session
node apps/cli/bin/mitii.js ask "Summarize the authentication flow" --echo
node apps/cli/bin/mitii.js index --cwd /path/to/project
node apps/cli/bin/mitii.js status --json
初めて利用する場合:mitii setup でシークレット以外のプロバイダー設定を書き込み、その後、環境変数に API キーを設定して mitii session を実行します(ドット柄の MITII バナーと REPL が表示されます)。setup、ask、session、index、status、export-session、および schedule、events、serve などの自動化コマンドについては、apps/cli/README.md を参照してください。
SDK
@mitii/v8、@mitii/sdk、@mitii/host、@mitii/cli は、v* リリースタグで npm に公開されます(docs/RELEASE.md を参照)。ローカル開発では、このモノレポのワークスペースから利用してください。
import { createMitiiClient, EchoLlmPort } from '@mitii/sdk';
const client = createMitiiClient({
understandingLlm: /* host LlmPort */,
runLlm: new EchoLlmPort(),
workspaceRoot: process.cwd(),
defaultMode: 'ask',
});
const run = client.start({
prompt: 'Summarize the authentication flow',
mode: 'ask',
});
for await (const event of run.events) {
if (event.type === 'model_delta' && event.preview) {
process.stdout.write(event.preview);
}
}
await run.result;
現在のインターフェースは createMitiiClient / start / resume です。レガシーの query() ヘルパーや DaemonClient ではありません。詳しくは packages/sdk/README.md を参照してください。
ローカルの安全管理
Mitii は、インデックス、計画、メモリ、ログ、チェックポイントをデフォルトでローカルに保持します。設定されたモデルプロバイダーに送信されるコンテキストのみが、そのプロバイダーの境界を越えます。
現在利用できる機能:
- 承認プリセットとワークスペースの信頼の適用
- API キー用の SecretStorage(VS Code)
- セッションログと基本的な監査パックのエクスポート(設定の秘匿化+実行イベント)
- プライバシーに配慮した作業向けの OpenAI 互換ローカルエンドポイント(Ollama/LM Studio)
まだ製品機能ではないもの:mitii.enterprise.localProvidersOnly、署名付き SIEM/Webhook 配信、SSO/OIDC、RBAC、専用の docs/enterprise/ パック。
リポジトリのレイアウト
mitii-ai-agent/
|-- packages/
| |-- v8/ # @mitii/v8 - host-neutral agent runtime
| |-- sdk/ # @mitii/sdk - public API + bundled skills/
| |-- host/ # @mitii/host - indexing, ports, writing recipes
| |-- automation/ # @mitii/automation - schedules and claim runner
| |-- mcp/ # @mitii/mcp client + @mitii/mcp-web server
| `-- search-kit/ # @mitii/search-kit - web search/fetch helpers
|-- apps/
| |-- vscode/ # VS Code extension (F5 target)
| |-- cli/ # headless CLI (`mitii`)
| |-- daemon/ # long-lived automation daemon (`mitii-daemon`)
| `-- acp/ # ACP-lite stdio bridge (`mitii-acp`)
|-- tests/ # solid benchmark (+ package-local specs elsewhere)
|-- docs/ # developer and release guides (+ automation/)
`-- scripts/ # build, release, and audit automation
docs/REPO_LAYOUT.mdを参照してください。正式なアーキテクチャについては、packages/v8/ARCHITECTURE.mdを参照してください。無人実行のCIエージェントについては、docs/automation/README.mdを参照してください。スキルの形式については、docs/SKILLS_FORMAT.mdを参照してください。
開発
pnpm run build:all # build all packages + Electron SQLite for F5 / indexes
pnpm run build # packages only
pnpm run typecheck
pnpm test
pnpm run package # target-specific VSIX (apps/vscode)
pnpm run package:preflight # release checks, tests, and package
ネイティブモジュールは、異なるランタイムを対象とします。rebuild:nativeはF5用のElectronバインディングをステージングし、node_modules内のNode ABIを復元するため、テストを引き続き実行できます。
pnpm run rebuild:native # Electron -> dist/native, then restore Node ABI
pnpm run rebuild:node # Node-only (tests/CLI)
Vitestのスクリプトは、scripts/ensure-node-native.mjsを通じてABIの不一致を自動修復します。
コーディング規約とプルリクエストのガイダンスについては、CONTRIBUTING.mdを参照してください。
ドキュメント
- アーキテクチャ
- リポジトリのレイアウト
- 初回起動/F5
- スキルの形式
- CLI(レシピの作成方法を含む)
- VS Code拡張機能
- リリース/公開単位
- Solidベンチマーク
- テストのレイアウト
- MCPパッケージ
- 検索キット
- ウェブサイト
- ホスト型ドキュメント
貢献とサポート
貢献を歓迎します。変更内容を絞り込み、プルリクエストを作成する前にpnpm run typecheckとpnpm testを実行してください。
ライセンス
Mitii AI AgentはAGPL-3.0-or-laterのもとでライセンスされています。AGPLの条件外での商用ライセンスについては、メンテナーにお問い合わせください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。