Skip to Content
TestingVoice Iterate Widget (preview)

Voice Iterate Widget (preview)

Repozytorium zawiera osadzalny Web Component, który rejestruje wpisaną lub transkrybowaną w przeglądarce instrukcję, wysyła ją do należącej do Ciebie aplikacji OpenFactory i odpytuje powstały repair ticket. Integracja działa wyłącznie w trybie preview.

Kod pakietu jest w tools/voice-iterate w monorepo OpenFactory. Nie zakładaj, że @openfactory/voice-iterate lub jego CDN bundle jest publicznie opublikowany; zbuduj i przypnij sprawdzony artifact z repozytorium, dopóki wydanie nie pojawi się wyraźnie w rejestrze pakietów.

Obecna granica

Endpoint przyjmuje instrukcję dla aplikacji ze źródłem Git i uruchamia wspólny repair workflow. Stage 0 zmienia wdrożoną kopię sandbox i może ponownie wdrożyć ten preview. Nie gwarantuje to, że zmiana trafi do upstream repository. Ticket oznaczony done potwierdza tylko zapisany agent task outcome; przejrzyj wynik i sam zweryfikuj aplikację.

Usługa dopuszcza co najwyżej dwie równoległe iteracje na aplikację. Kolejne żądania zwracają 429, dopóki ticket nie osiągnie terminal state.

Wymagania wstępne

  • Należąca do Ciebie aplikacja OpenFactory z source.git_url.
  • Prawdziwe konto; guest sessions nie mogą uruchamiać autonomicznych edycji kodu.
  • Klucz konta of_mcp_ trzymany na serwerze, nigdy w browser JavaScript.
  • HTTPS lub localhost development origin, jeśli używasz wejścia z mikrofonu.

Budowa widgetu ze źródła

Z monorepo:

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

Dołącz powstały versioned bundle do własnej dystrybucji lub zainstaluj go z kontrolowanego rejestru. Zapisz source commit i checksum używane przez aplikację.

Proxy same-origin

Widget po stronie przeglądarki wywołuje:

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

Serwer powinien przypiąć docelowe app ID i przekazywać te żądania do:

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

Dołącz Authorization: Bearer <of_mcp_key> tylko na serwerze. Uwierzytelnij i ogranicz tempo użytkowników proxy; inaczej każdy gość z dostępem do trasy może wydać uprawnienia Twojego konta na zmiany przypiętej aplikacji. Zezwól tylko na trzy ścieżki i dwie metody powyżej, wymusz limity rozmiaru żądania i nie przekazuj dowolnych nagłówków ani app ID.

Podłącz lokalnie zbudowany moduł z 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); }, });

Custom element i style działają w Shadow DOM. Domyślny text fallback pozostaje użyteczny, gdy browser speech recognition jest niedostępne. Browser speech services i zachowanie prywatności zależą od przeglądarki i deployment; uzyskaj zgodę i przetestuj dokładnie wspierany zestaw przeglądarek. OpenFactory otrzymuje wynikowy tekst na tej ścieżce, a przeglądarka lub skonfigurowana speech service może przetwarzać audio osobno.

Test akceptacyjny

  1. Wyślij nieszkodliwą, odwracalną zmianę wobec aplikacji non-production.
  2. Potwierdź, że proxy nie może wskazać innej aplikacji i odrzuca nieuwierzytelnionych callers.
  3. Obserwuj queued/working aż do terminal done, failed, lost lub stale state.
  4. Ręcznie sprawdź task result i preview.
  5. Potwierdź, że upstream Git repository jest bez zmian, chyba że osobny, sprawdzony source-persistence workflow zgłasza commit lub pull request.
  6. Cofnij zmiany w sandbox lub odbuduj go z kanonicznego źródła.

Zobacz Wdrażanie aplikacji wspomagane promptem oraz Wdrażanie aplikacji w sprawie tych samych granic persistence i promocji.