Hermes WeChat ChatOps

Hermes ChatOps macOS Docker 部署页

macOS 适合演示、开发和文档截图。长期生产仍建议 Ubuntu Server;如果用 macOS 验证,要特别注意 Docker Desktop 文件共享和 Linux 容器内权限。

macOS 演示Docker Desktop文件共享Linux 容器扫码验证
Cockpit Metrics

macOS 适合验证流程,不作为首选生产环境

项目脚本以 Linux 为标准,macOS 需要通过 Docker Desktop 的 Linux VM 运行,并确认共享目录和容器内 UID/GID 行为。

manager母体管理员微信入口,拥有宿主机、Docker、模型、用户和公共 Skill 管理能力。
isolated子实例每个普通用户独立容器、目录、记忆、文件和微信绑定。
onboarding接入链路母体创建实例、生成二维码并完成微信路由,扫码后进入对应子实例。
agnes免费模型文本、图片、视频使用 Agnes 模型和独立 key。
delivery交付闭环初始化、健康检查、文件校验和发布打包串成一条可复现路径。
Why Hermes

它解决的不是聊天,而是运维入口碎片化

不用每天 SSH 进服务器

常见状态、用户创建、二维码绑定、模型查看、文件管理,都通过母体走受控命令完成。

多人使用不互相污染

子实例只能看到自己的工作区和文件区,不管理宿主机、母体、Docker 或其他用户。

模型和媒体能力分开

聊天、图片、视频模型独立配置,避免一次切换把媒体能力覆盖。

成品文件直接送达微信

Word、Excel、PPT、PDF、图片、视频通过 MEDIA 路径回传给对应用户。

System Rail

系统分层像一条清晰的控制轨道

微信负责入口,母体负责控制,Docker 负责隔离,子实例负责用户任务,Skill 和文件区负责交付。

01

微信网关

管理员和普通用户都从微信进入;网关只负责收发消息和二维码绑定。

02

母体 manager

拥有高权限,但通过 policy 和 chatopsctl 把自然语言落到可审计命令。

03

Docker Compose

统一管理 hermes_manager 和 bot_<user_id> 子实例,日志和健康状态可查。

04

子实例

每个用户独立 workspace、files、memory,只能操作自己的目录。

05

Skill / Files

公共 Skill、私有 Skill、MEDIA 文件和生成结果按作用域交付。

Runtime Guarantees

运行边界与接入保障

二维码交付

母体绑定管理员和接入子实例时必须拿到二维码链接,保存图片,并通过 MEDIA 路径直接推送给微信管理员。

DM open

普通用户扫码接入默认选择 Allow all direct messages;只有实际出现 pending pairing 时才走审批兜底。

Office 成品

Word、Excel、PPT、PDF 等任务必须产出真实文件,写入子实例 files 目录,再由网关上传给用户。

运行保障不靠口头承诺:二维码、容器状态、DM open、文件成品和权限边界都要能被脚本验证。

Bootstrap Path

macOS Docker Desktop 路径

解包后将部署目录放到 Docker Desktop 可共享路径,再按脚本准备 .env、权限、模型和微信绑定。

解压并校验发布包

先解 zip,再解 hermes-deployment.tar,校验必要部署文件的 sha256。

verify-package.sh
unzip hermes-chatops-release.zip
tar -xf hermes-deployment.tar
cd hermes-deployment
sha256sum -c ../DEPLOYMENT_CHECKSUMS.sha256
Structured Entrypoints

把母体、子实例、Skill 和密钥页拆成四个清楚入口

母体不要东找西找。自然语言先映射到固定入口,入口解决不了再请求管理员确认宿主机操作。

|||

母体先找规范入口,不先乱试命令

母体提示词和 policy 要把自然语言映射到 chatopsctl、scripts、validate.sh 这些明确入口。

  • 状态、用户、模型、密钥、Skill、文件都要有固定命令路径。
  • 入口无法覆盖时,母体应说明原因并请求管理员确认宿主机命令。
  • 返回结果必须包含影响范围、是否成功和下一步验证。
root/opt/hermes-deployment/toolmanager/bin/chatopsctl
manager.entrypoints

母体执行运维时先走 chatopsctl 和 scripts 里的规范入口,入口无法覆盖时再请求管理员确认宿主机命令。

  • 日常入口是 chatopsctl statusdoctor --strictuser listmanager show-model
  • 删除、覆盖、重启、改权限和清理文件都要说明影响范围,并使用带确认参数的入口。
  • 策略拦截器不应只说“无法执行”,要提示正确入口或需要管理员授权的宿主机命令。
cd /opt/hermes-deployment
sudo docker exec -u hermes hermes_manager chatopsctl status
sudo docker exec -u hermes hermes_manager chatopsctl doctor --strict
sudo docker exec -u hermes hermes_manager chatopsctl user list
sudo docker exec -u hermes hermes_manager chatopsctl manager show-model
Operating Flow

日常运维像看仪表盘一样清楚

macOS 验证重点是二维码、MEDIA 文件保存和容器生命周期;生产问题仍应回到 Ubuntu 复验。

Agnes API

Agnes API 是文本、图像、视频能力入口

项目默认按 Agnes 免费模型准备,复现文档会说明 key 获取、模型填写、最小调用和排障。

获取 key

  • 访问 Agnes 官方控制台,注册或登录账号。
  • 进入 API Key / Token 管理页,创建新的 key。
  • 只在初始化脚本或密钥页录入 key,不要发到微信群或普通聊天窗口。

模型填写

  • 文本、图片、视频模型分开填写。
  • 文档中默认示例使用免费 Agnes 模型,占位值可替换。
  • 部署包不内置真实 key,打包发布前必须保持空模板。

验证方式

  • 先用 chatopsctl manager show-model 看配置。
  • 再用文本、图片、视频各跑一次最小调用。
  • 失败时保留英文错误码,同时用中文解释给用户。
Verification

每次发布都要能被重新校验

  • 校验部署文件完整性:DEPLOYMENT_CHECKSUMS.sha256
  • 校验脚本语法和执行位:bash -n scripts/*.sh
  • 校验 Docker 配置:docker compose --env-file .env config --quiet
  • 校验母体入口:chatopsctl doctor --strict
  • 校验微信链路:管理员二维码、普通用户二维码、扫码后容器状态。

校验文件

校验文件只覆盖必要部署文件,不包含 README、documents、page 和 release 产物。

sha256sum -c DEPLOYMENT_CHECKSUMS.sha256
Troubleshooting

扫码后 exit、二维码缺失和 pairing code 的判断顺序

Documents

按你的环境选择复现路径