Files
heicode-mananger/Heicode-Manager-生产配置与账号交接清单.md
T
chenchenandClaude Opus 4.8 699fa5ef44 docs(swarm): refresh HM-side swarm docs to current agent_swarm state
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>
2026-06-10 12:15:57 +08:00

19 KiB
Raw Blame History

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 当前标准链路:

桌面客户端
-> 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. 常用排障命令

以下命令只列配置名或状态,避免直接打印明文密钥。

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:

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 后台按权限读取。