ARTICLE · 1184380
我一个不懂代码的人,把 AI 助手搬进了服务器,让它 24 小时替我干活
发布时间:2026-10-15 08:50:56 最近访问:2026-10-15 08:50:57
我一个不懂代码的人,把 AI 助手搬进了服务器,让它 24 小时替我干活
0. 先说这套东西是什么
一句话
你有一个住在服务器上的助手。你在手机上发一句话,它替你干活,干完把结果发回你手机。它 24 小时都在 ——你的电脑关不关,跟它没关系。三个部件,各是什么(打比方)
打个比方 | 实际是什么 | 干啥用 | 章节 |
遥控器 + 收结果的地方 | 飞书(备用:微信) | 你发指令、收结果 | §3、§4 |
住在服务器里的佣人 | 服务器上的 Hermes Agent | 听懂你的话、替你干活 | §2 |
它的笔记本(长期记忆) | Obsidian 笔记库 | 记住你的事,换电脑也带得走 | §5、§6 |
为什么非要把助手"放到服务器上"?
你一关机,它就没了—— 电脑睡眠或关机,助手跟着停你出门就够不着—— 在手机上想让它干活,它却在客厅那台电脑上放到服务器上,这三个毛病一次全解决。服务器其实没什么神秘 —— 它就是**"一台永远开着、永远联网的电脑"**,一个月几十块钱。这套东西能干什么(举几个真事)
定时干活:每天早九点、晚七点,它自己去捞信息,把结果推给你记住你的事:你说过的、写过的,它存进笔记库,不会忘一句实话(丑话说前头)
这套东西不是零门槛。你要会复制粘贴命令—— 会粘贴就行,不用懂。本文尽量用大白话 + 打比方讲"为什么";遇到必须敲的命令,照抄就能用。1. 清单:需要准备什么
这一章在干啥:把"要买什么、要准备什么"列清楚。就三样:一台服务器、一个模型 Key、一个飞书账号。1.1 一个云服务器
项 | 本套实测值 |
云厂商 | 腾讯云 |
系统 | OpenCloudOS 9.6(兼容 CentOS/RHEL 系) |
配置 | 2 核 / 3.6G 内存 / 60G 磁盘(磁盘已用 74%,建议直接上 80G) |
公网 IP | 一台固定公网 IP |
登录方式 | root + 密码/密钥(本套还装了宝塔面板,用网页终端即可操作) |
:Hermes 本体很省,主要吃内存的是网关进程(稳定占用约 1.4G)。定时任务、同步、网站都在这台机器上跑,跑得动。
1.2 账号与密钥
需要的 | 用途 |
大模型 API Key | 本套用 DeepSeek(api.deepseek.com)。用别的也行,Hermes 支持多家 |
飞书开放平台 账号 | 建自建应用(机器人) |
一个飞书群 或 私聊 | 助手把消息发到这里 |
2. 服务器部署:从裸机到跑起来
这一章在干啥:把助手装到服务器上,并且让它开机自己起来。四步: ① 装程序 → ② 给它一个固定"家" → ③ 给它配"大脑"(AI 模型)→ ④ 设成开机自启。2.1 装 Hermes
这一步在干啥:把 Hermes 装上。就一条命令的事。安装(Hermes 官方安装器)
装完会得到:/opt/hermes/venv/bin/hermes
/opt/hermes/venv/bin/hermes --version✅ 本套实测:Hermes Agent v0.20.4 (2026.8.18),venv Python 3.11.6
2.2 设定 HERMES_HOME
这一步在干啥:给助手一个固定的"家"。它的配置、记忆、技能、日志全住在这个文件夹里 —— 以后要备份或搬家,搬这一个目录就够。、记忆、技能、日志都在这个目录下:export HERMES_HOME=/root/.hermes✅ 本套实测
主配置(模型、终端、压缩策略等)
密钥与平台开关(不进版本库!)
助手的人格定义
长期记忆(MEMORY.md / USER.md)
技能库
会话与状态数据库
定时任务
日志
多机器人(多套独立配置)
MCP 授权令牌
2.3 配模型
这一步在干啥:告诉它用哪个 AI 大模型(本例用 DeepSeek),Key 填哪儿。这是它"会不会说话"的关键。default: deepseek-v4-flashbase_url: https://api.deepseek.com/v12.4 让它开机自己起来(关键一步)
这一步在干啥:让助手开机自动上班,而且半路挂了能自己爬起来。服务器上有个"管家"(Linux 里叫systemd)——所有"开机要自动跑的东西"都归它管。你要做的,就是给这个管家交一份"工作说明书",说明书上就写两句话:"有个叫 Hermes 的东西:① 开机就让它跑;② 万一它挂了,10 秒后自动把它拉起来。"
Hermes 自带一条命令,它会自动生成说明书、登记到"管家"那儿、顺手把它启动起来:hermes gateway install --system --start-now --start-on-login参数 | 说人话 |
(不带参数的部分) | 生成那份"工作说明书"(放到 /etc/systemd/system/ 下) |
--system | 登记成系统级服务 —— 开机就起,不用等你登录 |
--start-now | 现在就把它跑起来 |
--start-on-login | 设成开机自启 |
systemctl is-enabled hermes-gateway💡 最保险的验证:重启一次服务器,再敲 hermes gateway status,看它是不是自己起来了。 (服务器重启要你自己在云控制台点,助手不能自己重启,原因见 §8.5)
你 SSH 一断开、或者服务器一重启,助手就没了 —— 而且你还不知道它没了。我最早就是这样:看着一切正常,第二天怎么发消息都没人回,查半天才发现"它根本没在跑"。
上面那条命令,本质是生成了下面这个文件。你不用手抄它—— 列出来只是让你知道"系统里多了个什么东西":Description=Hermes Agent Gateway - Messaging Platform IntegrationAfter=network-online.targetWants=network-online.targetExecStart=/opt/hermes/venv/bin/python -m hermes_cli.main gateway runWorkingDirectory=/root/.hermesEnvironment="VIRTUAL_ENV=/opt/hermes/venv"Environment="HERMES_HOME=/root/.hermes"ExecReload=/bin/kill -USR1 $MAINPID逐行翻译一遍(看懂这几行,systemd 就不神秘了):那一行 | 说人话 |
Description= | 这玩意的名字(给"管家"看的标签) |
After=network-online.target | 等网络通了再启动(不然连不上飞书) |
ExecStart=... | 具体启动哪条命令 |
WorkingDirectory= | 在哪个目录里启动 |
Environment="HERMES_HOME=..." | 告诉它"家在哪"(就是 §2.2 设的那个) |
Restart=always | 挂了就自动重启 ← 最值钱的一行 |
RestartSec=5 | 挂掉后等 5 秒再重启(留点缓冲) |
User=root / Group=root | 用哪个身份跑 |
💡 记住一句话就够:这个文件的作用就是 "开机自动起 + 挂了自动拉"。 具体每行怎么写,交给 hermes gateway install 就行,你永远不用背。
2.5 装一个顺手的命令入口(可选但强烈建议)
默认 hermes 不在 PATH 里,每次敲全路径很烦。加个包装脚本 /usr/local/bin/hermes(✅ 本套实测):export HERMES_HOME="${HERMES_HOME:-/root/.hermes}"exec /opt/hermes/venv/bin/hermes "$@"chmod +x /usr/local/bin/hermes✅ 之后直接敲 hermes 即可
2.6 日常运维命令
看状态
重启(改完平台配置后必须做)
journalctl -u hermes-gateway -l --since '5 min ago'看日志
3. 接飞书:建 1 个应用就够了
3.1 先说结论:一个就够
飞书「应用」= 机器人的一张「工牌」。你想有几个机器人,就办几张工牌。只想要一个助手→建 1 个应用(绝大多数人,这样就行)想要好几个机器人各管一摊→ 那就建几个,步骤一模一样⚠️ 我这套建了 4 个,但得说实话:那 4 个是我拿来练手的,不是标准做法。你完全可以只建 1 个,效果一模一样。别被"4 个"吓到。
为什么"想多几个就多建几个"?因为 Hermes 支持多套独立人格/用途(术语叫 profile)。一套 profile 配一张"工牌",就等于多一个机器人 —— 而且它们记忆互不串、技能互不扰。我这套的 4 个(只是给你看看长什么样,不是要求):profile | 干嘛的 | 群聊策略 |
default | 主助手(日常都找它) | disabled(只私聊) |
zhaocai | 招采雷达(盯招标公告) | open |
gongkaike | 公开课交付 | open |
neirong | 内容创作 | open |
3.2 建应用(1 个或 N 个,步骤完全一样)
打开飞书开放平台→ 创建企业自建应用。然后做三件事:权限 | 作用 | 能不能省 |
im:message | 收发消息 | 必开 |
im:message:send_as_bot | 以机器人身份发消息 | 必开 |
im:chat | 读群信息 | 必开 |
im:resource | 读写消息里的文件/图片 | 必开 |
im:resource:upload | 上传图片(要发图就必须开,不然发图报错) | 发图必开 |
contact:user.base:readonly | 读用户基础信息 | 建议开 |
订阅方式选「长连接(WebSocket)」⭐为什么?因为它一次省掉三件最烦的事:不用买域名、不用配 HTTPS 证书、不用在服务器上开端口。(另一种做法叫"回调" —— 得让别人能"敲到你的门",门槛高一截,新手基本卡在这。)要订阅的事件:im.message.receive_v1(收到消息)细分权限:im:message.p2p_msg:readonly(私聊)、im:message.group_at_msg:readonly(群里被 @)③ 创建版本并发布⚠️(最容易忘的一步)不发布,前面开的权限一概不生效。本套就在这一步栽过(详见 §8.2)。3.3 写进配置
FEISHU_CONNECTION_MODE=websocket用长连接(免域名、免证书)
国内版填 feishu;海外版填 lark
FEISHU_GROUP_POLICY=disabled只想私聊就 disabled
FEISHU_ALLOWED_USERS=ou_xxx白名单(可选,只让指定的人用)
FEISHU_ALLOW_ALL_USERS=false上面是本套实际用到的键名(✅ 从 .env 核查得到);具体取值格式以官方文档为准。
3.4 验证(两步就能知道通没通)
grep "feishu connected" ~/.hermes/logs/agent.log | tail -1✅ 应看到 ✓ feishu connected
看到 ✓ feishu connected 之后,在飞书里给机器人发一句「在吗」—— 它回你,就通了。⚠️ 但要记住:"连上了"和"能用"是两件事。 连上只代表飞书这条线通了;它还得能调得动 AI 模型。 如果能连上、但一句话不回,八成是模型 Key 的事 —— 见 §8.8。
4. 接微信(备用通道)
这一章在干啥:再给助手加一条备用通道。为什么要备?本套真遇到过"飞书那边出问题、投递失败"的情况 —— 多一条腿走路,才不至于失联。(这一章可以跳过,不是必须的)4.1 原理
Hermes 通过腾讯 iLink 机器人接微信:扫码登录,得到一个形如 xxxx@im.bot 的机器人身份。4.2 关键认知(先想清楚再装)
事实 | 说明 |
扫码得到的是 iLink 机器人身份,不是你的微信号 | 它是"另一个联系人" |
一般不能被拉进普通微信群 | 群里 @ 也大概率没反应 |
只有私聊(DM)可靠 | 手机上把它当联系人用 |
二维码 = 登录凭证 | 只自己扫,别外传 |
4.3 配置
扫码登录成功后凭证会自动落盘到 ~/.hermes/weixin/accounts/。然后在 .env 补:WEIXIN_ACCOUNT_ID=xxx@im.botWEIXIN_DM_POLICY=allowlistWEIXIN_ALLOWED_USERS=你的user_id@im.wechat⚠️ 这一步有个大坑:WEIXIN_DM_POLICY=open(不设白名单)会导致网关拒绝启动,除非同时设 WEIXIN_ALLOW_ALL_USERS=true。本套实测踩过,连着起不来 5 次。生产环境建议直接用 allowlist。
5. Obsidian 知识库 + Syncthing 双向同步
这一章在干啥:给助手配一本**"笔记本",并且让服务器和你电脑上的笔记自动互相同步** —— 你在电脑上写的,它能看见;它写的,你在电脑上也能看见。5.1 为什么用 Obsidian
纯 Markdown 文件,数据在你自己手里,不锁在某个云笔记里;本身就是一个文件夹→ 随便用任何同步工具同步,不依赖官方服务。5.2 服务器侧
库根目录:/opt/obsidian-sync/Obsidian索引与导航
内容生产线(含"3 待发布""4 已发布")
⭐ 技能目录(关键,见 §6)
5.3 装 Syncthing(同步软件)
官方源装 syncthing,然后跑成常驻服务
/usr/local/bin/syncthing serve \--home=/var/lib/obsidian-syncthing \--no-browser --no-restart --no-upgrade \--gui-address=127.0.0.1:8384(✅ 本套实测原文;服务名 syncthing-obsidian.service,用独立用户 obsidiansync 跑)项 | 值 |
共享文件夹 ID | obsidian-vault |
服务器路径 | /opt/obsidian-sync/Obsidian |
已配对设备 | Fengge-PC(本地电脑)+ VM-0-3-opencloudos(服务器) |
管理界面 | http://127.0.0.1:8384(只监听本机,安全) |
:GUI 只绑 127.0.0.1,要用网页管理就 SSH 隧道转发,别把 8384 暴露到公网。
6. ⭐ 本地电脑 ↔ 服务器:同步的到底是什么
这一章在干啥:讲清楚到底什么东西在两边同步—— 这是整套设计里最巧的一环。先说一条消息是怎么走完一圈的(看完这张图,"为什么这么搭"就懂了):6.1 同步的东西
通过 Syncthing 双向同步的,是那个 Obsidian 库。而库里面藏着两类关键资产:库里的东西 | 作用 |
笔记与知识库 | 本地写、服务器读;服务器写、本地读 |
.claude/skills/ | ⭐ 技能目录 —— 本地 Claude Code 用它,服务器 Hermes 也用它 |
本套 .claude/skills/ 里同步着的技能(✅ 实测):fengge(个人人格/口吻) create-yourself(自我蒸馏)6.2 这样设计的好处
一份技能,两边都能用:在服务器上让 Hermes 蒸馏出的人格技能,自动出现在本地电脑的 Claude Code 里。本地能"接管":电脑开机、装上 Hermes,就能用同一批技能和知识库。6.3 不同步的东西(重要)
项 | 说明 |
服务器上的 ~/.hermes/ 配置与数据库 | 不同步(session、state.db 等是机器本地的) |
密钥文件 .env | 绝不同步(安全考虑) |
6.4 本地电脑侧:装了什么、怎么起、怎么自启(✅ 2026-10-13 现场核查)
实测机器:Windows,当前用户 Administrator,Syncthing 设备名 Fengge-PC。① 装了什么
软件 | 位置 | 作用 |
Hermes Agent | C:\Users\Administrator\AppData\Local\hermes\bin\hermes.exe | 本地助手 |
Node.js | C:\Program Files\nodejs\node.exe | Hermes 依赖 |
Python | …\WindowsApps\python.exe | Hermes 依赖 |
uv | …\Local\hermes\bin\uv.exe | Hermes 自带的包管理 |
Git | C:\Program Files\Git\cmd\git.exe | 依赖 |
VS Code | …\Local\Programs\Microsoft VS Code\bin\code.cmd | 编辑技能与脚本 |
Syncthing + SyncTrayzor | 进程 syncthing×2 + SyncTrayzor;数据在 AppData\Local\Syncthing | 双向同步 |
Obsidian | AppData\Roaming\obsidian | 看知识库 |
⚠️ 一个必踩的假象:Get-Command syncthing 和 Get-Command obsidian 会显示"没装" —— 因为它俩是带界面的程序,不在 PATH 里。别信这个,要看进程和安装目录(附核查命令见 附录 A)。
② 本地 Hermes 的"家"在哪(重要)
C:\Users\Administrator\AppData\Local\hermes\里面有:SOUL.md(助手人格)、config.yaml、.env(密钥)、skills/、sessions/、memories/、cron/、profiles/、state.db(会话库)、active_profile。🔒 和服务器同规矩:.env 里有密钥,绝不同步。
③ 开机自启靠什么
自启项 | 类型 | 作用 |
SyncTrayzor | 开机启动(程序自带) | 拉起 Syncthing,保证同步常在 |
HermesHeartbeat | Windows 任务计划 | 定时 ssh 到服务器 touch /tmp/hermes_heartbeat |
Hermes_Heartbeat_Resume / Resume2 / Resume3 | Windows 任务计划 | 把上面那个心跳任务重新启用(守卫任务) |
④ ✅ 本地不跑网关(关键,与服务器不冲突)
现场查 gateway 相关进程 ——结果为空:本地没有跑 Hermes 网关。:同一个飞书应用绝不能两个网关同时跑(见 §8.9)。 本套最终口径 = 「服务器常驻 + 本地只当客户端」 —— 本地只跑同步 + 本地助手,不跑网关。
⑤ 遗留物(✅ 2026-10-13 已处置:全部禁用)
✅ 现场处置记录:4 个心跳任务已全部禁用(状态 Disabled),原始定义已备份到本地桌面心跳任务备份-20261013\(4 个 .xml)。需要恢复时把 .xml 导入任务计划即可。
这 4 个任务原本是旧「双机热备」的本地端(本地发心跳 → 服务器接管,见 §8.3)。热备已弃用,心跳没人消费(服务器侧 takeover.sh 已改名停用)。⚠️注意:3 个 Resume 任务会自动把心跳任务重新启用—— 所以「只禁用心跳任务」没用,要清就 4 个一起清。本地还有 active_profile 文件(旧的"活动 profile 切换"机制留下的)。它无害,不要删—— 乱删可能影响本地助手。7. 让它主动找你:定时任务
这一章在干啥:让它到点自己干活,干完把结果推给你 —— 从"你问它才答"变成"它主动找你"。任务 | 时间 | 投递 |
每日简报待办 | 08:45 | 飞书 + 微信 |
今日生财 | 09:00 | 飞书 + 微信 |
生财线下聚会盯梢 | 09:30 | 飞书 + 微信 |
每日新帖精选 | 19:00 | 飞书 + 微信 |
关键消息要"两条腿走路"—— 同一份结果同时投递飞书 + 微信。理由:本套实测遇到过"飞书应用被删导致投递失败",多一条通道就等于多一层保险。每条任务都要能"什么都不说"—— 没新内容时静默,不然天天刷屏,人会烦到关掉它。
8. 踩过的坑(真实清单,比教程值钱)
这一章怎么读:这是**"踩着坑记下来的笔记"。不用一次看完**,卡住了再来查。 说句实话 ——这份清单比前面的教程值钱,因为教程到处都是,坑只有踩过的人知道。8.1 微信:DM_POLICY=open 会让网关起不来
现象:网关连续启动失败,日志报策略错误。 解法:用 allowlist + WEIXIN_ALLOWED_USERS;或用 open 时必须同时设 WEIXIN_ALLOW_ALL_USERS=true。8.2 飞书:应用没开"上传图片"权限 → 发不出图
现象:机器人文字正常,发图片失败,日志只有一句Feishu image upload missing image_key(把真实错误吞掉了,很容易误判成软件 bug)。 真因:应用缺im:resource:upload权限。 一步定位(直连飞书 API 复现):取 tenant_access_token 后:
curl -X POST "https://open.feishu.cn/open-apis/im/v1/images" \-H "Authorization: Bearer $TOKEN" \-F "image_type=message" -F "image=@test.png"若返回 {"code":99991672,"msg":"Access denied...required: [im:resource:upload, im:resource]"}
→ 就是没开权限。官方会顺带给出开通链接。
解法:开放平台开 im:resource:upload →创建版本并发布(不发布不生效)。8.3 双机热备 —— ⚠️ 已停用(2026-08-29)
设计意图:本地电脑发心跳,服务器监控;本地心跳过期 → 服务器接管全部 profile;本地心跳恢复 → 服务器让位,避免两边抢飞书长连接。⛔ 为什么要停:2026-08-28 出过一次事故本地电脑开机 → 心跳变新鲜 → 热备脚本执行 pkill -9 杀掉服务器全部网关 → 但本地网关当时没配开机自启 → 4 个机器人在服务器和本地都没跑起来,全部掉线。用户感知="打开电脑,机器人没反应"。
检查项 | 结果 |
脚本 | /opt/hermes/takeover.sh**.disabled**(2026-08-29 09:36 改名停用) |
接管日志 | 最后一条 2026-08-30 02:44,之后无更新 |
心跳文件 | 不存在 |
服务器上的 profile | 只有 default 在跑,zhaocai / gongkaike / neirong均未运行 |
两个可选修复方向(来自 2026-08-29 的修复记录):服务器常驻(推荐):改脚本让"心跳新鲜"分支不 kill——服务器 24h 一直跑,本地只用 CLI,不抢飞书连接。本地优先:本地必须配 hermes gateway install 开机自启(否则又会重现 8-28 的掉线)。⚠️ 要重新启用热备,必须先把上面第 1 或第 2 条落实,否则一定会再出一次"全部掉线"。 本文档如实记录"已停用"状态 —— 不要照抄一份"正在用双机热备"的描述。 ✅ 2026-10-13 定案:放弃「双机热备」,改用「服务器常驻」 —— 4 个网关全部装在服务器上、systemctl enable 开机自启。 ⚠️ 前提:本地电脑必须不再跑网关(关掉本地的自启 / Watchdog / 计划任务),否则又变成两边抢连接。 📄 另记:服务器上曾遗留一个重复的 hermes-gw-default.service(enabled 但启动失败),它与 hermes-gateway.service 跑同一个 default profile —— 重启后会互相抢连接,已 systemctl disable 消除。
8.4 改平台配置后,必须从"网关外"重启
在网关进程里重启网关会被拦住(出于安全:助手不能把自己关掉)。 正确做法:在服务器的独立终端(如宝塔的网页终端)里执行:8.5 关机/重启:助手不能自己关自己
shutdown / reboot 属于硬性黑名单,助手执行不了,必须人工在云控制台或终端操作。好消息:只要服务都 systemctl enable 过,开机后 Hermes / 飞书 / 微信 / 网站会自动恢复。
8.6 飞书的"富文本消息"会吃掉附件
现象:通过飞书发的文件/压缩包,助手可能收不到(日志里显示成 [Rich text message])。 原因:消息类型是 post(富文本),适配器解析不出附件列表。 变通:用 GET /open-apis/im/v1/messages/{message_id} 读原始消息,从 files 字段拿到 file_key 再下载;大文件还要用 HTTP Range 分段下载绕过单次大小限制。8.7 一条运维心得
别把所有东西都堆在根目录。本套把项目放在 /opt/(如 /opt/hermes、/opt/obsidian-sync),文档和记忆放 ~/.hermes 与 Obsidian 库里 —— 出问题好排查,重装也好搬。
8.8 ⭐ 多 profile 的隐藏杀手:模型 Key 各自独立
现象:机器人在飞书里连得上(日志有 ✓ feishu connected),但发消息没人回。真因:每个 profile 有自己独立的.env。换了模型 API Key 只改了主 profile,另外 3 个 profile 里还是旧 key → 调模型报401 Authentication Fails。本套实测:zhaocai 68 次 401、neirong 25 次、gongkaike331 次(它从上线起就没工作过)。一步定位:逐个 profile 取 key,打 GET https://api.deepseek.com/v1/models,看返回 200 还是 401。修法:把有效 key 同步进每个 profile 的 .env(改前先备份),再 systemctl restart hermes-gw-。教训:「飞书连上了」不等于「机器人能用」—— 这是两条独立链路(① 飞书长连接 ② 模型 API 鉴权),排查时必须分开看。8.9 ⭐ 铁律:同一个飞书应用,不能有两个网关同时抢连接
飞书的事件(长连接)只会投递给其中一个连接。两台机器都跑同一个 app 的网关时:消息可能随机落到其中一台 → 表现是「机器人时好时坏」本套踩过的坑(2026-08-28):本地电脑开机 + 热备脚本的「让位」逻辑 + 本地网关未配自启 =4 个机器人全部掉线,用户感知=「打开电脑,机器人没反应」。固定一台跑(推荐:服务器常驻)—— 服务器 24h 跑,本地只当客户端真正的交接—— 心跳 + 让位,且两边都要配开机自启最怕的是第三种:两边都配了自启、却没有协调机制—— 那不是高可用,是互相打架。另注:服务器上还留着 takeover.sh.disabled(旧热备脚本)和 hermes-gw-default.service(重复的 default 单元,已 disable)。只要不去启用它们就不会出事。
9. 换新电脑时的复刻清单
这一章在干啥:换电脑、或者要在新服务器上重建时,照着打勾走一遍就行。9.1 服务器侧
装 Hermes → 记下 HERMES_HOME让它开机自启 → hermes gateway install --system --start-now --start-on-login(见 §2.4)(可选)加 /usr/local/bin/hermes 包装脚本建飞书自建应用(每个 bot 一个)→ 开全权限(含 im:resource:upload)→ 事件订阅选长连接 → 发布版本.env 填飞书配置 → hermes gateway restart → 验证 ✓ feishu connected(可选)接微信(iLink 扫码)→ 配 WEIXIN_DM_POLICY=allowlist + 白名单装 Syncthing → 建 obsidian-vault 共享 → 与本地配对9.2 本地电脑侧(Windows)
装 SyncTrayzor + Syncthing → 与服务器配对 → 同步 obsidian-vault (确认 .claude/skills/ 也在同步范围内)装 Node.js / Git / Python(Hermes 的依赖)装 Hermes Agent —— 家目录在 %LOCALAPPDATA%\hermes,不是 ~/.hermes❌ 不要起本地网关 —— 网关只跑在服务器(见 §8.9)❌ 不要配心跳 / 热备计划任务 —— 已弃用(见 §8.3)9.3 验收(三件事都能做到,就算成了)
在本地 Obsidian 写一条笔记→ 服务器上能看到(同步通了)