İçeriğe atla
ColliePWA

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@experimental

Bu 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.