Files
Mujoco_WASM/docs/website-acceptance-2026-09-24.md
chenlin 0d986f60bd
web-platform-ci / Standalone decision service (no cloud credentials) (push) Has been cancelled
web-platform-ci / TypeScript, lint, unit, build (push) Has been cancelled
web-platform-ci / Playwright E2E (push) Has been cancelled
lekiwi-compatibility / cpu-compatibility (push) Has been cancelled
feat: release v1.0.2 LeKiwi 语言控制与网站嵌入
集成服务器托管模型、自然语言移动与有界抓放、内置 LeKiwi URL 导入和双摄像头;同步部署契约与指定域名 iframe 白名单,保留原有物理安全、会话及调用预算防护。

更新 npm 包及锁文件版本、CHANGELOG 与发布文档。提交前 typecheck、120 项定向前端测试和 44 项后端测试通过(3 项可选跳过);真实 v2 云模型抓放仍待单独验收,不包含运行密钥或构建产物。
2026-09-24 15:29:49 +08:00

70 lines
4.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 公网 API 受控验收与能力边界修补 · 2026-09-24
> 本文是当天较早 BYOK 阶段的历史证据。用户随后改为服务器内置固定模型并要求语言移动/转向;当前实现与验收以 [最新记录](website-hosted-control-2026-09-24.md) 为准。
## 实际授权与付费调用
用户明确批准使用项目 `.env` 的 DeepSeek、Jev 两项测试密钥,仅按变量名通过既有凭据加载器读取,不 source 文件,不打印值,不使用全局 Codex 账号。
仅运行一次公网 HTTPS 真实回合:
- 服务器:`cadworld-sim.robotquan.com`,当时发布 `20260923T130923Z-web`。
- 真实上游:DeepSeek `deepseek-flash`(Responses)与 OpenRouter `typesafe/jev-1.13`(decisions)。
- 限额:最多 1 次规划/12 次判定;禁用重试、连接测试和提供方/型号切换。
- 实际:**1 次规划+11 次判定,12 份服务回执,物理验收成功**。
- 仿真 `47.220 s`、有效搬运 `0.5937274002 m`,最终目标支撑成立,两指力均为 0。
- DeepSeek 报告输入 912、输出 814、合计 1726 token,**未报告费用**。
- Jev 报告输入 15,307、输出 2,196 token,合计费用 **$0.000642894**。该数不包含 DeepSeek,也不是完整账号账单。
- 测试结束 DELETE 会话成功;浏览器关闭,没有保存 Cookie/storage state/trace/HAR,输入框保存后清空,导出通过凭据泄漏检查。
这只证明**固定单方块抓放场景**的真实双 API 闭环,不能证明任意中文指令可控制机器人。
证据:`build/website-deployment/live-20260924/` 下的 `website-live-summary.json`、`website-live-physical-evidence.json` 和成功截图。
## 两个问题的原因与处理
### 订阅点击后不打开网页
当前设计是官方设备码登录:服务器先申请设备码与验证地址,再由用户点击官方链接;不是按钮直接自动弹窗。服务器实测 `auth.openai.com` 返回 403,ChatGPT 推理地址连接被拒绝;真实设备码请求仍返回 502 / `codex_rpc_failed`,没有生成可使用的设备码/链接。
已将状态和错误移到登录按钮旁,明确申请步骤及没有验证链接的情况。未改用非官方中转,未借用全局账号,未自动切付费 API。服务器网络/官方资格问题未解决,订阅仍不可用。最终容器内活动 Codex 进程数为 0。
### 编辑中文指令但动作不变
`MockDecisionProvider.plan()` 不读取指令;真实规划契约也强制固定物体、固定技能顺序,动作目标由场景坐标决定。原界面允许任意编辑会造成“指令已生效”的错误预期。
本次网站防误执行保护:
- 明确标注“固定单方块抓放,非自由中文任务控制”。
- mock 模式禁用无效的指令编辑。
- 自定义指令在开始前被拦截,不加载旧任务、不调用模型,并提供恢复标准指令按钮。
- 放置目标仍通过已有受限坐标修改,安全门禁不变;本地模式行为保留。
**尚未实现把任意中文转换为新任务。** 待用户提供具体希望执行的指令后,才能确定所需技能、任务约束与验收;不能用取消安全顺序验证来假装支持。
## 修补发布与非付费回归
- 新发布:`20260924T023534Z-web`;可回滚:`20260923T130923Z-web`。
- 后台代码未改变,镜像仍为 `sha256:f3375d42b54f6bbdb65d31ba275d6fd6c415917b71a2f01f4cdb6893d9f1678c`,healthy。
- `v1.0.1` Git 标签保持不动;本次修补未另行提交 Git。
- TypeScript/ESLint、615 项 Vitest、local/website 双生产构建通过。
- 网站生产资源+真实网关/假上游 E2E 2/2;公网订阅边界与 mock 物理回合通过。
- 公网设置/新指令拦截/Pyodide用例首次因 `getByLabel(exact)` 对包裹 textarea 的 label 文本匹配失败;改用可访问 `textbox` 角色后单独复测通过,未修改业务代码来放宽断言,失败证据保留。
- 未重复付费验收;新发布只更改前端提示/启动保护,标准任务及后台推理代码未变。
部署/非付费证据:`build/website-deployment/{publish-20260924.txt,production-20260924,production-guards-recheck-20260924,website-guards-20260924}/`。
## 第 9 步剩余项
DeepSeek+Jev 完整回合与订阅受限状态已验证。原计划另要求一个 **OpenRouter 主规划模型**的单次真实结构化输出;本次批准的是 Jev 角色密钥,没有将其静默挪作其他模型用途。因此该项仍待用户确认独立角色/具体模型及单次调用许可,第 9 步不虚假标记全部完成。
## 显式重跑命令(会计费,需重新获准)
```bash
CADWORLD_LIVE_API=1 npx playwright test \
-c web_platform/playwright.website-live.config.ts \
--output build/website-deployment/live-<日期>
```
不要开启 trace、录屏、storageState、自动重试或调试日志,不要把真实密钥写在命令行。普通测试不会自动执行该用例。