Chimera Agent 0.86.0: モードピッカー、サイドチャット、シークレットの隔離
新しいモードピッカーが姿勢設定の混乱を解消し、サイドチャットは履歴を汚さずに質問に答え、エージェントのシェルはAPIキーを参照できなくなり、PRマージ時に会話が自動アーカイブされるようになった。
私たち自身のリリースについて、私たち自身が書いた文章です。 GitHub でリリースを読む →
今回のリリースでは、エージェントの姿勢(posture)を信頼しづらくしていた構造上の問題を修正した。0.86.0以前は、SettingsでManual、Auto、あるいはその中間といった姿勢を設定しても、ブリッジ、API、UIがそれぞれ独自の方法でそれを上書きしていた。ブリッジが通知なく変更したために、Manualだと思っていた会話がAutoで動いていた、という事態が起こり得た。モードピッカーは、これを単一のコントロールに置き換える。
三つの機構を一つのモードピッカーに統合
ピッカーはプロンプトの下に配置され、Ctrl/Cmd+Shift+Mで開く。表示されるモードはManual、Accept edits、Plan、Auto、Don't ask、そしてプロジェクトが許可している場合のIgnore permissionsの6つだ。各モードは既存の姿勢システムに直接マッピングされる。会話のモードは保存され、Settingsの指定値で開始される——Don't askには決してならず、suspiciousはAuto、alwaysはManualになる。Accept editsは、コマンドが読み取り専用かサンドボックスで隔離されている場合を除き、各コマンドの実行前に確認カードを表示する。PlanがAutoより広い範囲で実行されることはない。ブリッジは会話を「何も広げない」モードにしか移動できないため、Manualにロックした会話はそのまま維持される。Ctrl/Cmd+Shift+Oでモデルピッカー、Ctrl/Cmd+Shift+Eでエフォートピッカーが開き、maximizeはCtrl/Cmd+Shift+Enterに移動した。
これが重要なのは、姿勢がユーザーとエージェントの間の主要な安全境界だったにもかかわらず、そこに二つのバックドアが存在したからだ。今は、すべてが従う単一のコントロールになった。
エージェントのシェルがあなたのシークレットを継承しなくなった
エージェントの子プロセスは、従来 CHIMERA_OPENROUTER_KEYS やパスワード入りの DATABASE_URL、クラウド認証情報といったプロバイダーキープールを継承していた。エージェントが実行するどんなコマンドも、これらを表示できてしまった。デスクトップアプリには逆方向の同様の問題があった。バックエンドにサーバートークン、画面認証情報、ランチャーキーを環境変数で渡しており、Linuxでは /proc/<pid>/environ を通じて同一ユーザーの全プロセス(エージェントのシェルを含む)から読み取り可能だった。
両方の経路を塞いだ。エージェントのシェルと新しいターミナルは、名前と値でシークレットを除去された環境を受け取るようになった。プロキシ設定は引き続き渡される。GitHub CLIは必要なトークンを保持する。デスクトップアプリはバックエンドに対し、シークレットを標準入力で1行送り、即座に読み取って閉じる方式に変更。サーバートークンはプロセス環境ではなくメモリ上に保持される。行が欠落していたり不正な形式だった場合は、トークンなしで起動せずにバックエンドを停止し、アプリ側もトークンなしで応答するバックエンドの使用を拒否する。
サイドチャットとサジェストタスクカード
サイドチャット(Ctrl/Cmd+;)は、会話に追加することなく、その会話に関するちょっとした質問に答える。会話をデータとして読み取り、ツールを使わずに回答し、会話履歴には何も書き込まない。これまでは、質問をすると、エージェントが後で実行しようとするターンでコンテキストを汚染することになっていた。「会話に取り込む」はコンポーザーを埋めるだけであり、会話が外部コンテンツを読んだ場合、サイドチャットは回答をデータとして引用し、最初に確認を求める。コストは記録され、ローカルモデルは1日の上限内で無料、ショートカットヘルプはCtrl/Cmd+/に移動した。
サジェストタスクカードは、エージェントの脱線を防ぐ。タスク外の何か——デッドコード、古いドキュメント、不足しているテスト、通りすがりに見つけたセキュリティ問題——に気づいた場合、エージェントはカードを提案することしかできない。何かを実行する前に完全なプロンプトが表示され、Start(同じプロジェクトの新しい会話)、Do it here、Options、Dismissを選択する。Start allは確認を求められ、最大5件に制限される。カードを開始できるのはオーナーの画面のみで、外部コンテンツを読んだターンが提案したカードは、汚染(tainted)マーク付きかつ「Ignore permissions」なしで会話が開始され、カード上に警告が表示される。
今すぐやるべきこと
pip install chimera-agent --upgrade で更新するか、最新のコンテナイメージをプルしてほしい。モードピッカー、サイドチャット、ターミナルはすぐに利用可能だ。古い姿勢の上書きに依存していた場合は、アップグレード後に各会話のモードを確認してほしい——ピッカーはSettingsのデフォルトを読み取るが、既存の会話は0.86.0より前にブリッジによって移動されている可能性がある。シークレットの隔離は自動で行われ、設定変更は不要だ。詳細なリリースノート: Chimera Agent v0.86.0
https://chimeraagent.space