ARK CUA は何をしますか?
バンドルされたPython CLIを通じてARK CUAを操作します。すべてのゲートウェイアクセスをCLI内に保持し、AgentPlan APIキーをチャットで要求しないようにします。
コマンドサーフェス
python3 <skill-dir>/scripts/cua.py <command> [options]
各呼び出しによって出力される単一のJSONオブジェクトを解析します。
- 成功:
ok: true、dataおよび場合によりnextを含む。 - 失敗:
ok: false、error.codeおよび場合によりnext.setup_commandを含む。
コア以外のコマンドについては references/commands.md を参照してください。references/auth.md、references/outcomes.md、references/troubleshooting.md は、対応する状態が発生した場合にのみ参照してください。
コアワークフロー
auth statusを実行します。AUTH_REQUIRED、TOKEN_EXPIRED、またはREFRESH_FAILEDの場合、返されたsetup_commandをユーザーに伝えます。ユーザーに自身のローカル端末でそのコマンドを実行し、隠しプロンプトを通じてAgentPlan APIキーを入力するよう依頼します。エージェントセッションからインタラクティブログインを実行したり、チャットでキーを受け取ったりしないでください。- ユーザーがログイン完了を確認したら、再度
auth statusを実行します。 delegate --objective "<user request>"を一度実行します。ユーザーの目的を計画や分解せずにそのまま保持します。data.invocation_idを記録します。同じリクエストを再度送信しないでください。data.outcomeが終端状態になるまで駆動します:in_progress:next.commandを実行し、監視を続けます。needs_input:data.input_request.questionをそのまま伝え、ユーザーの返信をanswerで送信します。completed:data.result.textを信頼できる結果として使用します。failed: 失敗を報告します。要求され、安全である場合にのみ再試行します。cancelled: キャンセルを報告します。
タスク作成で ACTIVE_RUN_CONFLICT が返された場合、新しいリクエストは開始されませんでした。停止し、デスクトップがビジー状態であることをユーザーに伝え、ユーザーが明示的に要求しない限り、既存のタスクを再試行したり調査したりしないでください。
特別なインテントのルーティング
- 特定のデスクトップまたは再利用可能なコンテキスト:
desktop list、task run、context、task continueを使用します。 - ローカルファイルの配信: CUAの目的からローカル配信に関する文言を削除し、CUAに登録済みのアーティファクトをエクスポートさせ、その後
artifact listとartifact saveを使用します。 - ヘルスまたは構成の検査:
ping、diagnose、またはmodel getを使用します。可用性をテストするためだけにタスクを作成しないでください。 - アクティブなタスクの停止: ユーザーが明示的に要求した場合にのみ
cancelを使用します。
安全性と結果の整合性
assets/config.jsonのバンドルされたゲートウェイを使用します。ap-cua-skillと同じ、呼び出しごとおよび環境変数のオーバーライドを許可します。- 認証情報は
ap-cua-skillとまったく同じ方法で構成します:--api-key、次にAP_CUA_AGENTPLAN_API_KEY、AGENTPLAN_API_KEY、またはARK_API_KEYの環境変数を解決し、それ以外でキーが利用できない場合は隠しローカル端末プロンプトを使用します。正常な認証情報を検証し、ローカルの0600キャッシュに保存します。 - APIキー、キャッシュの内容、認証ヘッダー、ユーザーの回答、アーティファクトのバイトデータを決して公開しないでください。
- 進行状況テキストや非終端状態から完了を推測しないでください。
result.textはoutcome == completedの場合にのみ信頼できるものとして扱います。- 既存のローカルファイルへの上書きを拒否します。
artifact saveには新しい出力パスを要求します。 - HTML/インタースティシャル応答をアーティファクトとして拒否し、ディスクに書き込まないでください。
- base64テキストや外部共有リンクをダウンロード済みファイルとして受け入れず、登録済みアーティファクトを要求します。
- CUAの質問を迂回したり、永続的なモデル設定を変更したり、スケジュールを管理したり、デスクトップアクセストークンを公開したり、デスクトップの再起動/リセット操作を呼び出したりしないでください。