Voice Iterate Widget (Preview)
Repozitář obsahuje vložitelnou Web Component, která zachytí zadanou nebo v prohlížeči přepsanou instrukci, odešle ji do vlastněné OpenFactory aplikace a průběžně dotazuje výsledný repair ticket. Integrace je zatím jen v preview.
Zdroj balíčku je v tools/voice-iterate v monorepu OpenFactory. Nepředpokládejte,
že @openfactory/voice-iterate nebo jeho CDN bundle je veřejně publikovaný;
sestavte a připněte zkontrolovaný artefakt z repozitáře, dokud v registru balíčků
není výslovně uvedeno vydání.
Aktuální hranice
Endpoint přijme instrukci pro aplikaci s Git zdrojem a spustí sdílený repair workflow.
Stage 0 mění nasazenou kopii sandboxu a může tento preview znovu nasadit. Nezaručuje,
že změna bude commitnutá do upstream repozitáře. Ticket označený done dokládá jen
zaznamenaný výsledek úlohy agenta; výsledek zkontrolujte a aplikaci ověřte sami.
Služba povolí nejvýše dvě probíhající iterace na aplikaci. Další
požadavky vrátí 429, dokud ticket nedosáhne terminálního stavu.
Předpoklady
- Vlastněná OpenFactory aplikace s
source.git_url. - Skutečný účet; hostující relace nemohou spouštět autonomní úpravy kódu.
- Klíč účtu
of_mcp_uložený na serveru, nikdy v JavaScriptu prohlížeče. - HTTPS nebo localhost vývojový origin, pokud používáte vstup z mikrofonu.
Sestavení widgetu ze zdroje
Z monorepa:
cd tools/voice-iterate
npm ci
npm test
npm run lint
npm run buildVložte výsledný verzovaný bundle do projektu nebo ho nainstalujte z vlastního kontrolovaného registru. Zaznamenejte source commit a checksum, které vaše aplikace používá.
Proxy se stejným originem
Widget volaný z prohlížeče volá:
POST {endpoint}/iterate
GET {endpoint}/agent-status
GET {endpoint}/agent-status?thread_id={thread_id}Váš server by měl připnout cílové app ID a tyto požadavky předat na:
POST https://console.openfactory.tech/api/apps/{APP_ID}/iterate
GET https://console.openfactory.tech/api/apps/{APP_ID}/agent-statusPřipojte Authorization: Bearer <of_mcp_key> jen na serveru. Ověřte
a omezte rychlost vlastních uživatelů proxy; jinak každý návštěvník, který se k route
dostane, může utratit oprávnění vašeho účtu na změny připnuté aplikace. Povolte
jen tři cesty a dvě metody výše, vynucujte limity velikosti požadavku a
nepředávejte libovolné hlavičky ani app ID.
Namontujte lokálně sestavený modul s endpointem proxy:
import { createVoiceIterate } from './vendor/openfactory-voice-iterate/index.mjs';
const widget = createVoiceIterate({
appId: '550e8400-e29b-41d4-a716-446655440000',
endpoint: '/api/voice-iterate',
fallback: 'text',
onStatusChange: ({ status, thread }) => {
console.log(status, thread.taskResult);
},
});Vlastní element a jeho styly běží ve Shadow DOM. Výchozí textová náhrada zůstane použitelná, když rozpoznávání řeči v prohlížeči není k dispozici. Služby řeči v prohlížeči a chování soukromí se liší podle prohlížeče a nasazení; získejte souhlas a otestujte přesně podporovanou sadu prohlížečů. OpenFactory na této cestě obdrží výsledný text, zatímco prohlížeč nebo nakonfigurovaná služba řeči může zpracovávat audio zvlášť.
Akceptační test
- Odešlete neškodnou, vratnou změnu proti neprodukční aplikaci.
- Ověřte, že proxy nemůže cílit na jinou aplikaci a odmítne neověřené volající.
- Sledujte
queued/workingaž do terminálního stavudone,failed,lostnebostale. - Prohlédněte výsledek úlohy a preview ručně.
- Potvrďte, že upstream Git repozitář se nezměnil, pokud samostatný, zkontrolovaný workflow persistence zdroje nehlásí commit nebo pull request.
- Vraťte sandbox nebo ho znovu sestavte z kanonického zdroje.
Viz Prompt-to-app agent a App deployment pro stejné hranice persistence a propagace.