SplitMind は何をしますか?
CodexスキルとCLIのオーケストレーションレイヤーで、エージェントによるコーディングをより安全にします。
概要
SplitMindは、CodexやCLIベースのAIエージェントが実行するコーディングタスクにおいて、安全性と制御性を高めるためのオーケストレーションレイヤーです。エージェントが自律的にコードを生成・変更する際に生じるリスクを軽減することを目的としており、コードの変更を提案段階と実行段階に分割することで、ユーザーが変更内容を事前に確認・承認できるようにします。
主な機能
- 変更の分割と確認: エージェントが提案するコード変更を、個別のアクションとして分割し、ユーザーが各変更を承認または拒否できるようにします。
- 安全性の向上: 意図しない副作用(ファイルの誤削除や環境設定の変更など)を防ぐための検証機構を提供します。
- 透明性の確保: エージェントのアクションをすべてログに記録し、実行前にユーザーが内容を把握できるようにします。
- Codex/CLI統合: Codexスキルとして実装されているため、Codexエージェントとの統合が容易であり、さらにCLIにも対応しているため、様々な開発環境で利用できます。
使用方法
前提条件
- Node.js (v16以上)
- Codex CLIまたはCodexエージェントがインストールされていること
インストール
npm install -g addyk-24/splitmind
または、プロジェクトの依存関係として追加します。
npm install addyk-24/splitmind
設定
環境変数 SPLITMIND_CONFIG を使用して、動作をカスタマイズできます。
export SPLITMIND_CONFIG=./splitmind.config.json
設定ファイルの例: splitmind.config.json
{
"approvalMode": "always",
"logLevel": "info",
"maxConcurrentActions": 3,
"allowedCommands": ["git", "npm", "npx"]
}
基本的な使い方
- Codexエージェントを起動し、 SplitMind スキルを有効にします。
- エージェントがコード変更を提案するたびに、SplitMindが介入して変更内容をユーザーに提示します。
- ユーザーが各変更を承認 (
y) または拒否 (n) することで、安全にコードを変更できます。
# 例: Codexとの統合
codex --skill splitmind "リファクタリング: ログイン機能を改善"
注意事項
- SplitMindは、エージェントが実行するコマンドを制限することができます。設定ファイルの
allowedCommandsで許可するコマンドを指定してください。 - すべてのアクションはログに記録されます。デフォルトのログレベルは
infoですが、必要に応じてdebugに変更することで詳細なログを取得できます。 - 承認モードには
always(常に確認)、auto(安全な操作は自動承認)、off(確認なし)があります。
トラブルシューティング
- スキルが読み込まれない場合:
codex --list-skillsで SplitMind が一覧に表示されるか確認してください。 - 設定が適用されない場合: 環境変数
SPLITMIND_CONFIGが正しく設定されているか確認してください。
ライセンス
MIT