HM 端文档里的蜂群描述还是旧的(错仓名 + 旧模型),据实更新为当前 agent_swarm: - 仓名:`HeiCode-Swarm` → `agent_swarm`(GitHub xmindlab-heicode/agent_swarm;产品名 HeiCode Swarm)。 - 模型:旧「HM 主导编排 / 仅 /tasks」→ 当前 Master-Agent 编排(分解→派发专家并行→协作/移交→评审/重做→汇总;Orchestrator FastAPI + Redis + WebSocket + Prometheus)。 - 契约:agent_swarm 已起草正式契约 docs/integration/runtime-contract.md(对齐 heicode-am-contract),待 Manager Runtime Team 评审冻结;已实现 create/status/tasks/logs/events/metrics/workflow/diagnostics/stop/approvals(带 deployment_id)。 - issue 引用:`agent_swarm#1`(执行面缺口,已关闭)→ 活动 EPIC `agent_swarm#2`(主链路接入契约冻结);HM 侧前置 #45/#46。 文件: - docs/integration/heicode-swarm-deferred.md:勘误抬头 + §1 模型/接入状态 + §2 归属表(仓名/契约/接口) + §4 收尾据实更新。 - heicode/docker-compose.azure-vm.yml:SWARM_RUNTIME_* 注释更正(agent_swarm,deferred,当前关闭)。 - Heicode-Manager-生产配置与账号交接清单.md §7 + Orchestrator 地址标签:加勘误 banner,保留 env 历史记录但标注为旧模型/当前关闭。 - docs/deployment/Heicode-Manager-更换部署服务配置清单.md §2.2:加勘误 banner。 HM 不实现 swarm runtime 的裁定不变;仅把"蜂群现状"事实对齐。未改 env 变量名/行为(SWARM_RUNTIME_* 仍 disabled),未动 legacy-teardown 历史记录。Docs/注释 only。 Affects: 文档/注释 only。无代码、无计费/审计/部署行为改动。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
287 lines
19 KiB
Markdown
287 lines
19 KiB
Markdown
# Heicode Manager 生产配置与账号交接清单
|
||
|
||
更新时间:2026-06-01
|
||
适用范围:Heicode Manager 生产环境、普通 sub Runtime、蜂群 Runtime、NewAPI、Azure 资源和后续 AI/运维交接。
|
||
|
||
## 0. 安全说明
|
||
|
||
本文只记录配置项、用途、位置和获取方式,不记录明文密码、Token、Key、连接串或私钥。
|
||
|
||
| 规则 | 要求 |
|
||
|------|------|
|
||
| 明文密钥 | 不写入 Markdown、git、聊天记录、日志、截图 |
|
||
| 生产 `.env` | 只保存在 VM 或部署平台 Secret 中,不提交仓库 |
|
||
| Azure Key Vault | 只保存长期密钥或 callback 签名密钥,代码和数据库只保存 `secret_ref` |
|
||
| 转交给其他 AI | 只给本文档;需要明文值时由负责人通过安全渠道单独提供 |
|
||
| 已泄漏密钥 | 一律按泄漏处理,立即轮换 |
|
||
|
||
## 0.1 配置可读取性结论
|
||
|
||
不是所有配置都能、也不应该在交接 Markdown 中读取和保存明文值。当前结论分三类:
|
||
|
||
| 分类 | 含义 | 处理方式 |
|
||
|------|------|----------|
|
||
| 可直接读取 | 仓库文档、compose、公开地址、非敏感环境变量能直接确认 | 在本文写出真实值 |
|
||
| 可确认已配置但不读取明文 | 生产容器 env 中存在,但值是密码、token、连接串或密钥 | 在本文写出配置名、用途、保存位置和 `<REDACTED>` |
|
||
| 当前无法确认明文或后台状态 | 需要 Azure Portal、NewAPI 后台、Gitee 凭据、VM root 权限或负责人授权 | 在本文明文写出“无法读取项名称、原因、获取入口” |
|
||
|
||
当前无法在本文保存明文的配置如下:
|
||
|
||
| 配置 / 凭据 | 是否能确认存在 | 为什么不能写明文 | 需要去哪里取 |
|
||
|-------------|----------------|------------------|--------------|
|
||
| VM SSH 密码/私钥 | 已知需要 | 登录凭据,写入文档会泄漏生产入口 | 负责人安全渠道、SSH keychain 或运维密码库 |
|
||
| Gitee 用户密码/token | 已知需要 | Git 凭据,写入文档会泄漏代码仓库权限 | 本机 credential helper、Gitee 个人 token、负责人安全渠道 |
|
||
| `SQL_DSN` | 已确认配置项存在 | 内含数据库用户名、密码、host、参数 | VM `.env`、容器 env、Azure PostgreSQL 连接串 |
|
||
| `REDIS_CONN_STRING` | 已确认配置项存在 | 内含 Redis 密码和 TLS 连接串 | VM `.env`、容器 env、Azure Redis Access keys |
|
||
| `SESSION_SECRET` | 已确认配置项存在 | 会话签名密钥,泄漏会影响登录安全 | VM `.env`、容器 env、部署平台 Secret |
|
||
| `CRYPTO_SECRET` | 已确认配置项存在 | Manager 加密密钥,泄漏会影响加密数据安全 | VM `.env`、容器 env、部署平台 Secret |
|
||
| `MCP_SERVER_INTERNAL_TOKEN` | 已确认配置项存在 | 内部服务调用 token | VM `.env`、容器 env |
|
||
| `AGENT_RUNTIME_SERVICE_TOKEN` | 已确认配置项存在 | Manager 调 Runtime 的 Bearer token | VM `.env`、容器 env、Agent Manager 负责人 |
|
||
| `AGENT_CALLBACK_TOKEN` | 已确认配置项存在 | Runtime 回调 Manager 的旧 token 兼容凭据 | VM `.env`、容器 env、Agent Manager 负责人 |
|
||
| `AGENT_CALLBACK_SIGNING_SECRET` | 已确认配置项存在 | Runtime 回调 Manager 的 HMAC 签名密钥 | VM `.env`、Key Vault `agent-callback-signing-key` |
|
||
| `AGENT_RUNTIME_CALLBACK_SIGNING_SECRET_REF` | 已确认配置项存在 | secret_ref 本身不应暴露完整细节 | VM `.env`、Key Vault 配置 |
|
||
| NewAPI 管理员密码 | 当前未在仓库读取 | 后台管理员凭据 | NewAPI 后台、NewAPI DB、负责人安全渠道 |
|
||
| NewAPI 渠道 Key | 当前未在仓库读取 | 上游模型供应商 key | NewAPI 渠道管理页面或 DB |
|
||
| Azure Portal 账号/MFA | 当前未在仓库读取 | 云账号权限极高 | 负责人 Azure 账号体系 |
|
||
| Azure Key Vault secret value | 当前未直接读取 | Key Vault 密钥值只能由授权身份读取 | Azure Portal、Azure CLI、Managed Identity |
|
||
|
||
后续 AI 如果必须使用明文值,应只在当前 shell/session 的环境变量中临时使用,不能写入 Markdown、git diff、日志或截图。
|
||
|
||
## 1. 当前生产入口与代码仓库
|
||
|
||
| 项目 | 当前值 / 位置 | 说明 |
|
||
|------|---------------|------|
|
||
| Manager 生产地址 | `https://code.xinghanlab.com` | 用户和桌面客户端访问入口 |
|
||
| Manager 本地仓库 | `/Users/gongzhiyong/go/heicode-mananger` | 当前开发工作区 |
|
||
| Manager Git 远程 | `http://gitee.ath.cx:3000/taijibaga/heicode-mananger.git` | 继续开发、提交、上线使用 |
|
||
| 主分支 | `main` | 当前工作分支 |
|
||
| 旧 bug 仓库 | `HeiCode-issues.git` | 已废弃,后续不用再传 |
|
||
| 当前未跟踪文件 | `bak.txt` | 本地文件,不属于本交接文档内容 |
|
||
|
||
## 2. Azure / VM 生产资源
|
||
|
||
| 类型 | 当前配置 | 用途 | 备注 |
|
||
|------|----------|------|------|
|
||
| Azure Resource Group | `HEICODE` | Heicode 相关 Azure 资源组 | 以 Azure Portal 实际为准 |
|
||
| 区域 | `southeastasia` | 主要生产资源区域 | 以 Azure Portal 实际为准 |
|
||
| Manager VM | `heicode` | 当前承载 Manager Docker 容器 | 生产应用仍在 VM 上 |
|
||
| VM SSH Host | `20.24.50.121` | 登录生产 VM | 凭据见“账号与凭据清单” |
|
||
| VM SSH User | `heicode` | 生产 VM 运维用户 | 密码/私钥不写入本文 |
|
||
| Manager 容器 | `heicode` | 生产 Manager 应用容器 | 端口 `3000:3000` |
|
||
| Manager 镜像 | `heicode-manager:local` | VM 本地构建镜像 | 以 `docker ps` 为准 |
|
||
| 数据根目录 | `/var/lib/heicode/heicode` | bind mount 根目录 | 由 `HEICODE_DATA_ROOT` 控制 |
|
||
| 应用持久目录 | `/data` | 上传文件、桌面安装包、运行持久文件 | 容器内路径,映射到 VM |
|
||
| 应用日志目录 | `/app/logs` | Manager 日志 | 容器内路径,映射到 VM |
|
||
|
||
当前 VM 上观察到的容器:
|
||
|
||
| 容器 | 镜像 | 端口 | 说明 |
|
||
|------|------|------|------|
|
||
| `heicode` | `heicode-manager:local` | `3000:3000` | Manager 生产应用 |
|
||
| `new-api` | `calciumion/new-api:latest` | `3001:3000` | NewAPI 管理和模型网关 |
|
||
| `heicode-openbao` | `openbao/openbao:latest` | `127.0.0.1:8200:8200` | 历史/兼容密钥服务,不作为当前正式方案 |
|
||
| `postgres` | `postgres:15` | VM 内部 | VM 上存在容器,但 Manager 正式配置应以 Azure PostgreSQL 为准 |
|
||
| `redis` | `redis:latest` | VM 内部 | VM 上存在容器,但 Manager 正式配置应以 Azure Redis 为准 |
|
||
|
||
重要:仓库约定和部署文档要求生产业务库使用 Azure 托管 PostgreSQL / Redis,不要把 VM 上的 `postgres`、`redis` 容器误认为正式托管实例。
|
||
|
||
## 3. 当前 VM 关键路径
|
||
|
||
| 路径 | 用途 | 备注 |
|
||
|------|------|------|
|
||
| `/home/heicode/heicode/heicode/.env` | Manager 生产环境变量文件 | **当前真实部署目录**(compose `working_dir` 实锤);仓库远程为 `taijibaga/heicode-mananger` |
|
||
| `/home/heicode/heicode/heicode/docker-compose.azure-vm.yml` | Manager Azure VM compose | 当前 active compose(`docker inspect` 的 `config_files` 指向此文件) |
|
||
| `/home/heicode/apps/new-api/docker-compose.yml` | NewAPI compose | NewAPI 容器配置入口 |
|
||
| `/home/heicode/apps/_ABANDONED_heicode-git_xiaohei_20260601/` | **已废弃的旧 clone**(原 `xiaohei/heicode`,2026-06-01 改名挪走) | 不是部署源;曾误导排查。可后续硬删 |
|
||
| `/home/heicode/deploy/` | 历史部署目录 | 可能包含旧版本 `.env`,不要直接当作当前配置 |
|
||
| `/home/heicode/releases/` | 历史 release 目录 | 只用于回溯,不作为当前事实 |
|
||
| `/var/lib/heicode/heicode/data` | Manager 持久数据 | 对应容器 `/data` |
|
||
| `/var/lib/heicode/heicode/logs` | Manager 日志 | 对应容器 `/app/logs` |
|
||
|
||
## 4. Manager 基础环境变量
|
||
|
||
| 环境变量 | 当前状态 | 用途 | 值/来源 |
|
||
|----------|----------|------|---------|
|
||
| `TZ` | 已配置 | 时区 | `Asia/Shanghai` |
|
||
| `NODE_NAME` | 已配置 | 节点名 | `heicode-node-1` |
|
||
| `ERROR_LOG_ENABLED` | 已配置 | 错误日志开关 | `true` |
|
||
| `BATCH_UPDATE_ENABLED` | 已配置 | 批量更新开关 | `true` |
|
||
| `HEICODE_DATA_ROOT` | 已配置 | VM bind mount 根目录 | `/var/lib/heicode/heicode` |
|
||
| `SQL_DSN` | 已配置,敏感 | PostgreSQL 连接串 | VM `.env` / 容器 env,值 `<REDACTED>` |
|
||
| `REDIS_CONN_STRING` | 已配置,敏感 | Redis TLS 连接串 | VM `.env` / 容器 env,值 `<REDACTED>` |
|
||
| `SESSION_SECRET` | 已配置,敏感 | 登录会话签名 | VM `.env` / 容器 env,值 `<REDACTED>` |
|
||
| `CRYPTO_SECRET` | 已配置,敏感 | Manager 加密密钥 | VM `.env` / 容器 env,值 `<REDACTED>` |
|
||
| `MCP_SERVER_INTERNAL_TOKEN` | 已配置,敏感 | 内部服务调用 token | VM `.env` / 容器 env,值 `<REDACTED>` |
|
||
| `HEICODE_AUTH_BASE_URL` | 已配置 | Heicode/Agent 认证网关 | 默认参考 `https://apimtaiji.azure-api.net/api/mcp`,以 VM env 为准 |
|
||
| `HEICODE_ROOT_EMAILS` | 已配置 | JIT 自动 root 白名单 | 当前容器 env 可见 `xiaohei@qq.com` |
|
||
| `HEICODE_ADMIN_EMAILS` | 空 | JIT 自动 admin 白名单 | 当前未配置 |
|
||
|
||
生产数据库和 Redis:
|
||
|
||
| 服务 | 地址 | 说明 |
|
||
|------|------|------|
|
||
| Azure PostgreSQL | `heicode.postgres.database.azure.com` / DB `heicode` | Manager 正式数据库 |
|
||
| Azure Redis | `heicode.redis.cache.windows.net:6380` | TLS Redis,连接串走 `REDIS_CONN_STRING` |
|
||
|
||
## 5. Azure Key Vault / 密钥保管库配置
|
||
|
||
| 项目 | 当前状态 | 用途 | 备注 |
|
||
|------|----------|------|------|
|
||
| Key Vault 名称 | `heicode-kv` | 长期密钥和 callback 签名密钥托管 | 以 Azure Portal 为准 |
|
||
| Key Vault URL | `https://heicode-kv.vault.azure.net` | Manager 访问密钥保管库 | 对应 `AZURE_KEY_VAULT_URL` |
|
||
| `AZURE_KEY_VAULT_URL` | 已配置 | Key Vault 地址 | VM env,值应为上面 URL |
|
||
| `AZURE_CLIENT_ID` | 当前为空 | user-assigned managed identity client id | 若使用 system-assigned 可为空;若 health 报 Identity not found 需配置身份 |
|
||
| `agent-callback-signing-key` | 必须存在 | Runtime callback HMAC 签名密钥 | 建议通过 Key Vault 存储 |
|
||
|
||
当前已知问题:
|
||
|
||
| 问题 | 含义 | 处理方式 |
|
||
|------|------|----------|
|
||
| `Identity not found` | VM 当前没有可用 Managed Identity,或未绑定正确 `AZURE_CLIENT_ID` | 在 VM/容器服务开启 Managed Identity,并给 `heicode-kv` 授权 |
|
||
|
||
Key Vault 最低权限:
|
||
|
||
| 用途 | 权限 / RBAC |
|
||
|------|-------------|
|
||
| 读取 callback 签名密钥 | `secrets/get` |
|
||
| 健康检查列举 | `secrets/list` |
|
||
| Manager 写入资源密钥 PutSecret | `secrets/set` |
|
||
| RBAC 参考角色 | `Key Vault Secrets User` 或 `Key Vault Secrets Officer` |
|
||
|
||
## 6. 普通 sub Runtime / Agent Manager 配置
|
||
|
||
普通 sub 和蜂群是两套模式,不要混用。普通 sub 当前走 Agent Manager Runtime IP。
|
||
|
||
| 环境变量 | 当前状态 | 当前值 / 位置 | 说明 |
|
||
|----------|----------|---------------|------|
|
||
| `AGENT_RUNTIME_ENABLED` | 已启用 | `true` | 开启普通 sub Runtime |
|
||
| `AGENT_RUNTIME_BASE_URL` | 已配置 | `http://20.212.121.126` | 当前联调和生产使用 IP,域名未切换 |
|
||
| `AGENT_RUNTIME_HEALTH_PATH` | 已配置 | `/api/agent/health` | Runtime 健康检查 |
|
||
| `AGENT_RUNTIME_CREATE_PATH` | 已配置 | `/api/swarms` | 普通 sub 创建入口 |
|
||
| `AGENT_RUNTIME_STOP_PATH` | 已配置 | `/api/swarms/{swarm_id}/stop` | 停止 Runtime run |
|
||
| `AGENT_RUNTIME_APPROVAL_DECISION_PATH` | 已配置 | `/api/swarms/{swarm_id}/approvals/{approval_id}` | 审批结果回传 |
|
||
| `AGENT_RUNTIME_TIMEOUT_SECONDS` | 已配置 | `15` | Manager 调 Runtime 超时 |
|
||
| `AGENT_RUNTIME_SERVICE_TOKEN` | 已配置,敏感 | VM env,值 `<REDACTED>` | Manager 调 Runtime 的 Bearer token |
|
||
| `AGENT_RUNTIME_CALLBACK_SIGNING_SECRET_REF` | 已配置,敏感引用 | VM env,值 `<REDACTED>` | callback HMAC secret_ref,正式应为 `azkv://...` |
|
||
| `AGENT_CALLBACK_TOKEN` | 已配置,敏感 | VM env,值 `<REDACTED>` | Runtime 回调 Manager 的旧 token 兼容 |
|
||
| `AGENT_CALLBACK_SIGNING_SECRET` | 已配置,敏感 | VM env,值 `<REDACTED>` | Runtime 回调 Manager 的 HMAC fallback |
|
||
|
||
普通 sub 当前标准链路:
|
||
|
||
```text
|
||
桌面客户端
|
||
-> Heicode Manager /api/agent/user/*
|
||
-> Agent Manager Runtime http://20.212.121.126/api/swarms
|
||
-> Runtime/Agent 执行
|
||
-> Runtime callback 到 https://code.xinghanlab.com/api/agent/callbacks/swarm-events
|
||
-> Manager 落库
|
||
-> 桌面客户端查询 timeline/logs/artifacts/content
|
||
```
|
||
|
||
## 7. 蜂群 Runtime 配置
|
||
|
||
> ⚠️ **2026-06-10 勘误(模型已更新)**:本节描述的「普通 sub + 蜂群两套模式 + `SWARM_RUNTIME_*` + `/api/swarms`」是**旧的「HM 主导编排」模型,已作废**。当前权威模型:HM **不实现 swarm runtime**;单 Agent 走「模板 Agent + AM」(见 `docs/integration/heicode-am-contract.md`),多 Agent 蜂群归 **`agent_swarm`**(产品名 HeiCode Swarm)仓,其编排为 Master-Agent(分解→派发→评审→汇总),契约见 `agent_swarm/docs/integration/runtime-contract.md`(待冻结,`agent_swarm#2`)。详见 `docs/integration/heicode-swarm-deferred.md`。下表 `SWARM_RUNTIME_*` 仅为**仍存在于 env 但当前关闭(`SWARM_RUNTIME_ENABLED=false`)**的历史开关,保留作记录,不代表当前接入形态。
|
||
|
||
蜂群模式和普通 sub 模式是两套部署、两套语义。Manager 当前环境里蜂群 Runtime 开关是关闭状态。
|
||
|
||
| 环境变量 | 当前状态 | 当前值 / 位置 | 说明 |
|
||
|----------|----------|---------------|------|
|
||
| `SWARM_RUNTIME_ENABLED` | 当前关闭 | `false` | 蜂群 Runtime 独立开关 |
|
||
| `SWARM_RUNTIME_BASE_URL` | 当前为空 | `<EMPTY>` | 蜂群 Runtime 地址未在 Manager 生产 env 启用 |
|
||
| `SWARM_RUNTIME_CREATE_PATH` | 已有默认 | `/api/swarms` | 蜂群创建入口默认值 |
|
||
| `SWARM_RUNTIME_HEALTH_PATH` | 已有默认 | `/api/agent/health` | 蜂群健康检查默认值 |
|
||
| `SWARM_RUNTIME_STOP_PATH` | 已有默认 | `/api/swarms/{swarm_id}/stop` | 蜂群停止默认值 |
|
||
| `SWARM_RUNTIME_APPROVAL_DECISION_PATH` | 已有默认 | `/api/swarms/{swarm_id}/approvals/{approval_id}` | 蜂群审批默认值 |
|
||
| `SWARM_RUNTIME_SERVICE_TOKEN` | 当前为空 | `<EMPTY>` | 蜂群 Runtime token 未配置 |
|
||
|
||
已知蜂群 Orchestrator 地址:
|
||
|
||
| 项目 | 地址 | 说明 |
|
||
|------|------|------|
|
||
| `agent_swarm`(HeiCode Swarm)Orchestrator | `http://52.139.240.116:8000` | 蜂群项目独立 Runtime / Orchestrator(HM 侧 deferred,未在 Manager 生产 env 启用) |
|
||
|
||
## 8. NewAPI / 模型网关配置
|
||
|
||
| 项目 | 当前配置 | 用途 | 备注 |
|
||
|------|----------|------|------|
|
||
| NewAPI 容器 | `new-api` | 模型网关、渠道、模型 token、用量 | VM 上运行 |
|
||
| NewAPI 镜像 | `calciumion/new-api:latest` | NewAPI 服务镜像 | 以 `docker ps` 为准 |
|
||
| NewAPI VM 端口 | `20.24.50.121:3001` -> container `3000` | 管理后台或内部访问 | 是否公网开放以 NSG/防火墙为准 |
|
||
| NewAPI compose | `/home/heicode/apps/new-api/docker-compose.yml` | NewAPI 部署配置 | 明文密钥不得写入本文 |
|
||
| 模型渠道配置 | NewAPI 管理后台 / DB | 渠道 key、base_url、模型映射 | 不在 Manager 文档保存明文 |
|
||
| Manager 模型接口 | `https://code.xinghanlab.com/v1/...` | 桌面客户端模型调用入口 | Manager / NewAPI 转发 |
|
||
|
||
## 9. 账号与凭据清单
|
||
|
||
| 类别 | 标识 | 用途 | 明文值位置 / 获取方式 |
|
||
|------|------|------|-----------------------|
|
||
| VM SSH | host `20.24.50.121`, user `heicode` | 登录生产 VM、部署、看日志、清 Docker | 密码或私钥由负责人通过安全渠道提供,本文不保存 |
|
||
| Gitee Manager 仓库 | `http://gitee.ath.cx:3000/taijibaga/heicode-mananger.git` | 拉取、提交、推送 Manager 代码 | Gitee 用户名/密码或 token 由负责人提供;可能已在本机 credential helper |
|
||
| Manager Root 邮箱 | `xiaohei@qq.com` | 生产 root 白名单 | 只记录邮箱,不记录密码 |
|
||
| Manager 测试用户 | `zsbgnw@gmail.com` | 桌面客户端和 Manager 联调测试 | 密码不写入本文,需负责人单独提供 |
|
||
| Manager 管理后台用户 | 以生产数据库/后台为准 | 登录 `https://code.xinghanlab.com` 管理配置 | 密码不写入本文 |
|
||
| NewAPI 管理员 | 以 NewAPI 后台/DB 为准 | 配置渠道、模型、用户 token、日志 | 密码不写入本文 |
|
||
| NewAPI 渠道 Key | NewAPI 后台渠道管理 | 模型上游调用 | Key 不写入本文 |
|
||
| Azure Portal | 负责人 Azure 账号 | VM、Key Vault、PostgreSQL、Redis、网络配置 | 账号/密码/MFA 不写入本文 |
|
||
| Azure Key Vault Secret | `agent-callback-signing-key` | callback HMAC 签名 | 在 `heicode-kv` 获取/轮换 |
|
||
| Runtime Service Token | `AGENT_RUNTIME_SERVICE_TOKEN` | Manager 调 Agent Manager Runtime | VM env 或部署平台 Secret,值 `<REDACTED>` |
|
||
| Callback Token | `AGENT_CALLBACK_TOKEN` | Runtime 回调 Manager 旧 token 兼容 | VM env 或部署平台 Secret,值 `<REDACTED>` |
|
||
| Callback HMAC Secret | `AGENT_CALLBACK_SIGNING_SECRET` | Runtime 回调 Manager HMAC fallback | VM env / Key Vault,值 `<REDACTED>` |
|
||
| PostgreSQL 密码 | `SQL_DSN` 内 | Manager 数据库连接 | VM `.env` / Azure PostgreSQL,值 `<REDACTED>` |
|
||
| Redis 密码 | `REDIS_CONN_STRING` 内 | Manager Redis 连接 | VM `.env` / Azure Redis,值 `<REDACTED>` |
|
||
|
||
## 10. 常用排障命令
|
||
|
||
以下命令只列配置名或状态,避免直接打印明文密钥。
|
||
|
||
```bash
|
||
sudo docker ps --format 'table {{.Names}}\t{{.Image}}\t{{.Status}}\t{{.Ports}}'
|
||
|
||
sudo docker inspect heicode \
|
||
--format '{{range .Config.Env}}{{println .}}{{end}}' \
|
||
| awk -F= '{print $1}' \
|
||
| sort
|
||
|
||
curl -fsS http://127.0.0.1:3000/api/status
|
||
curl -fsS https://code.xinghanlab.com/api/status
|
||
curl -fsS http://20.212.121.126/api/agent/health
|
||
```
|
||
|
||
部署 Manager:
|
||
|
||
```bash
|
||
cd /home/heicode/heicode/heicode # 真实部署目录(remote: taijibaga/heicode-mananger, 分支 main)
|
||
git pull
|
||
# 真实部署只有 docker-compose.azure-vm.yml + .env,无 docker-compose.override.yml
|
||
docker compose -f docker-compose.azure-vm.yml --env-file .env up -d --build
|
||
sudo docker image prune -f
|
||
```
|
||
|
||
## 11. 后续接手必须先确认的事项
|
||
|
||
| 序号 | 检查项 | 标准 |
|
||
|------|--------|------|
|
||
| 1 | 当前线上 commit | VM 工作树和 Gitee `main` 对齐 |
|
||
| 2 | Manager 容器健康 | `docker ps` 显示 `heicode` healthy,`/api/status` 返回成功 |
|
||
| 3 | 数据库连接 | `SQL_DSN` 指向 Azure PostgreSQL,不误用 VM 本地容器 |
|
||
| 4 | Redis 连接 | `REDIS_CONN_STRING` 指向 Azure Redis TLS,不误用 VM 本地容器 |
|
||
| 5 | Key Vault | `/api/secret-store/status` 不再报 `Identity not found` |
|
||
| 6 | 普通 sub | `AGENT_RUNTIME_BASE_URL=http://20.212.121.126`,创建、callback、artifact content 全链路可跑 |
|
||
| 7 | 蜂群 | `SWARM_RUNTIME_ENABLED` 当前为 `false`;如启用必须单独联调 |
|
||
| 8 | NewAPI | 模型渠道、token、日志正常;Runtime 失败时核对 `newapi_request_id` |
|
||
| 9 | 桌面客户端 | 加密 body、登录、模型列表、普通 sub artifact 展示正常 |
|
||
| 10 | 敏感值 | 任何 `.env`、token、密码不得进入 git diff |
|
||
|
||
## 12. 交接边界
|
||
|
||
下一位 AI 或工程师可以直接基于本文继续做:
|
||
|
||
- Manager 部署、版本更新、Docker 清理。
|
||
- 普通 sub Runtime 联调、artifact content 下载链路验证。
|
||
- 蜂群 Runtime 独立启用前的配置核对。
|
||
- NewAPI 模型调用排障。
|
||
- Azure Key Vault Managed Identity 修复。
|
||
- 桌面客户端对接文档更新。
|
||
|
||
但不能直接从本文获得明文密码或 token。需要真实密钥时,必须由负责人通过安全渠道提供,或在 VM/Azure Portal/NewAPI 后台按权限读取。
|