docs: integrate Robot hardware module

This commit is contained in:
2026-08-13 23:35:00 +08:00
parent aba5cae286
commit ecc42a8c36
3 changed files with 24 additions and 0 deletions

View File

@@ -22,8 +22,16 @@ Makelore 是 Electron 桌面客户端。Renderer 负责项目操作与状态展
| AI Design Image Source Picker | 当前 Workspace 已完成图片或本地上传 | 图片 Brief 绑定图生图参考图;视频 Brief 绑定首帧;提交一个真实 Asset ID | | AI Design Image Source Picker | 当前 Workspace 已完成图片或本地上传 | 图片 Brief 绑定图生图参考图;视频 Brief 绑定首帧;提交一个真实 Asset ID |
| AI Design Event Routing | Main 云端适配器 → Host API/SSE → Renderer store | Conversation 更新按 Workspace + Conversation 路由;任务更新按 Workspace 归并 | | AI Design Event Routing | Main 云端适配器 → Host API/SSE → Renderer store | Conversation 更新按 Workspace + Conversation 路由;任务更新按 Workspace 归并 |
| Robot Workspace | Account-scoped agent configuration, device activation/binding, assignment, and credential-recovery UI | Renderer receives only safe Works Square projections; credentials, activation-code history, and upstream error bodies remain outside durable UI state. |
| AI Hardware Main Route | Fixed `/api/works/ai-hardware` Host API to Works Square proxy | Main owns Bearer auth, stable operation IDs, bounded retry, ETag/If-Match, request/response limits, and error redaction. It never forwards Renderer authorization headers. |
## Important Boundaries ## Important Boundaries
- Robot is the single enabled hardware product module; there is no separate Hardware card. Learning remains disabled.
- AI hardware network access is Main-owned. Renderer cannot hold Works Square or Xiaozhi credentials and cannot select arbitrary upstream paths or headers.
- One local account maps to one server-side Xiaozhi account binding. Agents and devices are resources beneath that account binding, not separate Xiaozhi users.
- Robot/Canvas/module-selection routes must not initialize AI Programming projects or providers.
- 发布只有现有项目配置底部的一个入口,不新增发布工作台、侧栏或资源卡。 - 发布只有现有项目配置底部的一个入口,不新增发布工作台、侧栏或资源卡。
- 创建者发布唯一调用链是 `ProjectPublishAction → publishWorksProjectSource → Main-owned release build → preflightStaticArtifact → source+built+artifact_contract 上传 → 状态轮询`;客户端不再提供 Compose runner、deploy-check、watcher/arm/upload 协调或手工 ZIP 上传入口。 - 创建者发布唯一调用链是 `ProjectPublishAction → publishWorksProjectSource → Main-owned release build → preflightStaticArtifact → source+built+artifact_contract 上传 → 状态轮询`;客户端不再提供 Compose runner、deploy-check、watcher/arm/upload 协调或手工 ZIP 上传入口。
- release builder 对 Main-owned 安全快照运行安装包内固定 npm 11.6.2 的 `ci --ignore-scripts`,并显式调用项目 `package-lock.json` 锁定的 Vite。不得使用全局 PATH、预存 `node_modules` 或 Renderer 提供的路径/origin。项目 Vite config/plugins 以桌面用户权限执行,该边界不是 sandbox。 - release builder 对 Main-owned 安全快照运行安装包内固定 npm 11.6.2 的 `ci --ignore-scripts`,并显式调用项目 `package-lock.json` 锁定的 Vite。不得使用全局 PATH、预存 `node_modules` 或 Renderer 提供的路径/origin。项目 Vite config/plugins 以桌面用户权限执行,该边界不是 sandbox。

View File

@@ -4,6 +4,7 @@ This file is the integrated default-branch snapshot. Feature tasks record progre
## Integrated Through ## Integrated Through
- `aba5cae286807093cf4ef643fe9f498050985c31`: Robot / AI hardware module, Main-owned Works Square proxy, and cross-repository wire contract.
- `86ece3a` / `4dde8f3`:客户端登录七天滑动续期及集成提交。 - `86ece3a` / `4dde8f3`:客户端登录七天滑动续期及集成提交。
- `724290e` / `dcc92fc`Main-owned 一键打包提交审核及集成提交。 - `724290e` / `dcc92fc`Main-owned 一键打包提交审核及集成提交。
- `493b31c`:客户端三类 `ProjectType`、小游戏/小程序受控发布模板与自定义项目发布隔离。 - `493b31c`:客户端三类 `ProjectType`、小游戏/小程序受控发布模板与自定义项目发布隔离。
@@ -28,6 +29,7 @@ Updater 仍由 Electron Main 选择目标 feed、记录原始诊断并保持失
## Recently Completed ## Recently Completed
- 2026-08-13: Integrated the enabled `Makelore Robot` top-level module at `/ai-hardware`. Renderer uses typed safe DTOs while Electron Main owns Works Square authentication, idempotency identities, ETag/If-Match forwarding, response projection, limits, timeouts, and credential recovery. Robot and Canvas routes no longer initialize AI Programming projects/providers. No production deployment or real activation-code smoke is claimed.
- 2026-08-08合并登录续期和一键发布发布成功后保存精确 app/version/review 映射Renderer 不接触 Token、ZIP 或本地路径。 - 2026-08-08合并登录续期和一键发布发布成功后保存精确 app/version/review 映射Renderer 不接触 Token、ZIP 或本地路径。
- 2026-08-08补齐跨平台 Electron E2E fixture、Windows ZIP 预检和异常成功响应安全投影。 - 2026-08-08补齐跨平台 Electron E2E fixture、Windows ZIP 预检和异常成功响应安全投影。
- 2026-08-09新建项目支持小游戏、小程序和自定义三类不可变产品类型前两类生成固定 Vite 发布模板,自定义及缺少类型字段的旧项目不显示一键提交入口。 - 2026-08-09新建项目支持小游戏、小程序和自定义三类不可变产品类型前两类生成固定 Vite 发布模板,自定义及缺少类型字段的旧项目不显示一键提交入口。

View File

@@ -12,6 +12,7 @@
## Scope ## Scope
- Resume the existing integration owner to fast-forward the completed Robot / AI hardware source commit into local `main` after verifying the current remote `main` tip.
- Fetch the authoritative remote `main`, inspect all commits not present in the - Fetch the authoritative remote `main`, inspect all commits not present in the
local branch, and merge them into the reviewed local `main` without rewriting local branch, and merge them into the reviewed local `main` without rewriting
either history. either history.
@@ -94,6 +95,10 @@ Gate result:
## Outcome ## Outcome
- On 2026-08-13, resumed this integration task for the user's local-main merge request. `git fetch origin main --prune` succeeded and confirmed `origin/main=22add3f01f2b7cb6318495e8294db006f6f18abf`.
- Verified source commit `aba5cae286807093cf4ef643fe9f498050985c31` is a direct descendant of that remote tip and that local `main` is its ancestor, then fast-forwarded local `main` to `aba5cae` without rebase, reset, stash use, or conflict.
- The existing shared `stash@{0}` was not applied, popped, or dropped.
- Promoted the Robot/Main-owned hardware boundary into canonical current-state and system-overview documents. This request does not authorize or claim a remote push.
- `git fetch origin main --prune` resolved the authoritative remote tip to - `git fetch origin main --prune` resolved the authoritative remote tip to
`f4113a872f7cd6aee6829c9597c882846bc4085b`. The histories had diverged at `f4113a872f7cd6aee6829c9597c882846bc4085b`. The histories had diverged at
`253bad8b40c8cd20a25362006f5d80a4e5c4cd4a`: local `main` contained 18 `253bad8b40c8cd20a25362006f5d80a4e5c4cd4a`: local `main` contained 18
@@ -146,6 +151,13 @@ Gate result:
## Verification ## Verification
- Robot source closeout before integration: 8 focused files / 72 tests passed; TypeScript and task-aware document drift passed.
- Post-fast-forward `pnpm test`: 156 files / 1681 tests passed.
- `pnpm run typecheck` and `pnpm run build:vite`: passed; build retains only existing chunk/dynamic-import warnings.
- Real loopback Makelore Main-to-Works Square contract: 8/8 passed.
- `pnpm run lint:check`: 0 errors and 6 existing warnings.
- Robot module-navigation Electron E2E: 2/2 passed.
- Git and task-aware document checks are rerun after the integration documentation commit; independent final review remains the last gate.
- `pnpm install --frozen-lockfile` — passed. - `pnpm install --frozen-lockfile` — passed.
- High-risk focused Vitest selection — 19 files, 494/494 passed. - High-risk focused Vitest selection — 19 files, 494/494 passed.
- `pnpm test` — 146 files, 1574/1574 passed. - `pnpm test` — 146 files, 1574/1574 passed.
@@ -162,6 +174,8 @@ Gate result:
## Follow-ups ## Follow-ups
- The Robot integration is complete on local `main`. Production still requires matching Works Square/Xiaozhi deployment, feature configuration, credentials, and a real one-time activation-code smoke.
- Stable mutation operation IDs are retained across ambiguous retries in the running app but are not persisted across an application restart.
- Signed packaged updater smoke and live Works Square/Bailian image-to-image - Signed packaged updater smoke and live Works Square/Bailian image-to-image
smoke remain external release gates; this Git synchronization does not claim smoke remain external release gates; this Git synchronization does not claim
that either production environment has been exercised. that either production environment has been exercised.