Skip to content

About

通过 Docker 运行支持 C456 全套流程的 Hermes 镜像

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Hermes C456 Docker

Hermes C456 Docker

C456 定制化一键环境 · 微信里的 AI 助手 · 知识库 · 多 Agent 写代码


快速开始:AI 一键安装

不用手抄命令,也不必先读完 README。 只需:

  1. 本机装好 Docker(macOS 推荐 OrbStack 或 Docker Desktop)
  2. 在 Cursor、ChatGPT、Claude 等能上网的 AI 里,复制下面整段提示词发出去
  3. AI 会到 GitHub 读取官方安装文档,自主完成 clone、配置、构建、启动;缺信息时再问你
复制给 AI — 一键安装提示词
请帮我安装 Hermes C456 Docker:https://github.com/c456-com/hermes-docker

请从 GitHub 读取官方安装文档,严格按文档自主完成全部安装、验证和上手说明:

https://github.com/c456-com/hermes-docker/blob/main/docs/ai-install.md

安装过程中按需继续阅读同仓库下的文档(均在 GitHub 上):
- 知识库初始化:https://github.com/c456-com/hermes-docker/blob/main/docs/c456-wiki-init.md
- OpenCode 模型配置:https://github.com/c456-com/hermes-docker/blob/main/docs/opencode-omo-config.md

要求:
- 你先读文档再动手;文档要求向你收集的路径、密钥、订阅信息,再向我提问,不要猜测
- 每次 docker compose up/build/down/restart/run 之前必须先执行:export HERMES_UID=$(id -u) HERMES_GID=$(id -g)
- 在本机执行 clone、docker compose build/up、setup、验证等命令
- 若我需要微信:安装完成后按 https://github.com/c456-com/hermes-docker/blob/main/docs/weixin-setup.md 一步一步教我扫码、白名单、验证私信
- 全部通过后,用简短中文教我:如何启停、配置在哪、微信里怎么用 /workspaces/c456-wiki

官方安装文档(人类也可直接阅读):docs/ai-install.md

重要:在宿主机执行任何 docker compose up / build / restart / run 之前,必须先:

export HERMES_UID=$(id -u) HERMES_GID=$(id -g)

否则 macOS 上挂载的 ~/.hermes、知识库目录可能出现权限错误。docker compose exec 不需要。


这是什么?为什么需要它?

搭建「AI + 个人知识库 + 能写代码的 Agent」往往要分别折腾:Hermes、Docker、OpenCode、目录规范、模型选型、微信对接……Hermes C456 Docker 把 C456 社区验证过的最佳实践打成一个可复现的 Docker 环境,让你专注用,而不是搭环境。

你可能遇到的痛点

痛点 本项目的做法
环境组件多、配置散 单镜像预装 Hermes、OpenCode、Oh My OpenAgent、Playwright、Python/Node 等
知识库不知道怎么建 按 C456 LLM Wiki 四层结构(raw / wiki / c456-sync)脚手架 + 首次启动自动引导
想在微信里指挥 AI Hermes Gateway 对接微信,用自然语言查知识库、跑任务、调 OpenCode
轻量改代码 vs 重度 IDE 轻量走 OpenCode Go + 多 Agent;重度走 Cursor,Hermes 协助两边配置
模型贵、不知道谁用哪个 默认 oh-my-openagent,Hermes 按性价比帮你配 11 个 Agent / 8 个 Category 的模型

适合谁

  • 已在用或想建 C456 风格个人知识库(收藏、整理、同步 c456.com)
  • 希望 微信里有一个 7×24 的 AI 助手,能读 wiki、写日报、执行自动化
  • 需要 AI 在知识库里动手改代码,但不想自己拼 OpenCode / 多模型配置
  • 接受 Docker,想要可迁移、可重建的一键环境

能做什么

你(微信 / 终端)
    ↓
Hermes Gateway — 对话、工具、cron、MCP
    ↓
┌─────────────────┬──────────────────────┐
│ C456 知识库      │ OpenCode + Oh My      │
│ /workspaces/     │ OpenAgent(多 Agent   │
│ c456-wiki        │ 写代码、ultrawork)    │
└─────────────────┴──────────────────────┘
         ↕ 可选同步
      c456.com
能力 说明
微信助手 私信 Bot:查 wiki、总结日报、指挥 OpenCode 改代码
C456 知识库 Karpathy Wiki + C456 同步四层架构;空库首次启动自动欢迎并引导初始化
多 Agent 写代码 预装 oh-my-openagent;Hermes 按订阅推荐模型组合(默认 Go + ChatGPT ~$30/月)
重度开发 本机 Cursor 打开同一知识库路径;Hermes 处理自动化与微信侧任务
本地模型 可选 LM Studio 作 Hermes 主模型(见下方手动安装 §7)
自动化 cron、终端、浏览器工具、项目 Python 环境自动修复

轻量开发 vs 重度开发

场景 推荐 说明
改脚本、小功能、微信里指挥写代码 OpenCode Go + ChatGPT Plus Hermes 自动配置各 Agent 模型,复杂任务输入 ultrawork
大项目、长时间 IDE 工作流 Cursor 套餐 本机 Cursor 编辑 C456_WIKI_DIR,Hermes 协助 CLI 与自动化

数据存在哪

安装时由你(或 AI)指定宿主机路径,写入仓库根目录 .env(见 compose.env.example):

挂载 默认路径 容器内
Hermes 配置与会话 ~/.hermes/data /opt/data
OpenCode / Cursor 用户配置 ~/.hermes/root /root
C456 知识库 ~/c456-wiki(可新建或已有) /workspaces/c456-wiki
本仓库(compose 自配置) clone 目录 /opt/hermes-docker

微信与 OpenCode 指令里请用容器内路径 /workspaces/c456-wiki,不要用宿主机路径。安装后可通过对话让 Hermes 调整 CPU/内存、挂载等(读取技能 hermes-docker-compose)。

对接微信

Gateway 启动后,按 docs/weixin-setup.md 逐步完成:扫码绑定 → 配置白名单 → 重启 → 私信验证。

简要步骤:

export HERMES_UID=$(id -u) HERMES_GID=$(id -g)
docker compose run --rm -it gateway gateway setup   # 勾选 Weixin,手机扫码
# 编辑 ~/.hermes/data/.env → WEIXIN_DM_POLICY=allowlist、WEIXIN_ALLOWED_USERS=你的id
docker compose exec gateway gateway-ctl restart

然后在微信私信 Bot:「你好,只回复 OK」。

装好后在微信里怎么说

总结一下 /workspaces/c456-wiki 里 daily_reports 的最新内容。
用 OpenCode 在 /workspaces/c456-wiki 里列出目录结构,完成后告诉我。

手动安装

与 AI 安装步骤一致,供查阅或无法使用 AI 时逐步操作。
建议优先使用上文 AI 一键安装。

前置条件

  • Docker(macOS:OrbStack / Docker Desktop;Linux:Docker Engine)
  • (可选)LM Studio — 本地大模型

1. 准备配置与路径

cd ~/hermes-docker

cp compose.env.example .env
vim .env   # HERMES_DATA_DIR、HERMES_ROOT_DIR、C456_WIKI_DIR、资源上限(可选)

mkdir -p ~/.hermes/root ~/.hermes/data ~/c456-wiki
cp config/config.yaml.example ~/.hermes/data/config.yaml
cp env.example ~/.hermes/data/.env
vim ~/.hermes/data/.env
  • 仓库根目录 .env → Docker 挂载路径与 Gateway 资源上限(HERMES_CPUS_LIMIT、HERMES_MEM_LIMIT、HERMES_SHM_SIZE)
  • ~/.hermes/data/.env → API Key、微信 等密钥

要让 Gateway 尽量吃满 CPU/内存:先在 Docker Desktop / OrbStack → Settings → Resources 拉高虚拟机配额,再在 .env 里把上述三项设到接近该配额,然后 docker compose up -d --force-recreate。

主模型:云端填 OPENROUTER_API_KEY;本地用 LM Studio 见 §7。

Docker socket 与 override(供 Hermes 在容器内自管 compose):

DOCKER_SOCKET_PATH=$(bash docker/detect-docker-socket.sh)
echo "DOCKER_SOCKET_PATH=$DOCKER_SOCKET_PATH" >> .env
cp docker-compose.override.example.yml docker-compose.override.yml

C456_WIKI_DIR 与 HERMES_DOCKER_DIR 在 .env 中配置;知识库容器内固定为 /workspaces/c456-wiki。

2. 构建镜像

export HERMES_UID=$(id -u) HERMES_GID=$(id -g)
docker compose build

首次较慢(Debian + Hermes + Playwright),一般只需一次。

3. 启动 Gateway

export HERMES_UID=$(id -u) HERMES_GID=$(id -g)
docker compose up -d
docker compose ps
docker compose logs -f gateway

日志出现 Hermes Gateway Starting...(或 gateway-ctl: started gateway)且 STATUS 为 Up 即正常。
若知识库未初始化,Gateway 会写入引导文件,按 docs/c456-wiki-init.md 完成初始化。

4. Hermes 首次向导与微信

export HERMES_UID=$(id -u) HERMES_GID=$(id -g)
docker compose run --rm gateway setup

微信对接见 docs/weixin-setup.md(扫码、白名单、验证私信)。

5. 配置 OpenCode 模型(可选)

docker compose exec gateway bash /opt/hermes/docker/setup-opencode-omo.sh b
docker compose exec gateway opencode auth login
docker compose exec gateway bunx oh-my-openagent doctor

详见 docs/opencode-omo-config.md。

6. 验证

docker compose exec gateway hermes --version
docker compose exec gateway opencode --version
docker compose exec gateway hermes chat -q "回复 OK"
docker compose exec gateway bash -lc \
  'cd /workspaces/c456-wiki && opencode run "Respond with exactly: OPENCODE_SMOKE_OK"'

Dashboard(可选):在微信或终端对 Hermes 说「开启 dashboard」,或:

docker compose exec gateway dashboard-ctl start

浏览器打开 http://localhost:9119(仅本机,勿暴露公网)。关闭:dashboard-ctl stop。

7. 使用本地 LM Studio

Gateway 在 Docker 内,LM Studio 在 Mac 宿主机。容器访问宿主机用 host.docker.internal,不能用 localhost。

  1. 安装 LM Studio,Load 模型,Developer → Start Server(默认端口 1234)
  2. 编辑 ~/.hermes/data/config.yaml:
model:
  provider: lmstudio
  model: 你的模型ID
  base_url: http://host.docker.internal:1234/v1
  api_key: lm-studio
  1. 验证并重启:
docker compose exec gateway curl -s http://host.docker.internal:1234/v1/models
docker compose exec gateway gateway-ctl restart
docker compose exec gateway hermes chat -q "你好,只回复 OK"
现象 处理
Connection refused 确认 LM Studio 已 Start Server;URL 用 host.docker.internal
工具调用不稳定 换支持 tool calling 的模型;Context Length 建议 ≥ 32K

参考

文件说明

文件 说明
docs/ai-install.md AI 安装手册
docs/c456-wiki-init.md 知识库初始化手册
docs/weixin-setup.md 微信对接分步指南
docs/opencode-omo-config.md Oh My OpenAgent 模型配置
compose.env.example 挂载路径模板 → 复制为 .env
docker-compose.yml Gateway 服务定义
config/config.yaml.example Hermes 主模型与审批模板
env.example 密钥模板 → HERMES_DATA_DIR/.env

镜像内已安装

组件 说明
Hermes Agent Gateway、微信、MCP、cron
OpenCode + oh-my-openagent 多 Agent 写代码
Playwright Chromium 浏览器自动化
Node 22 / Python 3.13 / Cursor CLI 开发与 IDE 集成

安全提示

  • 微信建议 WEIXIN_DM_POLICY=allowlist 并填写自己的 user_id
  • 不要对同一 HERMES_DATA_DIR 运行多个 gateway 容器
  • 端口 8642、9119 仅供本机使用

故障排查

容器反复重启 / permission denied:

export HERMES_UID=$(id -u) HERMES_GID=$(id -g)
docker compose down
docker compose build --no-cache
docker compose up -d

其它问题查看日志:docker compose logs gateway

About

通过 Docker 运行支持 C456 全套流程的 Hermes 镜像

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages