Skip to Content
Testing语音迭代小部件(预览)

语音迭代小部件(预览)

该存储库包含一个可嵌入的 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 收到 此路径上的结果文本,而浏览器或配置的语音 服务可以单独处理音频。

验收测试

  1. 针对非生产应用程序提交无害的、可逆的更改。
  2. 确认代理不能指向任何其他应用,并拒绝未经身份验证的调用方。
  3. 观察从 queued/working 到终止状态 donefailedloststale 的过程。
  4. 检查任务结果并手动预览。
  5. 确认上游 Git 存储库未更改,除非有单独的、 已审查的源持久性工作流程报告提交或拉取请求。
  6. 从规范源恢复或重建沙箱。

请参阅 Prompt-to-app agentApp deployment 了解相同的持久性与提升边界。