
Corv v1.1はAI向けに設計されたSSHクライアントで、人間と同じ方法でSSHを使えないエージェントという課題を解決します。構造化出力、認証情報隔離、認証自身を管理せずに接続を再利用する必要があるからです。保存済みプロファイルごとにウォーム状態のローカルブローカー接続を保持し、エージェントが接続名でコマンドと長時間実行の分離ジョブを実行でき、プログラム処理用のJSON出力を返します。Linux、macOS、Windowsで現在利用可能で、Claude・Codex用の統合が用意されています。
こういう要約が、毎朝あなたのメールに届きます。
無料で登録 →何が起きたか
AI向けSSHクライアント「Corv v1.1」がリリースされました。ローカルブローカーによる接続再利用、構造化JSON出力、再開機能付き分離長時間実行ジョブ、暗号化認証情報保存に対応しています。エージェントはパスワードや秘密鍵を公開することなく、接続名でコマンドを実行できます。
なぜ重要か
Claude、CodexなどのエIエージェントは従来、SSH処理に苦労してきました。認証、接続詳細、ターミナル解析を自身で管理する必要があったためです。Corvは統一インターフェースを提供することでこのオーバーヘッドを排除し、秘密情報をローカルに保持し、認証済み接続を再利用して繰り返しのセットアップコストを避け、エージェントが直接解析できる構造化出力を返します。Windows、macOS、Linux全体でエージェントワークフロー上のインフラ負担が軽減されます。
注目点
このツールはcurl、PowerShell、Go(go install github.com/khalid-src/corv-client/cmd/corv@latest)で今すぐインストール可能です。Claude・Codex用の統合がリポジトリに用意されています(integrations/claude/corv-ssh、integrations/codex/AGENTS.md)。ローカルブローカーはアイドル時間15分後に自動終了し、リモートサーバーには何もインストールされません。
CorvはGoで書かれたコマンドラインSSHクライアントで、SSHの人間志向設計とAIエージェントのニーズとのギャップを埋めます。従来のSSHは呼び出しワークフローが接続詳細、認証設定、対話的プロンプト、ターミナル出力解析を管理する必要があります。これらはエージェントにとって不器用でエラーが多いタスクです。加えて、独立したSSH呼び出しはOpenSSHマルチプレックスが手動で設定されない限り接続セットアップのオーバーヘッドを繰り返し、長時間実行タスクは一般にtmux、nohup、またはカスタムスクリプトで永続化する必要があります。
Corvのコアアーキテクチャはローカルブローカープロセスを使用し、保存済み接続プロファイルごとに1つの認証済みSSH接続を保持します。各コマンド(corv <name> -- <cmd>)は保持された接続上の新しいチャネルとして実行されるため、接続と認証のコストは毎回ではなく一度支払われます。この動作はWindows、macOS、Linux全体で一貫しています。OpenSSHのControlMasterアプローチはUnixに限定されるのとは異なります。ブローカーは最初の使用時に自動開始し、アイドル時間15分後に終了し、リモートサーバーには何もインストールされません。
認証情報と接続プロファイルはローカルに保存され暗号化されます。パスワードとキーパスフレーズはローカル暗号化ボルトに保持されます(Windowsではヒステリアで保護、macOsとLinuxでは配置済みの場合はKeychain/Secret Serviceを使用)。接続プロファイル自体が暗号化されているためホスト、ユーザー、パスが平文で漏洩しません。秘密情報がコマンドライン引数として渡されることはありません。エージェントは接続名でcorvを呼び出し、認証情報はローカルのままです。
長時間実行ジョブについて、ブローカーの待機ウィンドウ後もコマンドが実行中の場合、Corvは自動的に分離します(CORV_WAIT環境変数で制御可能。30のような秒数またはGo期間形式500msなど)。分離時、Corvは制限された出力、実行ID、終了コード75を返します。エージェントは同じコマンドを再実行して既存リモートジョブにアタッチし、次の出力差分をポーリングできます。完了時、Corvは最大20MiBの出力をローカルに保持します。ログがそれを超える場合、最初の4MiBと最終セクションを...N行非表示...マーカー付きで保存し、後期障害が失われないようにします。完了した実行ログとメタデータは24時間保持され、ブローカー起動時にクリーンアップされます。
出力はプログラム処理用に正規化されます。キャリッジリターン再描画(進捗バーなど)は最終状態に折り畳まれます。ANSI制御シーケンスと色コードは削除されます。stdoutとstderrはキャプチャされ、一緒に、書き込み順で相互リンクされ、stdoutで返されます。--json stderrフィールドはCorv級エラー用に予約されています(リモートコマンド独自のstderrではなく)。制限されたバイト予算は出力の最初と最後を保持し、構造化JSON応答はoriginal_bytes、saved_bytes、returned_bytes、truncated、output_truncatedなどのフィールドを含み、エージェントは何が保持されたかを正確に知ることができます。
エージェントについては、コマンド構文は単純です:corv <name> -- <command>。単一引数はリモートシェルコマンドライン(例:corv srv -- "cd /app && make")として扱われ、複数引数は保持されたベクトルとして渡され、シェルで再分割されるのを防ぐため引用符で囲まれます。複雑なスクリプトについて、エージェントはstdinモードを使用できます:直接入力の場合は--stdinまたはUTF-8 base64エンコード用の--stdin-base64で、これはクロスシェル安全です。エージェントはパスワード、トークン、秘密をコマンドラインに置くべきではありません。コマンド履歴は渡された内容を記録します。
統合はClaudeとCodex向けに提供されています。Claudeユーザーはintegrations/claude/corv-sshを~/.claude/skills/(またはプロジェクトの.claude/skills/)にコピーします。Codexユーザーはintegrations/codex/AGENTS.mdをプロジェクトにコピーします。統合すると、エージェントは名前でコマンドを実行し、構造化JSON出力を直接読み込みます。ツールはcurl(Linux/macOS)、PowerShell(Windows)、またはGoでインストールされ、ローカルブローカーはリモートホスト上のPOSIXシェルと標準Unixツールのみを必要とします。Windows OpenSSHサーバーはリモート実行対象としてサポートされていません。サーバー側ソフトウェアはインストールされません。
Corvはエージェントがインフラストラクチャと相互作用する方法のギャップに対応しています。SSHは人間ワークフローを想定して設計されており、ユーザーはキーを管理し、対話的プロンプトを交渉し、ターミナル出力を解析しますが、エージェントはプログラムインターフェース、認証情報隔離、接続効率を必要とします。生のSSH呼び出しはエージェントに認証状態を自身で処理させるか、コマンドライン引数で秘密を公開させるかのいずれかを強い、両者ともセキュリティと状態管理に悪いです。
ローカルブローカーモデルはサーバー側の変更を必要としない接続再利用を解決します(OpenSSH ControlMasterはUnixで機能しますがWindowsでは機能しません)。プロファイルごとに1つの認証済み接続を保持し、その接続上でコマンドをマルチプレックスすることで、Corvは繰り返されるSSHハンドシェイクと認証を回避します。分離ジョブサポートは長時間実行ワークフローに不可欠です。エージェントはデプロイまたはインストールスクリプトを開始し、その状態を非同期にポーリングでき、任意の時点で出力取得を再開でき、制限された出力処理(大きなログの場合は最初の4MiBと最終セクション)によりエージェントが冗長なリモートタスクでメモリを枯渇させません。
構造化JSON出力(exit_code、original_bytes、saved_bytes、returned_bytes、truncated、output_truncatedなどのフィールド)はエージェントに成功判定、切り詰め検出、再クエリまたは続行判断に必要なメタデータを提供します。ClaudeとCodex用の統合パスはこのツールがエージェント駆動インフラワークフローでの直ちの採用を意図していることを示唆しています。
AIが要約して、あなたの選んだトピックだけを1日1通。LINE・Email・Slackで届きます。
登録無料・30秒で完了・いつでも解除できます
まだコメントがありません。最初のコメントを投稿しましょう!
ログインして議論に参加200以上のソースから厳選したAIニュースを毎日無料でお届けします。
無料で始める登録無料・30秒で完了・いつでも解除できます