早上八点的日程轰炸:让 Agent 替你扛下来
我每天早上八点要面对三件事:公司站会、客户邮件、还有一堆散落在微信和钉钉里的待办。过去我靠手写清单,后来用 Todoist,再后来发现时间全花在“整理清单”上了。上个月我决定用 Hermes Agent 搭一个私人助理,目标很明确:它得自己把散落的信息收拢、分类、排优先级,然后在我起床前把一份干净的日程表推到手机里。
环境是 macOS 14.5,Python 3.11.9,装了 pipx 来隔离依赖。安装命令就一条:
pipx install hermes-agent==0.9.4
hermes --version
装完先跑 `hermes init` 初始化,它会生成 `~/.hermes/config.yaml`。这个文件是整个助理的中枢,我第一件事是把默认的模型从 gpt-4o-mini 换成 qwen2.5:72b——本地 Ollama 跑,省得每次调用都走公网。配置里改三行:
model: qwen2.5:72b
temperature: 0.3
max_tokens: 2048
然后建了一个 `~/.hermes/skills/inbox.py`,用来处理“碎片信息”。这个技能做的事不复杂:接收一段文本,抽出时间、地点、人物、待办事项,输出成 JSON。核心代码大概 40 行,用了一个轻量的中文 NER 库 `lac`,准确率够用。跑通之后,我在微信里把“周五下午三点和张力对需求,地点在 302 会议室,带原型稿”直接丢给 Agent,它返回:
{'task': '对需求', 'time': '2025-06-06 15:00', 'location': '302会议室', 'attendees': ['张力'], 'prep': '原型稿'}
这个场景解决的是“信息录入”的痛点。以前我要手动开日历、建事件、写备注,现在一句话搞定。但光录入还不够,下一步我得让它学会自己排优先级。
优先级不是靠感觉,是靠规则
信息收进来之后,真正的麻烦是排序。我以前用过各种“四象限法”,坚持不了三天。后来想通了:与其让我手动分类,不如把规则写死给 Agent。我在 `~/.hermes/skills/prioritize.py` 里定义了一套打分逻辑:截止时间越近分越高,有“老板”“客户”关键词的加 5 分,涉及“报销”“周报”这种固定事务的减 3 分。
这套规则一开始很粗糙,跑了两周我调了三版。第一版的问题是不认识“ASAP”,后来在关键词表里加了英文缩写。第二版的问题是重复任务会反复出现,我加了一个 `dedup` 函数,用编辑距离判断相似度,超过 0.85 就合并。第三版才真正好用,因为我把历史数据喂了进去,让 Agent 学习我过去三个月的行为模式。
实现上不复杂,我用 `~/.hermes/memory/` 目录下的 SQLite 数据库存历史决策。每次我手动调整优先级,Agent 都会记录一次。比如我连续三次把“客户演示”从 P2 提到 P1,它就会自动把“演示”相关词的权重调高。这个功能用的是 Hermes 自带的 `memory` 命令:
hermes memory add --type preference --key demo_priority --value high
hermes memory query --type preference
现在每天早上七点,Agent 会跑一遍 `prioritize.py`,把当天所有任务按分数从高到低排好,生成一份 Markdown 格式的晨报,通过 Telegram bot 推给我。这份晨报不只是列表,它会标注“为什么这个任务排第一”,理由是“截止时间今天 18:00 + 关联客户名称”。
这套机制跑了一个月,我发现自己手动改排序的次数从每天五六次降到了每周一两次。规则当然不完美,但比我自己凭感觉强。关键是所有调整都有记录,能追溯。
日历和邮件:打通两个最耗时的信息源
日程表排好了,但信息源还是断的。我的日历在 Google Calendar,工作邮件在 Outlook,两边互不相通。以前我每天要花二十分钟人工同步,现在让 Agent 做这件事。Hermes 有插件机制,我装了两个插件:`hermes-plugin-gcal` 和 `hermes-plugin-outlook`,版本分别是 1.2.0 和 0.8.3。
安装方式:
hermes plugin install hermes-plugin-gcal@1.2.0
hermes plugin install hermes-plugin-outlook@0.8.3
配置在 `~/.hermes/config.yaml` 里加两段。Google Calendar 用 OAuth2,Outlook 走 Microsoft Graph API。麻烦的是权限,我花了半小时搞定了两个应用的 API 凭据。跑起来之后,Agent 每十五分钟同步一次两边的日历,发现冲突就标记出来。比如周三下午 2 点 Google 上有“产品评审”,Outlook 上同时有一个“供应商电话会”,Agent 会给我推一条警告,建议我把电话会挪到 3 点,因为评审的参会人数更多。
邮件的处理更狠一点。Agent 会用规则过滤收件箱:来自 `@company.com` 的邮件自动打标签“内部”,包含“invoice”“contract”的进“财务”文件夹,标题里有“URGENT”的排进当日任务清单。这个功能的代码量不大,核心是用了 Hermes 的 `mail filter` 子命令:
hermes mail filter --add-rule sender=@company.com label=internal
hermes mail filter --add-rule subject=URGENT priority=high
最实用的一个功能是“每日邮件摘要”。每天早上八点,Agent 把昨天未读邮件压缩成五条要点,每条不超过二十个字。比如“张伟问 Q3 预算,需周四前回复”。这个摘要省掉了我打开 Outlook 逐封点开的时间,我只需要对真正需要回复的邮件做处理。
打通这两个信息源之后,我的助理才算真正“在线”。它不再是一个被动接收指令的工具,而是主动盯着我的信息流,在需要的时候提醒我。
定时任务:让 Agent 自己盯着时间
日历同步解决了“空间”上的信息聚合,但“时间”维度还得靠定时任务。我举个例子:每周五下午四点半要提交周报,过去我设了好几个闹钟,还是会忘。现在我用 Hermes 的 cron 功能,让 Agent 在每周五下午四点自动收集我这周的 commit 记录、邮件往来和日程安排,生成一份周报草稿。
创建定时任务的命令:
hermes cron create --name weekly-report --schedule "0 16 * * 5" --task "generate_weekly_report"
`generate_weekly_report` 是定义在 `~/.hermes/skills/weekly_report.py` 里的一个函数。它会先跑 `git log --since="last friday" --author="me" --oneline` 拿 commit 列表,再调用邮件插件的接口统计本周发出的邮件数量,最后调日历接口拉这周的所有会议。生成的内容分三块:本周完成、进行中、风险点。风险点这块 Agent 会根据邮件里频繁出现的词判断,比如这周出现三次以上“delay”,它就会列进风险。
除了周报,我还设了几个别的定时任务:每天早上九点检查服务器磁盘空间,超过 80% 就报警;每周末备份一次 `~/.hermes/` 目录到 S3;每天晚上十点把当天的工作日志追加到 Notion 数据库。这些任务都在同一个 `hermes cron` 体系里管理,查看所有任务用:
hermes cron list
hermes cron logs --name weekly-report
定时任务的价值不在于“自动执行”,而在于“提前准备”。周报草稿生成之后,我只需要花五分钟改改措辞就能发出去,而不是从一张白纸开始写。
如果你有更复杂的周期逻辑,比如“每个月的最后一个工作日”,cron 表达式写起来有点绕。Hermes 支持自然语言描述,内部会解析成 cron。我试过 `hermes cron create --schedule "last weekday of month" --task "monthly_cleanup"`,它能正确翻译成 `55 23 28-31 * *` 再配合条件判断。这个功能在 0.9.4 版本里已经稳定了。
WebUI 和语音交互:不敲键盘也能用
命令行交互对技术人来说很顺手,但有些场景不适合打字。比如我在厨房做饭,手上全是油,想查一下明天的天气和日程,这时候语音就比键盘方便。Hermes 自带了一个轻量 WebUI,启动命令:
hermes webui --port 8080 --host 0.0.0.0
界面很朴素,左边是对话历史,右边是输入框,支持语音输入。语音识别用的是本地 Whisper 模型,我跑的是 `small` 尺寸,中文识别准确率在 90% 左右。如果你想跑 `medium` 或 `large-v3`,显存不够的话可以用 API 版本,但速度会慢一点。我建议先用 small,够用就行。
WebUI 最有用的功能是“技能面板”。它能列出所有已安装的技能,你点一下就能执行,不用记命令。比如我点“快递查询”,它会弹出输入框让你填单号,然后自动调用快递 API 返回物流状态。这个交互方式对不熟悉命令行的家庭成员也很友好。
我还接了一个 Telegram bot,这样在外面用手机也能控制助理。配置很简单,在 `~/.hermes/config.yaml` 里加:
telegram:
token: "123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11"
chat_id: "987654321"
然后重启服务。从此我在外面收到邮件提醒,直接回一条消息“推迟到明天”,Agent 就会自动改日历并发通知给相关人员。这套交互链路由语音、Web 和 IM 三端组成,覆盖了我一天里所有可能的使用场景。
跑了一个半月,现在我的助理每天处理大约 80 条信息,生成 3 份报告,执行 5 个定时任务。它不完美,偶尔会把“周五”理解成“下周五”,但整体上它帮我省掉了每天至少一小时的信息整理时间。最重要的收获是:AI 助理不是装一个软件就完事,你得花时间调规则、喂数据、改配置。它更像一个需要持续训练的新同事,而不是一个开箱即用的工具。
💬 你用过哪些AI工具?
这篇教程里我用的是 Hermes Agent,但市面上还有很多不错的 AI 工具和平台。你平时用哪些?是像这样的本地 Agent,还是云端的一体化产品?有没有遇到什么坑,或者发现了什么好用的技巧?
如果你还没决定选哪家,可以去 AI House 排行榜(aibunkhouse.com/rankings/)看看最新的模型和工具排名。那里有真实用户投票和评测数据,比看厂商宣传靠谱。逛一圈,给你喜欢的模型投一票,也让别人少走点弯路。
常见问题 / FAQ
早上八点的日程轰炸:让 Agent 替你扛下来
我每天早上八点要面对三件事:公司站会、客户邮件、还有一堆散落在微信和钉钉里的待办。过去我靠手写清单,后来用 Todoist,再后来发现时间全花在“整理清单”上了。上个月我决定用 Hermes Agent 搭一个私人助理,目标很明确:它得自己把散落的信息收拢、分类、排优先级,然后在我起床前把一份干净的日程表推到手机里。 环境是 macOS 14.5,Python 3.11.9,装了 pipx 来隔...
优先级不是靠感觉,是靠规则
信息收进来之后,真正的麻烦是排序。我以前用过各种“四象限法”,坚持不了三天。后来想通了:与其让我手动分类,不如把规则写死给 Agent。我在 `~/.hermes/skills/prioritize.py` 里定义了一套打分逻辑:截止时间越近分越高,有“老板”“客户”关键词的加 5 分,涉及“报销”“周报”这种固定事务的减 3 分。 这套规则一开始很粗糙,跑了两周我调了三版。第一版的问题是不认识...
日历和邮件:打通两个最耗时的信息源
日程表排好了,但信息源还是断的。我的日历在 Google Calendar,工作邮件在 Outlook,两边互不相通。以前我每天要花二十分钟人工同步,现在让 Agent 做这件事。Hermes 有插件机制,我装了两个插件:`hermes-plugin-gcal` 和 `hermes-plugin-outlook`,版本分别是 1.2.0 和 0.8.3。 安装方式: hermes plugin ...
定时任务:让 Agent 自己盯着时间
日历同步解决了“空间”上的信息聚合,但“时间”维度还得靠定时任务。我举个例子:每周五下午四点半要提交周报,过去我设了好几个闹钟,还是会忘。现在我用 Hermes 的 cron 功能,让 Agent 在每周五下午四点自动收集我这周的 commit 记录、邮件往来和日程安排,生成一份周报草稿。 创建定时任务的命令: hermes cron create --name weekly-report --...
WebUI 和语音交互:不敲键盘也能用
命令行交互对技术人来说很顺手,但有些场景不适合打字。比如我在厨房做饭,手上全是油,想查一下明天的天气和日程,这时候语音就比键盘方便。Hermes 自带了一个轻量 WebUI,启动命令: hermes webui --port 8080 --host 0.0.0.0 界面很朴素,左边是对话历史,右边是输入框,支持语音输入。语音识别用的是本地 Whisper 模型,我跑的是 `small` 尺寸,...