語音迭代小工具(預覽)
此儲存庫包含一個可嵌入的 Web 元件,用於擷取鍵入的或 瀏覽器轉錄的指令,將其提交給擁有的 OpenFactory 應用程序,以及 輪詢產生的維修單。此整合僅限預覽。
軟體包源位於 OpenFactory monorepo 中的 tools/voice-iterate 中。做
不假設 @openfactory/voice-iterate 或其 CDN 套裝已公開發布;
從儲存庫建置並固定經過審查的工件,直到發佈為止
在包註冊表中明確列出。
目前邊界
端點接受具有 Git 來源的應用程式的指令並調度
共享修復工作流程。 Stage 0 更改已部署的沙箱副本,並且可以
重新部署該預覽。它不保證變更被承諾
上游儲存庫。標記為 done 的票據僅證明記錄的代理
任務結果;查看其結果並親自驗證該應用程式。
該服務允許每個應用程式最多進行兩次運行中迭代。附加
請求返回 429,直到票證達到最終狀態。
先決條件
- 擁有 OpenFactory 應用程式與
source.git_url。 - 真實帳戶;來賓會話無法調度自主代碼編輯。
of_mcp_帳戶密鑰保存在伺服器上,而不是保存在瀏覽器 JavaScript 中。- HTTPS 或本地主機開發來源(如果使用麥克風輸入)。
從原始碼建立小部件
來自單一倉庫:
cd tools/voice-iterate
npm ci
npm test
npm run lint
npm run build供應商產生的版本化捆綁包或從您自己控制的安裝它 註冊表。記錄應用程式使用的來源提交和校驗和。
使用同源代理
面向瀏覽器的小工具呼叫:
POST {endpoint}/iterate
GET {endpoint}/agent-status
GET {endpoint}/agent-status?thread_id={thread_id}您的伺服器應固定目標應用程式 ID 並將這些請求轉發到:
POST https://console.openfactory.tech/api/apps/{APP_ID}/iterate
GET https://console.openfactory.tech/api/apps/{APP_ID}/agent-status僅在伺服器上附加 Authorization: Bearer <of_mcp_key>。認證
並對您自己的代理用戶進行速率限制;否則每個訪客都能夠到達
路線可以使用您帳戶的權限來更改固定的應用程式。允許
只有上面的三個路徑和兩個方法強制請求大小限制,並且執行
不轉發任意標頭或應用程式 ID。
使用代理端點掛載本地建置的模組:
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);
},
});自訂元素及其樣式在 Shadow DOM 中運作。預設文字 當瀏覽器語音辨識不可用時,後備仍可使用。 瀏覽器語音服務和隱私行為因瀏覽器和部署而異; 取得同意並測試確切支援的瀏覽器集。 OpenFactory 收到 此路徑上的結果文本,而瀏覽器或配置的語音 服務可以單獨處理音訊。
驗收測試
- 針對非生產應用程式提交無害的、可逆的變更。
- 確認代理不能指向任何其他應用,並拒絕未經身份驗證的呼叫方。
- 觀察從
queued/working到終止狀態done、failed、lost或stale的過程。 - 檢查任務結果並手動預覽。
- 確認上游 Git 儲存庫未更改,除非有單獨的、 已審查的來源持久性工作流程報告提交或拉取請求。
- 從規範源恢復或重建沙箱。
請參閱 Prompt-to-app agent 和 App deployment 了解相同的持久性與提升邊界。