スマートフォンから自身のエージェントのアクションを承認します。
ColliePWAは、自作エージェントからの質問をターミナルエージェントの横、スマホ上に表示します。タップ1回で回答でき、エージェントはその回答を受け取ります。
01/Durable agents
自作のエージェントを、スマートフォンで。
durable agentとは、Pi Durableなどを使って自分で構築し実行するエージェントのことです。軽量なプロトコルであるwireを介してCollieと通信し、NodeおよびBun用のSDKがその通信を処理します。ColliePWAがエージェントの質問、会話、チャットを描画するため、UIコードを書く必要はありません。
実験的機能。ワイヤーはマイナーリリースで変更される可能性や、機能自体が削除される可能性があります。現時点ではCollieリポジトリ内のサンプルのみがこれに対応しています。
02/ColliePWA
提供される機能
- 残り時間付きの承認
- エージェントからの質問は、スマートフォン上にカードとして表示されます。はい/いいえ、選択肢、1行のテキスト、短いフォームなどの形式があります。1回のタップで回答でき、カードには質問の受付時間が表示されます。
- 履歴付きチャット
- エージェントの各会話はチャットとして開きます。エージェントが記録を保持するため、終了した会話も読むことができます。
- 専用セクションとプッシュ通知
- スマホ上ではエージェント専用のDurable agentsセクションが作られ、質問が待機中の場合はセクションがスペースの上に移動します。pushを有効にすると、質問時に通知も届きます。
- ターミナルセッションの横に表示
- Herdr、tmux、zellijのセッションの見た目と動作は以前のままです。durable agentは、セッションの追加ソースの1つとして機能します。
03/hello.mjs
最初の質問まで10行
エージェントのフォルダにSDKをインストールします:
$ npm install @colliepwa/durable-sdk@experimentalこのエージェントをhello.mjsとして保存し、node hello.mjsまたはbun hello.mjsで実行します。ソケットのパスを出力して待機状態になります。
import { openCollie } from "@colliepwa/durable-sdk";
const socket = process.env.COLLIE_DURABLE_SOCKET ?? `${process.env.XDG_RUNTIME_DIR}/hello/app.sock`;
const collie = await openCollie({ socket, hostName: "hello", caps: { asks: true } });
const pane = collie.workspace("hello", { title: "Hello" }).tab("main", { title: "Questions" }).pane("deploy", { title: "Deploy", harness: "hello" });
collie.ready();
console.log(`listening ${collie.address}`);
const options = [{ id: "yes", label: "Yes" }, { id: "no", label: "No" }];
const answer = await pane.ask({ kind: "choice", toolCallId: "deploy-1", itemId: "deploy-1", title: "Deploy to staging?", options });
console.log(`answer: ${answer.optionIds[0]}`);
await collie.close();2つ目のターミナルで、出力されたパスを使ってエージェントをCollieに接続します。--restartはCollieブリッジを再起動します: 数秒でスマホが再接続され、ターミナルセッションはそのまま継続します。
$ collie durable attach hello --socket /run/user/1000/hello/app.sock --restart
スマホでColliePWAを開きます。Durable agentsセクションにhelloの行が表示されます。これを開くと、その会話内に「Deploy to staging?」という質問が表示されます。「Yes」または「No」をタップすると、エージェントが回答を出力して終了します。
04/Socket · HTTPS
実行場所
- 同一マシン上
- Collieは、現在のユーザーのみが開けるファイルであるプライベートソケットを介してエージェントにアクセスします。
- その他の場所
- Collieは32バイト以上のランダムなトークンを使いHTTPS経由でエージェントにアクセスします。トークンを持つ人なら誰でも代わりに回答できます。
- NodeまたはBun
- SDKはNode 22.18以降およびBun 1.4以降で動作します。
05/ドキュメント
ドキュメントを読む
ドキュメントのDurable agentsのページでは、セットアップ手順、2種類の接続方法、トラブルシューティング、スマホに表示できる内容について解説しています。