用途 该技能面向 OpenMotion 仓库的贡献者,用于新增或维护内置的 BYOK(自带密钥)媒体服务商。实现须通过现有的 openmotion_media_use Tool 与 Model Gateway 完成,并遵循检出仓库中 AGENTS.md 的当前开发与 PR 规则。示例路径相对仓库根目录;该技能保留在 .agents/skills/,产品指引从根目录 skills/ 发布。
主要能力
- 契约确认:查阅服务商官方 API 与模型文档,记录来源链接和查阅日期,确认稳定的服务商标识、显示名称、密钥创建 URL、API 源与认证方案;确认模型发现为公开还是需认证、响应字段、分页和模型级 schema 链接;确认支持的图像/视频/音频操作、精确模型 ID、必填字段与示例输出,区分语音与音乐/音效、媒体文件与转写/文本/训练/3D 结果;确认提交与轮询端点、远程任务标识、中间与终态状态、结果获取、取消与幂等语义;确认 HTTP 错误与信封/任务码的区别、限流及不确定结果。仅实现已确认的 API 行为,不得虚构模型目录端点、账户权益、未支持的模态、远程取消或退款。
- 扩展现有集成边界:在 shared/gateway.ts、gateway/catalog.ts 添加服务商 ID 与标签;在 gateway/service.ts 解析环境密钥与服务自有已保存密钥,保留已保存密钥优先及既有保存/移除语义;在 gateway/catalog.ts、gateway/service.ts(可选 gateway/providers.ts)以正确认证查询文档化目录,仅规范化受支持的媒体输出,保留分页、缓存与目录不可用警告;在 gateway/providers.ts 或独立模块实现 ProviderAdapter.generate 并注册到 providerAdapters,复用持久化任务、进度/remoteId、校验、下载与项目导入;在 studio/src/motion/ModelSettings.tsx 加入带正确密钥设置/使用链接的服务商卡片,不让新服务商落到其他供应商的密钥 URL,设置页不展示模型目录,OpenDesign 设置有意隐藏;在 shared/workflow.ts、server.ts、gateway/media-use.ts 注册服务商文档并加入其 HTTP 参考路由,确认 inspect/reference/models 接受并返回新 ID;在 skills/openmotion-production/references/media-providers/、该生产技能的 references/materials.md 及相关 docs/ 维护一份服务商参考文档。
- 凭据与请求边界:密钥仅在服务内部注入,绝不读取真实密钥文件、向 Agent 返回密钥、把凭据加入模型参数或提交;fixtures 使用合成凭据。使用精确模型 schema,检查实际线上请求体而非仅 Tool 参数。尽量保持固定服务商源;任何用户可配置源须保留现有公开 HTTPS/DNS 校验。轮询前保存远程 ID,区分已接收、处理中、失败与完成;不自动重试付费 POST、切换付费供应商或在超时后新建任务;本地取消/超时不代表远程已停止。
- 编写参考文档:创建 skills/openmotion-production/references/media-providers/<provider-id>.md 并注册到生产工作流,包含密钥设置、认证与模型列表查询,各支持模态的 Tool JSON 模板及精确 HTTP 端点/请求体映射,轮询与结果获取,代表性错误码及含义、下一步操作与重试边界,官方来源/模型链接与已知集成限制;区分 Tool 参数与线上 JSON、本地任务 ID 与远程任务 ID、HTTP 状态与应用/任务码;未知行为标记为未知。
- 验证与交接:用确定性 fixtures 覆盖模型发现/认证与规范化(含排除不支持的输出类型)、各已实现模态的公共媒体 Tool → 精确服务商 URL/认证/请求体 → 原始任务轮询 → 已校验项目自有文件,断言幂等重放只提交一次;覆盖认证/输入被拒与不安全任务/输出目标,错误或取消不得触发另一次付费提交或暴露密钥;覆盖配置保存/清除/移除、正确设置与参考链接、设置页不发起模型查询;覆盖通过 Tool、MCP 资源与 HTTP 的参考交付及参考文档进入分发产物。调整 tests/byok.test.ts、studio/src/motion/ModelSettings.test.tsx、tests/workflow.test.ts、tests/npm-package.test.ts 与 tests/byok-browser.mjs,新增测试文件须纳入仓库显式 CI runner。运行时/Studio 变更在固定 Node 版本下运行 npm run check、npm run typecheck:studio、npm run build:studio 及相关确定性/打包检查;真实浏览器测试使用共享浏览器锁通道和隔离测试项目/数据目录。仅当产品行为或边界变化时更新 docs/product/architecture.md。汇报已实现模态、参考文档、实际执行的检查、未测试的线上服务商行为与剩余限制;真实付费生成仅在用户请求范围内进行。
适用场景 适用于为 OpenMotion 仓库新增内置 BYOK 图像、视频或音频媒体服务商,或维护既有服务商集成、文档与测试的贡献场景。
限制 公共 Tool 已覆盖 inspect/reference/models/generate/status/cancel,服务商无需自己的 MCP Tool 或可分发技能;Tool 与技能列表来自实际注册表,不引入固定数量门槛。不得把该贡献者技能加入 packagedSkills、工作流资源或宿主安装列表。当前非 2xx 处理会省略原始服务商响应体/头部,本地错误可能缺少任务详情,不能承诺完整诊断或从通用本地措辞推断确定原因。fixtures 成功不代表账户/计费或视听验收。commit/push/PR/merge/发布按当前任务授权另行执行。官方渠道与收费信息暂未提供。