diff --git a/docs/reference/spec-v02-services.md b/docs/reference/spec-v02-services.md index e0c1b700..b5f79caa 100644 --- a/docs/reference/spec-v02-services.md +++ b/docs/reference/spec-v02-services.md @@ -19,7 +19,7 @@ - `hwlab-gateway` 是 transport,不理解用户权限、不保存 profile authority;用户端已经验证稳定,v0.2 第一阶段先不改造它。 - Code Agent provider 通道分为 `codex-api` loopback forwarder 和 `deepseek` bridge/Moon Bridge;自研 bridge/forwarder 属于 HWLAB 常驻服务,Moon Bridge 是外部稳定服务。 - `hwlab-router`、`hwlab-tunnel-client`、`hwlab-gateway-simu`、`hwlab-box-simu`、`hwlab-patch-panel` 在 v0.2 裁撤;不再为这些裁撤对象保留单独规格文档。 -- CLI、一次性脚本、render/publish/smoke helper、vendored 前端库和稳定外部服务不纳入 Bun + TypeScript 迁移范围。 +- CLI、一次性脚本、render/publish/smoke helper、vendored 前端库和稳定外部服务不纳入 Bun + TypeScript 迁移范围;HWLAB 自研前端浏览器代码纳入 TypeScript 化范围,因为低频 UI 分支的语法错误也必须在发布前拦截。 ## 依赖关系 @@ -73,7 +73,7 @@ origin/v0.2 | 对象 | 类型 | 总体依赖关系 | v0.2 处理 | Bun + TS | 细节出处 | | --- | --- | --- | --- | --- | --- | | `hwlab-cloud-api` | HWLAB 自研常驻服务 | 上游是 web、edge、CLI 和 agent 工具;下游是 Postgres、provider 通道、device-pod 和 agent runtime | 保留并核心化 | 是,P0 | [spec-user-access.md](spec-user-access.md)、[spec-device-pod.md](spec-device-pod.md)、[code-agent-chat-readiness.md](code-agent-chat-readiness.md) | -| `hwlab-cloud-web` runtime wrapper | HWLAB 自研常驻 web/proxy wrapper | 上游是浏览器;下游只代理 `cloud-api` | 保留 | 是,P0;浏览器端 JS 另阶段处理 | [spec-user-access.md](spec-user-access.md)、[cloud-workbench.md](cloud-workbench.md) | +| `hwlab-cloud-web` runtime wrapper | HWLAB 自研常驻 web/proxy wrapper | 上游是浏览器;下游只代理 `cloud-api` | 保留 | 是,P0 | [spec-user-access.md](spec-user-access.md)、[cloud-workbench.md](cloud-workbench.md) | | `hwlab-edge-proxy` | HWLAB 自研常驻服务 | 上游是公网/FRP API 入口;下游是 `cloud-api` | 保留 | 是,P0 | [spec-v02-cicd.md](spec-v02-cicd.md)、[dev-runtime-boundary.md](dev-runtime-boundary.md) | | `hwlab-device-pod` | HWLAB 自研常驻服务 | 上游只能是 `cloud-api` 内部调用;下游是 `gateway` 和 host 侧设备工具 | 保留并增强 | 是,P0 | [spec-device-pod.md](spec-device-pod.md) | | `hwlab-agent-mgr` | HWLAB 自研常驻服务 | 属于 code agent session 管理面;不得与 `cloud-api` owner authority 冲突 | 保留,但职责需收敛 | 是,P1 | [spec-user-access.md](spec-user-access.md)、[code-agent-chat-readiness.md](code-agent-chat-readiness.md) | @@ -90,7 +90,7 @@ origin/v0.2 | `hwlab-cli` | CLI/Job 工具 | 人工或 CI 入口;最终请求仍应走 `cloud-api` | 保留灵活 | 否 | [spec-v02-cicd.md](spec-v02-cicd.md) | | `device-pod-cli` | CLI 工具 | 用户或 agent 工具入口;正式模式只请求 `cloud-api` REST | 保留并改 REST 调用 | 否 | [spec-device-pod.md](spec-device-pod.md) | | render/publish/smoke scripts | 一次性脚本 | 支撑 CI/CD、验证和开发流程,不常驻 | 保留现状 | 否 | [spec-v02-cicd.md](spec-v02-cicd.md)、[g14-gitops-cicd.md](g14-gitops-cicd.md) | -| browser-side Cloud Web JS | 前端浏览器代码 | 运行在浏览器;通过 web/proxy 调 `cloud-api` | 暂不纳入第一阶段 | 暂不强制 | [cloud-workbench.md](cloud-workbench.md) | +| browser-side Cloud Web JS | HWLAB 自研前端浏览器代码 | 运行在浏览器;通过 web/proxy 调 `cloud-api` | 保留并 TS 化 | 是,P0 | [cloud-workbench.md](cloud-workbench.md) | | Moon Bridge | 外部稳定服务 | `deepseek` bridge 的下游转换层 | 保留 | 否 | [code-agent-chat-readiness.md](code-agent-chat-readiness.md)、[g14-gitops-cicd.md](g14-gitops-cicd.md) | | `frpc` / `frps` | 外部稳定服务 | 公网入口和反向隧道 | 保留 | 否 | [spec-v02-cicd.md](spec-v02-cicd.md) | | Postgres | 外部稳定服务 | `cloud-api` 的持久化数据底座 | 保留 | 否 | [spec-user-access.md](spec-user-access.md)、[spec-v02-cicd.md](spec-v02-cicd.md) | @@ -100,11 +100,12 @@ origin/v0.2 ## 语言迁移边界 -v0.2 服务语言统一只约束 HWLAB 仓库内自研、会以 Deployment、sidecar 或长期进程运行的 JavaScript 服务代码。稳定外部服务、外部镜像、第三方二进制、CLI、一次性脚本、测试脚本、GitOps/render/publish helper 和 vendored 代码不纳入迁移范围。 +v0.2 服务语言统一约束 HWLAB 仓库内自研、会以 Deployment、sidecar 或长期进程运行的 JavaScript 服务代码,同时约束 HWLAB 自研 Cloud Web 浏览器端代码。稳定外部服务、外部镜像、第三方二进制、CLI、一次性脚本、测试脚本、GitOps/render/publish helper 和 vendored 代码不纳入迁移范围。 迁移目标: - 自研常驻服务入口使用 `Bun + TypeScript`。 +- 自研前端浏览器代码使用 TypeScript 并进入前端 build/typecheck 链路;低频 UI 分支不能只依赖浏览器运行时发现语法错误。 - Bun 负责运行 `.ts`;发布前必须通过 TypeScript 类型检查,不能只依赖 Bun 运行时转译。 - 镜像构建和 CI 原语校验必须包含 `tsc --noEmit` 或等价 `bun run typecheck`。 - 每个 `.ts` 文件不超过 2000 行;超过必须先拆模块,再迁移或继续开发。 @@ -120,6 +121,7 @@ hwlab-device-pod hwlab-agent-mgr hwlab-codex-api-responses-forwarder hwlab-deepseek-responses-bridge +browser-side Cloud Web JS ``` 后续迁移集合: @@ -136,7 +138,6 @@ hwlab-gateway hwlab-cli device-pod-cli scripts and tools -browser-side Cloud Web JS stable external services ```