# LeKiwi 语言控制 v2 网站发布 - 网站: - 版本:`20260924T065821Z-language-v2`;已于 2026-09-24 发布前后端。 - 上一版本/回滚目标:`20260924T052730Z-dual-camera`。 - 部署时按工作树白名单打包,未同时创建 Git 提交或标签;随后连同 iframe 响应头更新归档为 `v1.0.2`。 ## 在线功能 打开「控制台 → 机器人语言控制」,点击「载入预设场景」,输入 `把方块搬到 B 区` 或 `把方块搬到 (0.25,0.50) 米`。无机器人时加载内置 LeKiwi;初始暂停,不自动执行或调用模型。 文字坐标限定为预设中真实可达支撑区域,不是任意空间点。LLM 解析/规划、Jev Choice/Noul/Score、本地物理安全与抓放评估均在当前版本中接通;**公网真实模型 v2 推理尚未验收**,不可把以下部署检查说成真实模型抓放成功。 ## 发布检查 1. 修复旧打包脚本/Dockerfile 只携带 v1 schema 的遗漏,显式包含 v2 task schema 与 scene 配置。 2. 本地 typecheck、部署脚本语法、定向 lint、网站构建与打包后后端导入通过;发布包 86 个 manifest 文件,逐文件 SHA-256 校验通过。 3. 服务器复用锁定基础镜像与离线 wheels;镜像构建完成后,在无网络、无密钥/预算挂载的容器中验证后端导入及 B 区目标解析,再切换线上。 4. 新服务健康、OpenResty 配置检查/reload 和公网 HTTPS 均通过。静态首页哈希匹配本地构建产物。 5. 公网 Playwright **3/3**:Python 运行及精简界面;从空工作台加载 v2 预设、文字坐标输入/本地停止与双相机;会话创建/销毁、配置保护、订阅关闭及敏感路径不可访问。新增 v2 用例阻断所有推理请求并断言请求数为 0。 6. 既有密钥文件和预算 SQLite 的 inode、权限与所有者保持不变,未轮换/复制密钥,未清空预算。发布重启会使旧访客会话失效,下次操作重新建立会话。 验证命令: ```bash CADWORLD_PRODUCTION_TEST=1 npx playwright test \ -c web_platform/playwright.production.config.ts \ --output=build/website-deployment/language-v2-production ``` 发布包 SHA-256:`02bf93c5933c483c95aaa7d24c8b321a3305061cf192003e46fdde9ef3b8ccc8`。 公网首页 SHA-256:`ae38f2d803cd89ac9e9b95a32b10dc7e470c875337071d67db0942b710468c41`。 证据位于 `build/website-deployment/language-v2-{baseline/,build.txt,bundle.txt,publish.txt,production/,final-health.txt,verification.json}`。本次发布验证付费推理调用数为 **0**;先前真实 WASM+假上游抓放结果见 [控制与验收说明](lekiwi-agent.md)。 ## 回滚 在目标主机执行旧版本自带的发布脚本,使前后端成对恢复: ```bash bash /opt/cadworld-sim/releases/20260924T052730Z-dual-camera/deploy/publish.sh \ 20260924T052730Z-dual-camera ``` 不得删除 `/opt/cadworld-sim/secrets` 或 `/opt/cadworld-sim/budget`。本次未额外执行回滚演练,旧发布包与镜像仍保留。