T58 使用 Supervisor 托管 GoAuto Admin API 与 Admin UI #71

Closed
opened 2026-08-24 10:27:36 +08:00 by ila · 2 comments
Owner

原始需求摘要

用户于 2026-08-24 要求:本机已安装 D:\supervisor,为 GoAuto 增加两个 Supervisor 实例,分别启动管理端 Admin UI 与 Admin API。

目标

  1. 新增 goauto-admin-api 实例,复用仓库 scripts/start-server.ps1,读取根目录 config.yaml,监听配置的 API 端口。
  2. 新增 goauto-admin-ui 实例,复用仓库 scripts/start-web.ps1,读取同一 config.yaml,监听配置的 Web 端口。
  3. 两个实例自动启动、异常自动重启,停止时终止完整子进程组,日志分别写入 D:\supervisor\logs。
  4. 将可版本化配置保存在仓库,并部署一份到 D:\supervisor\programs。
  5. 通过 Supervisor 重载配置,验证实例状态、8010/9527 监听及 API 健康检查。

非目标

  • 不修改数据库、端口或业务代码。
  • 不改变 Android Agent 服务地址。
  • 不把密码写入 Supervisor 配置;数据库信息仍只由被忽略的 config.yaml 提供。
  • 不改动现有 Chorus 实例。

实施方案

  • 仓库新增 Supervisor 配置模板,program 名为 goauto-admin-api、goauto-admin-ui。
  • 命令使用 pwsh.exe -NoLogo -NoProfile -ExecutionPolicy Bypass -File ... 调用现有启动脚本。
  • 设置 autostart=true、autorestart=true、startsecs=3、startretries=3、stopasgroup=true、killasgroup=true、redirect_stderr=true。
  • 先停止占用 8010/9527 的旧 GoAuto 手工进程(仅限已确认属于本项目的进程),再由 Supervisor 接管。
  • 使用 Supervisor ctl 重载,不重启或修改 Chorus。

验收

  • Supervisor 管理界面/ctl 中两个 GoAuto 实例均为 RUNNING。
  • http://127.0.0.1:8010/api/v1/health 返回 200。
  • http://127.0.0.1:9527/ 返回 200。
  • 两个日志文件可写且不包含数据库密码。
  • 现有 Chorus 实例状态不受影响。

风险与文档影响

  • 进程切换会短暂停止本机 GoAuto;仅操作本机开发环境。
  • 启动/停止和日志位置变化,需要更新 Local Development and Verification Wiki。
  • 无数据库迁移、接口、权限、页面和 Android 影响。
## 原始需求摘要 用户于 2026-08-24 要求:本机已安装 `D:\supervisor`,为 GoAuto 增加两个 Supervisor 实例,分别启动管理端 Admin UI 与 Admin API。 ## 目标 1. 新增 `goauto-admin-api` 实例,复用仓库 `scripts/start-server.ps1`,读取根目录 `config.yaml`,监听配置的 API 端口。 2. 新增 `goauto-admin-ui` 实例,复用仓库 `scripts/start-web.ps1`,读取同一 `config.yaml`,监听配置的 Web 端口。 3. 两个实例自动启动、异常自动重启,停止时终止完整子进程组,日志分别写入 `D:\supervisor\logs`。 4. 将可版本化配置保存在仓库,并部署一份到 `D:\supervisor\programs`。 5. 通过 Supervisor 重载配置,验证实例状态、8010/9527 监听及 API 健康检查。 ## 非目标 - 不修改数据库、端口或业务代码。 - 不改变 Android Agent 服务地址。 - 不把密码写入 Supervisor 配置;数据库信息仍只由被忽略的 `config.yaml` 提供。 - 不改动现有 Chorus 实例。 ## 实施方案 - 仓库新增 Supervisor 配置模板,program 名为 `goauto-admin-api`、`goauto-admin-ui`。 - 命令使用 `pwsh.exe -NoLogo -NoProfile -ExecutionPolicy Bypass -File ...` 调用现有启动脚本。 - 设置 `autostart=true`、`autorestart=true`、`startsecs=3`、`startretries=3`、`stopasgroup=true`、`killasgroup=true`、`redirect_stderr=true`。 - 先停止占用 8010/9527 的旧 GoAuto 手工进程(仅限已确认属于本项目的进程),再由 Supervisor 接管。 - 使用 Supervisor ctl 重载,不重启或修改 Chorus。 ## 验收 - Supervisor 管理界面/ctl 中两个 GoAuto 实例均为 RUNNING。 - `http://127.0.0.1:8010/api/v1/health` 返回 200。 - `http://127.0.0.1:9527/` 返回 200。 - 两个日志文件可写且不包含数据库密码。 - 现有 Chorus 实例状态不受影响。 ## 风险与文档影响 - 进程切换会短暂停止本机 GoAuto;仅操作本机开发环境。 - 启动/停止和日志位置变化,需要更新 Local Development and Verification Wiki。 - 无数据库迁移、接口、权限、页面和 Android 影响。
Author
Owner

实施完成,待验收

交付

  • 新增版本化配置:scripts/supervisor/goauto.conf。
  • 已部署:D:\supervisor\programs\goauto.conf,与仓库配置 SHA-256 一致。
  • 新增实例:goauto-admin-api、goauto-admin-ui。
  • 修正 scripts/start-web.ps1:解析 Node.js 后直接运行 pnpm/Vite CLI,兼容 Supervisor Windows 子进程缺少 Node PATH 的环境。
  • 长期文档已按 Wiki-first 更新。

验证

  • 两个 GoAuto 实例:RUNNING。
  • UI 执行一次 Supervisor restart 后恢复 RUNNING。
  • API 健康接口:HTTP 200。
  • Admin UI:HTTP 200。
  • 三个 Chorus 实例保持 RUNNING。
  • PowerShell Parser 与配置校验:通过。
  • .\scripts\verify.ps1 -Component web:通过(lint 0 error、30 个既有 warning;生产构建成功)。
  • DevHarness strict、Wiki sync check:通过。
  • 日志未检出本机数据库密码。

证据

工单保持打开,等待用户验收。

## 实施完成,待验收 ### 交付 - 新增版本化配置:`scripts/supervisor/goauto.conf`。 - 已部署:`D:\supervisor\programs\goauto.conf`,与仓库配置 SHA-256 一致。 - 新增实例:`goauto-admin-api`、`goauto-admin-ui`。 - 修正 `scripts/start-web.ps1`:解析 Node.js 后直接运行 pnpm/Vite CLI,兼容 Supervisor Windows 子进程缺少 Node PATH 的环境。 - 长期文档已按 Wiki-first 更新。 ### 验证 - 两个 GoAuto 实例:RUNNING。 - UI 执行一次 Supervisor restart 后恢复 RUNNING。 - API 健康接口:HTTP 200。 - Admin UI:HTTP 200。 - 三个 Chorus 实例保持 RUNNING。 - PowerShell Parser 与配置校验:通过。 - `.\scripts\verify.ps1 -Component web`:通过(lint 0 error、30 个既有 warning;生产构建成功)。 - DevHarness strict、Wiki sync check:通过。 - 日志未检出本机数据库密码。 ### 证据 - 实现提交:`ca0c81b` - 任务归档:https://git.ilapage.cn/OPC/goauto/wiki/Task-71-Supervisor-GoAuto-services.- - 任务归档 revision:`936fad46a16f2c53c565994b395c488e5c4dd296` - Local Development Wiki revision:`fbd334cc639f9053388af09319f34faf1dc4a5ab` - Delivery Wiki revision:`0eed28dd5dc629ce66071833d5fefbdf24d567d3` 工单保持打开,等待用户验收。
Author
Owner

用户于 2026-08-28 明确确认本工单验收通过。按项目流程记录验收结论并关闭工单;本次仅更新工单状态,无新增长期文档事实,不重复同步 Wiki。

用户于 2026-08-28 明确确认本工单验收通过。按项目流程记录验收结论并关闭工单;本次仅更新工单状态,无新增长期文档事实,不重复同步 Wiki。
ila closed this issue 2026-08-28 15:07:35 +08:00
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: OPC/goauto#71