本文へスキップ

← ブログ

リリースの話

Chimera Agent 0.89.0: SSHツール、一括操作、そして維持される状態

ファイルツールがSSHホスト上で動作するようになり、コマンドは切断されても生き残り、フォルダと会話の一括操作が可能に。さらに「最初に計画」の選択がリロード後も持続する。

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

設定した状態が維持される

今回のリリース以前は、Codeコンポーザーの「最初に計画」オプションはセッション限定の設定でした。「常に」や「しない」に切り替えても、ウィンドウをリロードすると「自動」にリセットされていました。つまり、会話に戻るたびに、自分が決めたモードを再設定する必要があったのです。この設定が会話ごとに記憶されるようになりました。新しい会話は最後に行った選択を引き継ぎ、承認待ちの計画とそのカードはリロード後も生き残ります。この動作を確認するテストにより、カードが復元されることが保証されているため、タブの更新によって保留中の計画が失われることはもうありません。

設定検索には別種の盲点がありました。「環境」カードは「一般」タブに存在していましたが、「WSL」「SSH」「環境」で検索しても何も返ってきませんでした。カードは存在するのに、検索フィールドから到達できなかったのです。これは修正されました。これらの用語を入力すると、「環境」カードと許可されたSSHホストが一覧表示され、結果を開くとそこまで直接スクロールします。複数のリモート環境を管理している場合でも、他の設定と同じ方法でそれらを見つけられるようになりました。

ファイルツールがSSHの境界を越える

SSH会話では、これまでファイル操作が拒否されていました。読み取り、書き込み、編集、パッチ、一覧表示、grep、globはすべてローカルの境界で停止していました。この制限は撤廃されました。SSH会話では、これらのツールがリモートフォルダに対して動作するようになりました。リモートホストに書き込むツールは損害を引き起こす可能性があるため、実装にはいくつかのガードレールが追加されています。

パスは会話のフォルダ外に出られません。チェックは字句解析で行われ、ホスト自身の realpath によって確認されるため、シンボリックリンクによるエスケープは不可能です。認証情報ファイル(.ssh、.env、鍵、クラウド設定)は完全に拒否されます。書き込みは、ホスト上でサイズとハッシュがチェックされた後にのみ置き換えられます。これにより、最後に読み取ってから変更されたファイルを上書きするのを防ぎます。Manualカードにはリモートファイルの差分とホスト名が表示されるため、何がどこで変更されたかを正確に把握できます。ターンが外部コンテンツを読み取り、その後git hook、シェル起動ファイル、cron、systemdユニットに書き込む場合、Chimeraは最初に確認を求めます。ホストが返すものは外部コンテンツとしてカウントされるため、リスクが現実的な場合にプロンプトが表示されます。

SSHホスト上のコマンドが切断されても生き残るようになりました。各コマンドは独自の実行IDの下でデタッチされて実行されます。リンクが切断された場合、Chimeraは再接続し、コマンドを再起動することなく出力の読み取りを再開します。不完全な状態で届いたスクリプトが実行されることは決してありません。タイムアウトまたは停止はプロセスグループ全体を終了させます。Chimeraがコマンド実行中にクローズした場合、コマンドは実行を継続し、それを開始した会話には出力先が通知されます。再接続してログを取得できるため、コマンドが完了したか、二重に実行されたかを推測する必要はありません。

複数のアイテムを一度に操作する

フォルダと会話を一つずつ管理することしかできませんでした。設定の「フォルダ」カードとCodeサイドバーに、チェックボックス、三状態の「すべて選択」、アクションバーが追加されました。フォルダに対しては、ピン留め、ピン留め解除、コマンドの許可または取り消し、リストからの削除、再表示が可能です。会話に対しては、アーカイブ、アーカイブ解除、削除、またはリストからのフォルダ削除が可能です。

選択モードではすべての行が描画されるため、画面外のものが誤って操作されることはありません。削除は最初に確認を求め、件数を表示します。コマンドの一括許可も最初に確認を求めます。一つの失敗はカウントされますが、残りの処理は停止しないため、単一の問題アイテムが、選択した他のすべての操作をブロックすることはありません。

pip install --upgrade chimera-agent でアップデートしてください。全ノートは Chimera Agent v0.89.0 にあります。

https://chimeraagent.space