本文へスキップ

← ブログ

リリースの話

Chimera Agent 0.69.0: プラグイン、ワークツリー、そしてリポジトリを認識する会話

Claude Codeプラグインが検証可能なデータとして登場し、すべての会話がそのリポジトリとブランチを記録し、サイドバーがついにワークツリーを単一プロジェクトの下にグループ化します。

私たち自身のリリースについて、私たち自身が書いた文章です。 GitHub でリリースを読む →

実行コードではなく、データとしてのプラグイン

今回のリリース以前は、プラグインとはChimeraに渡して動作を期待するだけの不透明なディレクトリでした。フレームワークは、プラグインが実行されるまでその中身を把握する語彙を持たず、実行せずに検査する手段もありませんでした。このギャップにより、共有環境ではプラグインがリスクとなり、インストール前にその内容を論理的に判断することが不可能でした。

chimera.plugins はこのモデルを完全に変えます。プラグインディレクトリ(マニフェスト、スキル、コマンド、エージェント、フック、MCPおよびLSPサーバー)を読み取り、実行された場合の動作(テキストのみの指示、ローカルプロセス起動、ネットワークアクセス、コマンド実行)に基づいて全コンポーネントを分類します。この検査中に、インストール、インポート、実行、ダウンロードは一切行われません。インストール可能と見なされるのは、固定されたソースのみです:ローカルパス、コミットSHAに固定されたGitHubリポジトリ、またはsha256ハッシュ付きのHTTPSアーカイブ。すべての問題は claude plugin validate と互換性のある安定したエラーコードを伴うため、プラグインがエージェントに触れる前に、pre-commitフックやCIチェックにこれを組み込むことができます。

同じ読み取りロジックがマーケットプレイス統合を支えています。chimera.plugins は marketplace.json を読み取り、リストされた各プラグインをその機能サーフェスによって分類します。固定(pin)がないエントリは、インストールできない理由とともに表示され続けるため、可変的なものを誤って取得することなくブラウズできます。

プラグインは無効状態でインストールされます。chimera plugin install はそれらを <home>/plugins に保留中として配置し、chimera plugin enable を実行するまでエージェントには一切到達しません。有効化すると差分が明示されます:スキル、コマンド、エージェントは信頼されていないテキストとして plugin:name の名前空間付きで出現します。エージェントはプロジェクトエージェントルールに従います。Claude Codeツール名は変換され、既存の権限を狭めることしかできません。マニフェスト内の allowed-tools および model フィールドは無視されます。プラグインコマンドの展開は、その実行を汚染済みとしてマークし、フック、bin/ ディレクトリ、モニターは不活性のままです。MCPサーバーは、固定マニフェストホールドを通じて明示的に名前を指定した場合にのみ追加されます。マニフェスト、フック、サーバー、ツールを変更するアップデートは、差分を表示してプラグインを保留します。ボット、cronジョブ、serve、ゲストセッションは、CHIMERA_UNATTENDED_PLUGINS で明示的にリストされない限り、プラグインを取得しません。

Settings › Plugins画面には、インストール済みの全プラグインが、そのステータス、ソース、固定、機能ライン、コンポーネントリストとともに表示されます。Discoverは、追加したマーケットプレイスを、カテゴリおよびプラグインが実行する内容による検索とフィルタで表示します。追加には、固定されたマーケットプレイス、ローカルフォルダ、または .zip を使用します。プラグインをオンに切り替えると、エージェントに到達する内容が正確に表示され、MCPサーバーごとに個別の確認を求めます。これを実行できるのはあなただけです:MCPブリッジは、リスト、検証、保留中のインストールは可能ですが、有効化、削除、マーケットプレイスの追加は決してできません。

すべての会話がそのリポジトリを認識する

Codeの会話は、これまでフォルダ内のフラットなファイルでした。会話とその周囲のgitリポジトリとの関係は暗黙的でした:フォルダを開いたため、どのプロジェクトで作業しているかはあなたが知っていましたが、フレームワークは知りませんでした。これにより、グループ化、クリーンアップ、ワークツリーをまたいだ推論の自動化は不可能でした。

各ターンの開始時に、会話はそのプロジェクト(リポジトリのメインチェックアウト)を、そのブランチ、およびフォルダがメインチェックアウト、gitワークツリー、またはプレーンフォルダのいずれであるかとともに記録するようになりました。この情報はgitを実行せずにgitファイルから直接読み取られるため、高速であり、リポジトリが壊れた状態でも機能します。この記録はワークツリーが削除された後も存続するため、セッションリストはリポジトリのワークツリーをリポジトリ自体の下にグループ化できます。

Codeサイドバーはこのグループ化を使用します。リポジトリのワークツリーはリポジトリヘッダーの下にまとめられます。これは折りたたみ可能なセクションで、そこでの新規会話用の +、ワークツリー数、および開く、折りたたむ、名前変更、非表示、削除、クリーンアップのメニューを備えています。行にはタイトル、ブランチ、時刻が表示されます。プロジェクトごとに5件までで「さらに表示」リンク付き。検索はタイトル、ブランチ、プロジェクトを対象とします。ステータスフィルタは、該当件数がある場合にのみ表示されます。従来のフラットリストを希望する場合、グループ化をオフにするスイッチがあります。

ワークツリーのクリーンアップには専用のダイアログができました。リポジトリの全ワークツリーを、それぞれが保持される理由(メインチェックアウト、使用中、ダーティ、未マージ、Chimera外で作成)とともにリストし、削除をプレビューし、プレビューにリストされたもののみを、git worktree remove(--forceなし)と git branch -d を使用して削除します。Chimeraが作成したワークツリーのみがそこで削除可能です。それらの会話はアーカイブされ、決して削除されません。MCPブリッジはリスト可能ですが、プルーニングは決してできません。

MCPブリッジは、特定のプロジェクト内で会話を開く機能も獲得しました。desktop_send は project パラメータ(登録済みプロジェクトまたは既知のリポジトリ)と、オプションのブランチを伴う worktree: "new" オプションを受け取ります。Chimeraは .chimera-worktrees/<repo>/ 内のリポジトリの隣にワークツリーを作成して所有し、決して一時フォルダには作成しません。会話はプロジェクトの下にグループ化されます。未知のプロジェクト、プロジェクト外のパス、実行ブランチ名は拒否されます。新しいワークツリーはプロジェクトのシェル許可を継承しません。

会話タイトルが読みやすく、名前変更可能になりました。タイトルは、あなた自身が付けた名前、次に呼び出し元が渡したタイトル、次に最初のメッセージがワークスペース内で引用するMarkdownファイルの最初の # 見出し、そしてそれらがない場合にのみ最初のメッセージ自体に従います。行の鉛筆アイコンまたはF2で名前変更。空の名前にすると自動名に戻ります。モデルによってタイトルが生成されることはありません。

今すぐ実行すべきこと

0.69.0にアップグレードし、Settings › Plugins画面を開き、信頼できるマーケットプレイスを追加してください。インストール前に chimera.plugins でプラグインを検査してください。MCPブリッジを通じて worktree: "new" でワークツリーを作成し、サイドバーでそのリポジトリの下にグループ化されるのを確認してください。

完全なリリースノートは Chimera Agent v0.69.0 にあります。

https://chimeraagent.space