Kendi ajanınızın işlemlerini telefonunuzdan onaylayın.
ColliePWA, oluşturduğunuz bir ajanın sorularını terminal ajanlarınızın yanında, telefonunuzda gösterir. Tek dokunuşla yanıt verirsiniz ve ajan yanıtınızı alır.
01/Kalıcı ajanlar
Kendi ajanınız, telefonunuzda.
Bir kalıcı ajan, örneğin Pi Durable ile kendinizin oluşturduğu ve çalıştırdığı ajandır. Collie ile wire adlı küçük bir protokol üzerinden iletişim kurar; Node ve Bun için hazırlanmış bir SDK bu protokolü sizin yerinize konuşur. Ardından ColliePWA ajanın sorularını, konuşmalarını ve sohbetini çizer, böylece arayüz kodu yazmazsınız.
Deneysel. İletişim protokolü herhangi bir alt sürümde değişebilir veya bu özellik kaldırılabilir. Şu anda protokolü yalnızca Collie deposundaki örnekler kullanmaktadır.
02/ColliePWA
Elde edecekleriniz
- Kalan süreyle birlikte onaylar
- Ajandan gelen bir soru telefonunuzda bir karta dönüşür: evet ya da hayır, bir seçenek, bir satır metin veya kısa bir form. Tek dokunuşla yanıtlarsınız ve kart sorunun ne kadar süre açık kalacağını gösterir.
- Geçmişi olan bir sohbet
- Ajanın her konuşması bir sohbet olarak açılır. Ajan kayıtları tutar, böylece kapanmış konuşmalarını da okuyabilirsiniz.
- Kendine ait bir bölüm ve anlık bildirim
- Ajan, telefonda kendine ait bir Kalıcı ajanlar bölümü alır ve bir soru beklediğinde bu bölüm alanlarınızın üstüne taşınır. push açıkken bir soru bildirim de gönderir.
- Terminal oturumlarınızın yanında
- Herdr, tmux ve zellij oturumlarınız eskisi gibi görünür ve çalışır. Bir kalıcı ajan, oturumun gelebileceği bir kaynak daha demektir.
03/hello.mjs
İlk soruya kadar on satır
SDK'yi ajanınızın klasörüne yükleyin:
$ npm install @colliepwa/durable-sdk@experimentalBu ajanı hello.mjs olarak kaydedin, ardından node hello.mjs veya bun hello.mjs komutuyla çalıştırın. Soketinin yolunu yazdırır ve bekler.
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();İkinci bir terminalde, yazdırdığı yolu kullanarak ajanı Collie'ye bağlayın. --restart Collie köprüsünü yeniden başlatır: telefonunuz birkaç saniye içinde yeniden bağlanır ve terminal oturumlarınız çalışmaya devam eder.
$ collie durable attach hello --socket /run/user/1000/hello/app.sock --restart
Telefonunuzda ColliePWA'yı açın. Kalıcı ajanlar bölümünde hello satırı görünür. Satırı açın, tek konuşması "Deploy to staging?" sorusunu içerir. Yes veya No seçeneğine dokunun; ajan yanıtınızı yazdırır ve kapanır.
04/Socket · HTTPS
Çalıştığı yer
- Aynı makinede
- Collie, ajana yalnızca kullanıcınızın açabileceği bir dosya olan özel bir soket üzerinden ulaşır.
- Başka herhangi bir yerde
- Collie, ajana 32 rastgele bayt veya daha uzun bir belirteçle HTTPS üzerinden ulaşır; belirtece sahip olan herkes sizin adınıza yanıt verebilir.
- Node veya Bun
- SDK, Node 22.18 veya sonraki sürümlerde ve Bun 1.4 veya sonraki sürümlerde çalışır.
05/Belgeler
Belgeleri okuyun
Belgelerdeki Kalıcı ajanlar sayfası kurulumu, iki bağlantı yöntemini, sorun gidermeyi ve bir kalıcı ajanın telefonda neler gösterebileceğini ele alır.