feat: add code queue services and baidu netdisk

This commit is contained in:
Codex
2026-05-13 00:59:36 +00:00
parent ae462ed9ef
commit 6a04144d3f
63 changed files with 10983 additions and 1101 deletions
+2 -2
View File
@@ -16,7 +16,7 @@ TypeScript 运行时固定为 Bun。根目录 CLI、backend-core、frontend 和
## Provider Gateway Metrics And Upgrade
`providerGateway.metrics.diskPath` 指定资源监控页的硬盘采样路径,默认是 `/``providerGateway.upgrade` 定义远程升级 provider-gateway 所需的 Compose project、service、仓库挂载路径、派生 env 文件和 updater runner 镜像;这些字段由 CLI 写入 `.state/docker-compose.env`provider-gateway 只通过 WebSocket 接受 `provider.upgrade` 调度,不从隐藏环境或默认值静默补齐。远程升级没有 `enabled` 开关,长期接入节点必须具备 `mode: "schedule"` 一键升级能力;如果节点不满足升级前置条件,应修正 `PROVIDER_UPGRADE_*`、Docker socket 或仓库挂载,而不是在配置中禁用升级。
`providerGateway.metrics.diskPath` 指定主 server 本机 provider 的硬盘采样路径,默认是 `/``providerGateway.upgrade` 定义主 server provider 远程升级所需的 Compose project、service、仓库挂载路径、派生 env 文件和 updater runner 镜像;这些字段由 CLI 写入 `.state/docker-compose.env`主 server Compose 仍保持显式配置。外部计算节点可以使用 `provider attach` 的简化 env:只写 `UNIDESK_MASTER_SERVER``PROVIDER_ID`provider-gateway 会派生公网 provider ingress URL、默认 labels、心跳、Docker socket、监控路径和升级 Compose 名称,并通过 Docker inspect 反查 `/workspace` 的宿主挂载源;显式 `PROVIDER_*` 环境变量仍优先级最高。远程升级没有 `enabled` 开关,长期接入节点必须具备 `mode: "schedule"` 一键升级能力;如果节点不满足升级前置条件,应修正 Docker socket、仓库挂载或显式覆盖 `PROVIDER_UPGRADE_*`,而不是在配置中禁用升级。
## SSH Forwarding
@@ -26,7 +26,7 @@ TypeScript 运行时固定为 Bun。根目录 CLI、backend-core、frontend 和
`microservices` 定义挂载在计算节点或主 server Docker 中的非核心用户服务。用户服务是挂在 UniDesk 核心服务上的用户业务能力,缺少这些服务时 UniDesk 核心仍必须能运行。该数组只保存业务仓库 URL、commit id、业务仓库自身 Dockerfile/docker-compose 引用、provider 映射、节点后端端口和 UniDesk frontend 集成入口;不得把业务全量代码复制进 UniDesk。`backend.public` 必须为 `false``backend.frontendOnly` 必须为 `true``backend.allowedPathPrefixes` 必须限制到业务 API 前缀,`backend.allowedMethods` 必须显式列出允许代理的 HTTP 方法;浏览器只能通过 frontend 同源代理访问这些后端。详细规则见 `docs/reference/microservices.md`
主 server 承载的 Todo Note 用户服务使用 `providerId=main-server``nodeBaseUrl=http://todo-note:4211``allowedMethods=["GET","HEAD","POST","DELETE"]`,数据库使用主 PostgreSQLCodex Queue 使用 `providerId=main-server``nodeBaseUrl=http://codex-queue:4222``allowedPathPrefixes=["/health","/logs","/api/"]`,只通过 frontend/backend/provider-gateway 私有代理访问 Compose 内网服务名;D601 的 FindJob 只允许 `GET/HEAD` 展示型读取路径;D601 的 Pipeline 允许 `GET/HEAD/POST`,其中 `POST` 只用于 Pipeline 后端 `/api/node-control/...` 的 append prompt、guide 和 redo/restart 等受控 node 操作。
主 server 承载的 Todo Note 用户服务使用 `providerId=main-server``nodeBaseUrl=http://todo-note:4211``allowedMethods=["GET","HEAD","POST","DELETE"]`,数据库使用主 PostgreSQLCode Queue 使用 `providerId=main-server``nodeBaseUrl=http://code-queue:4222``allowedPathPrefixes=["/health","/logs","/api/"]`,只通过 frontend/backend/provider-gateway 私有代理访问 Compose 内网服务名;D601 的 FindJob 只允许 `GET/HEAD` 展示型读取路径;D601 的 Pipeline 允许 `GET/HEAD/POST`,其中 `POST` 只用于 Pipeline 后端 `/api/node-control/...` 的 append prompt、guide 和 redo/restart 等受控 node 操作。
## Compose Env Generation