Voice Iterate Widget (Preview)
Repozitár obsahuje vložiteľnú Web Component, ktorá zachytí zadanú alebo v prehliadači prepísanú inštrukciu, odošle ju do vlastnenej OpenFactory aplikácie a pravidelne dotazuje výsledný repair ticket. Integrácia je zatiaľ len v preview.
Zdroj balíka je v tools/voice-iterate v monorepe OpenFactory. Nepredpokladajte,
že @openfactory/voice-iterate alebo jeho CDN bundle je verejne publikovaný;
zostavte a pripnite skontrolovaný artefakt z repozitára, kým v registri balíkov
nie je výslovne uvedené vydanie.
Aktuálna hranica
Endpoint prijme inštrukciu pre aplikáciu so zdrojom Git a spustí zdieľaný repair workflow.
Stage 0 mení nasadenú kópiu sandboxu a môže tento preview znova nasadiť. Nezaručuje,
že zmena bude commitnutá do upstream repozitára. Ticket označený done dokladuje len
zaznamenaný výsledok úlohy agenta; výsledok skontrolujte a aplikáciu overte sami.
Služba povolí najviac dve prebiehajúce iterácie na aplikáciu. Ďalšie
požiadavky vrátia 429, kým ticket nedosiahne terminálny stav.
Predpoklady
- Vlastnená OpenFactory aplikácia s
source.git_url. - Skutočný účet; hosťovské relácie nemôžu spúšťať autonómne úpravy kódu.
- Kľúč účtu
of_mcp_uložený na serveri, nikdy v JavaScripte prehliadača. - HTTPS alebo localhost vývojový origin, ak používate vstup z mikrofónu.
Zostavenie widgetu zo zdroja
Z monorepa:
cd tools/voice-iterate
npm ci
npm test
npm run lint
npm run buildVložte výsledný verzovaný bundle do projektu alebo ho nainštalujte z vlastného kontrolovaného registra. Zaznamenajte source commit a checksum, ktoré vaša aplikácia používa.
Proxy s rovnakým originom
Widget volaný z prehliadača volá:
POST {endpoint}/iterate
GET {endpoint}/agent-status
GET {endpoint}/agent-status?thread_id={thread_id}Váš server by mal pripnúť cieľové app ID a tieto požiadavky poslať na:
POST https://console.openfactory.tech/api/apps/{APP_ID}/iterate
GET https://console.openfactory.tech/api/apps/{APP_ID}/agent-statusPripojte Authorization: Bearer <of_mcp_key> len na serveri. Overte
a obmedzte rýchlosť vlastných používateľov proxy; inak každý návštevník, ktorý sa k route
dostane, môže minúť oprávnenie vášho účtu na zmeny pripnutej aplikácie. Povoľte
len tri cesty a dve metódy vyššie, vynucujte limity veľkosti požiadavku a
neposielajte ľubovoľné hlavičky ani app ID.
Namontujte lokálne zostavený modul s endpointom 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 štýly bežia v Shadow DOM. Predvolená textová náhrada zostane použiteľná, keď rozpoznávanie reči v prehliadači nie je k dispozícii. Služby reči v prehliadači a správanie súkromia sa líšia podľa prehliadača a nasadenia; získajte súhlas a otestujte presne podporovanú množinu prehliadačov. OpenFactory na tejto ceste dostane výsledný text, zatiaľ čo prehliadač alebo nakonfigurovaná služba reči môže spracovávať audio samostatne.
Akceptačný test
- Odošlite neškodnú, vratnú zmenu proti neprodukčnej aplikácii.
- Overte, že proxy nemôže cieliť na inú aplikáciu a odmietne neoverených volajúcich.
- Sledujte
queued/workingaž do terminálneho stavudone,failed,lostalebostale. - Prezrite výsledok úlohy a preview ručne.
- Potvrďte, že upstream Git repozitár sa nezmenil, pokiaľ samostatný, skontrolovaný workflow persistence zdroja nehlási commit alebo pull request.
- Vráťte sandbox alebo ho znova zostavte z kanonického zdroja.
Pozrite Prompt-to-app agent a App deployment pre rovnaké hranice persistence a propagácie.