Voice Iterate-widget (preview)
De repository bevat een inbedbare Web Component die een getypte of door de browser getranscribeerde instructie vastlegt, die naar een OpenFactory-app van u stuurt en het resulterende repair ticket pollt. De integratie is alleen preview.
De packagebron staat in tools/voice-iterate in het OpenFactory-monorepo. Ga er niet
van uit dat @openfactory/voice-iterate of de CDN-bundle openbaar gepubliceerd is;
bouw en pin een beoordeeld artifact uit de repository totdat een release expliciet in
het package registry staat.
Huidige grens
Het endpoint accepteert een instructie voor een app met een Git-bron en start de
gedeelde repair workflow. Stage 0 wijzigt de gedeployde sandbox-kopie en kan die
preview opnieuw deployen. Het garandeert niet dat de wijziging in de upstream
repository is gecommit. Een ticket met status done bewijst alleen de vastgelegde
agent task outcome; controleer het resultaat en verifieer de app zelf.
De service staat maximaal twee lopende iteraties per app toe. Extra verzoeken geven
429 totdat een ticket een terminal state bereikt.
Vereisten
- Een OpenFactory-app van u met
source.git_url. - Een echt account; guest sessions kunnen geen autonome code-edits starten.
- Een
of_mcp_account key op een server, nooit in browser JavaScript. - HTTPS of een localhost development origin als microfooninput wordt gebruikt.
De widget uit bron bouwen
Vanuit het monorepo:
cd tools/voice-iterate
npm ci
npm test
npm run lint
npm run buildNeem de resulterende versioned bundle op in uw build of installeer die uit uw eigen beheerde registry. Noteer de source commit en checksum die uw applicatie gebruikt.
Same-origin proxy gebruiken
De widget in de browser roept aan:
POST {endpoint}/iterate
GET {endpoint}/agent-status
GET {endpoint}/agent-status?thread_id={thread_id}Uw server moet de doel-app-ID vastzetten en die verzoeken doorsturen naar:
POST https://console.openfactory.tech/api/apps/{APP_ID}/iterate
GET https://console.openfactory.tech/api/apps/{APP_ID}/agent-statusVoeg Authorization: Bearer <of_mcp_key> alleen op de server toe. Authenticeer en
rate-limit uw eigen proxygebruikers; anders kan elke bezoeker die de route bereikt
de authority van uw account besteden aan wijzigingen aan de vastgepinde app. Sta
alleen de drie paden en twee methoden hierboven toe, handhaaf limieten op
request-grootte en stuur geen willekeurige headers of app-ID’s door.
Mount de lokaal gebouwde module met het 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);
},
});Het custom element en de styles draaien in een Shadow DOM. De standaard text fallback blijft bruikbaar wanneer browser speech recognition niet beschikbaar is. Browser speech services en privacygedrag verschillen per browser en deployment; vraag toestemming en test de exacte ondersteunde browserset. OpenFactory ontvangt de resulterende tekst op dit pad, terwijl de browser of een geconfigureerde speech service audio apart kan verwerken.
Acceptatietest
- Dien een onschadelijke, omkeerbare wijziging in tegen een non-production app.
- Bevestig dat de proxy geen andere app kan targeten en niet-geauthenticeerde callers afwijst.
- Observeer
queued/workingtot een terminaldone,failed,lostofstalestate. - Inspecteer het task result en de preview handmatig.
- Bevestig dat de upstream Git-repository ongewijzigd is, tenzij een aparte, beoordeelde source-persistence workflow een commit of pull request meldt.
- Zet de sandbox terug of herbouw die vanuit de canonieke bron.
Zie Prompt-ondersteunde app-implementatie en App-implementatie voor dezelfde persistence- en promotiegrenzen.