Widget Voice Iterate (anteprima)
Il repository contiene Web Component incorporabile che cattura istruzione digitata o trascritta browser, la invia a un’app OpenFactory posseduta e fa polling del ticket repair risultante. L’integrazione è solo preview.
Il sorgente pacchetto è in tools/voice-iterate nel monorepo OpenFactory. Non
assumere che @openfactory/voice-iterate o il bundle CDN sia pubblicato pubblicamente;
builda e pin artefatto revisionato dal repository finché una release non è
esplicitamente elencata nel registry pacchetti.
Confine attuale
L’endpoint accetta istruzione per app con sorgente Git e dispatcha workflow repair
condiviso. Stage 0 cambia copia sandbox deployata e può redeployare quella preview.
Non garantisce che il cambio sia committato nel repository upstream. Ticket marcato
done prova solo esito task agent registrato; rivedi risultato e verifica app tu stesso.
Il servizio consente al massimo due iterazioni in-flight per app. Richieste
aggiuntive restituiscono 429 finché ticket non raggiunge stato terminale.
Prerequisiti
- App OpenFactory posseduta con
source.git_url. - Account reale; sessioni guest non possono dispatchare edit codice autonomi.
- Chiave account
of_mcp_tenuta su server, mai in JavaScript browser. - HTTPS o origin sviluppo localhost se si usa input microfono.
Build widget da sorgente
Dal monorepo:
cd tools/voice-iterate
npm ci
npm test
npm run lint
npm run buildVendorizza bundle versionato risultante o installalo da registry controllato proprio. Registra commit sorgente e checksum usati dalla tua applicazione.
Usa proxy same-origin
Il widget browser-facing chiama:
POST {endpoint}/iterate
GET {endpoint}/agent-status
GET {endpoint}/agent-status?thread_id={thread_id}Il server dovrebbe pin ID app target e inoltrare richieste a:
POST https://console.openfactory.tech/api/apps/{APP_ID}/iterate
GET https://console.openfactory.tech/api/apps/{APP_ID}/agent-statusAllega Authorization: Bearer <of_mcp_key> solo sul server. Autentica e
rate-limit utenti proxy propri; altrimenti ogni visitatore che raggiunge route
può spendere autorità account su cambi all’app pin. Consenti solo tre path e
due metodi sopra, applica limiti dimensione richiesta e non inoltrare header o
ID app arbitrari.
Monta modulo buildato localmente con endpoint 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);
},
});Custom element e suoi stili girano in Shadow DOM. Fallback testo default resta utilizzabile quando riconoscimento vocale browser non è disponibile. Servizi speech browser e comportamento privacy variano per browser e deploy; ottieni consenso e testa set browser supportato esatto. OpenFactory riceve testo risultante su questo path, mentre browser o servizio speech configurato possono processare audio separatamente.
Test accettazione
- Invia cambio innocuo reversibile su app non produzione.
- Conferma che proxy non possa targetare altra app e rifiuti chiamanti non autenticati.
- Osserva
queued/workingfino a stato terminaledone,failed,lostostale. - Ispeziona risultato task e preview manualmente.
- Conferma che repository Git upstream sia invariato salvo workflow persistenza sorgente separato revisionato che riporti commit o pull request.
- Revert o rebuild sandbox da sorgente canonica.
Vedi Agent prompt-to-app e App deployment per stessi confini persistenza e promozione.