Skip to Content
TestingVoice Iterate-widget (preview)

Voice Iterate-widget (preview)

Repot innehåller en inbäddbar Web Component som tar emot en skriven eller i webbläsaren transkriberad instruktion, skickar den till en OpenFactory-app som du äger och pollar det resulterande repair ticket. Integrationen är endast preview.

Paketkällan ligger i tools/voice-iterate i OpenFactory-monorepot. Anta inte att @openfactory/voice-iterate eller dess CDN bundle är publicerat offentligt; bygg och pinna en granskad artifact från repot tills en release uttryckligen listas i package registry.

Nuvarande gräns

Endpointen tar emot en instruktion för en app med Git-källa och startar det delade repair workflow. Stage 0 ändrar den deployade sandbox-kopian och kan deploya om preview. Det garanterar inte att ändringen committas till upstream repository. Ett ticket märkt done visar bara det registrerade agent task outcome; granska resultatet och verifiera appen själv.

Tjänsten tillåter högst två pågående iterationer per app. Ytterligare förfrågningar returnerar 429 tills ett ticket når terminal state.

Förutsättningar

  • En OpenFactory-app som du äger med source.git_url.
  • Ett riktigt konto; guest sessions kan inte starta autonoma kodändringar.
  • En of_mcp_ account key på en server, aldrig i browser JavaScript.
  • HTTPS eller localhost development origin om mikrofon används.

Bygg widgeten från källkod

Från monorepot:

cd tools/voice-iterate npm ci npm test npm run lint npm run build

Vendora den versioned bundle som byggs eller installera den från ett eget kontrollerat registry. Notera source commit och checksum som din applikation använder.

Använd en same-origin-proxy

Widgeten i webbläsaren anropar:

POST {endpoint}/iterate GET {endpoint}/agent-status GET {endpoint}/agent-status?thread_id={thread_id}

Servern ska pinna mål-app-ID och vidarebefordra dessa anrop till:

POST https://console.openfactory.tech/api/apps/{APP_ID}/iterate GET https://console.openfactory.tech/api/apps/{APP_ID}/agent-status

Bifoga Authorization: Bearer <of_mcp_key> endast på servern. Autentisera och rate-limit dina egna proxyanvändare; annars kan varje besökare som når rutten använda ditt kontos authority för ändringar i den pinnade appen. Tillåt bara de tre sökvägarna och två metoderna ovan, begränsa request-storlek och vidarebefordra inte godtyckliga headers eller app-ID.

Montera den lokalt byggda modulen med proxy-endpoint:

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); }, });

Custom element och dess styles körs i Shadow DOM. Standard text fallback fungerar fortfarande när browser speech recognition saknas. Browser speech services och integritetsskydd varierar mellan webbläsare och deployment; inhämta samtycke och testa exakt vilka webbläsare som stöds. OpenFactory får den resulterande texten på denna väg, medan webbläsaren eller en konfigurerad speech service kan behandla ljud separat.

Acceptanstest

  1. Skicka en harmlös, reversibel ändring mot en non-production-app.
  2. Bekräfta att proxyn inte kan rikta in någon annan app och avvisar oautentiserade callers.
  3. Följ queued/working till terminal done, failed, lost eller stale state.
  4. Granska task result och preview manuellt.
  5. Bekräfta att upstream Git repository är oförändrat om inte ett separat, granskat source-persistence workflow rapporterar commit eller pull request.
  6. Återställ eller bygg om sandbox från den kanoniska källan.

Se Promptassisterad appdistribution och Appdistribution för samma persistence- och promotionsgränser.