docs(dev): prefer NC01 for general builds

This commit is contained in:
Codex
2026-07-13 14:05:49 +02:00
parent a1049195f5
commit 21567bafbf
3 changed files with 76 additions and 15 deletions
+15 -1
View File
@@ -430,7 +430,21 @@ HWLAB Cloud Web Workbench 或 Code Agent 装配类 issue 的 CLI 验证必须贴
`trans D518` 应表现为登录 D518 WSL 的 shell`trans D518 hostname` 应像 `ssh D518 hostname` 一样只输出远端命令结果并返回远端 exit code。Provider ID 前的目标选择由 UniDesk 节点清单决定,`-p`、`-i`、`-l`、`-o` 等传统 ssh 传输参数由 provider-gateway 部署配置统一管理,CLI 会兼容性消费这些参数但不会覆盖节点侧维护桥配置。指挥官、CI 预检和其他非交互流程不要依赖 ssh-like 自由拼接;单进程标准写法是 `trans D601 argv true`,多行 shell 逻辑标准写法是 quoted heredoc 单步调用 `trans D601 sh <<'SH'`。
UniDesk CLI/trans/tran 客户端改进本身是 master server 高频控制入口维护,可以直接在 `/root/unidesk` 轻量开发、提交并推送 `origin/master`;不要为这类客户端小改强制迁移到 D601 worktree。该例外不改变 master server 禁重型验证规则:仓库级 check、Playwright/browser smoke、镜像构建、Rust/Go 编译、Code Queue runner 实测仍必须在 D601、CI runner 或目标运行面执行,backend-core 主 server 上线受控编译例外按 `docs/reference/dev-environment.md` 单独处理。若 `trans`/`tran`/SSH 文件传输遇到 provider-gateway 单次 stdin、argv 或 stdout 限制,先在 CLI 客户端做分块、SHA-256 校验、失败可观测输出和最小真实闭环;只有 client 侧不能解决且有证据时,才改 provider-gateway。文件传输默认按 1MiB raw chunk 读写,避免 100MiB 大文件被 45KiB 小块和 base64 全量暂存拖慢;`upload`/`download` 成功 JSON 中的 `verified=true`、`verification.automatic=true`、`verification.verified=true` 和 `verification.match.{bytes,sha256}=true` 就是端到端完整性证明,调用方不需要再额外手写 `sha256sum` 比对。
- UniDesk CLI/trans/tran 客户端改进属于 Master server 高频控制入口维护
- 可以直接在 `/root/unidesk` 轻量开发、提交并推送 `origin/master`
- 不为这类客户端小改强制迁移到 D601 worktree。
- 该例外不改变 Master server 禁止重型验证的规则:
- 仓库级 check 和 Playwright/browser smoke 默认在 NC01、CI runner 或目标运行面执行;
- 镜像构建、Rust/Go 编译和 Code Queue runner 实测遵循同一执行面边界;
- 只有 owning pipeline 或目标运行面固定属于 D601 时才使用 D601;
- backend-core 主服务上线的受控编译例外按 `docs/reference/dev-environment.md` 单独处理。
- `trans`/`tran`/SSH 文件传输出现 provider-gateway 单次 stdin、argv 或 stdout 限制时:
- 先在 CLI 客户端实现分块、SHA-256 校验、失败可观测输出和最小真实闭环;
- 只有客户端无法解决且已有证据时,才修改 provider-gateway
- 文件传输默认按 1 MiB raw chunk 读写;
- 避免 100 MiB 文件被 45 KiB 小块和 base64 全量暂存拖慢;
- `upload`/`download` 成功 JSON 的自动验证字段是端到端完整性证明;
- 调用方不需要额外手写 `sha256sum` 比对。
`scripts/src/ssh.ts` 只承担 route/operation parser、共享远端命令构造、broker 调用和顶层 dispatch。新增或扩展高频 operation 不得继续把完整实现堆进 `ssh.ts`;应按能力拆到专门模块,例如整文件传输放在 `scripts/src/ssh-file-transfer.ts`,再由 `ssh.ts` 和 frontend remote transport 传入共享 command builder/bridge executor。后续新增 operation 也按 `scripts/src/ssh-<capability>.ts` 或等价专门模块组织,帮助文本、端到端 CLI 交互验证和 reference 与代码同一变更集更新。