分享一个自用的专门针对飞书消息渠道展示优化后的 Hermes Agent

1874w 2026-07-02 23:27 1

我最近一段时间在用 Hermes 基于自部署的 Miniflux 设置一些定时任务



  1. 每日日报,基于我订阅的 RSS,自动总结新闻,并基于我正在研究的东西,总结出对我有用的信息

  2. 社区动态.基于订阅的 X 、V2EX 等动态,每 4 小时定时推送给我

  3. 播客日报,播客更新后,语音通过豆包模型语音转文本后,生成总结推送给我

  4. 基于我的 AI 优先的 Obsidain 笔记库记录一些想法和沉淀笔记


而 Hermes 的飞书消息渠道的展示和一些功能我不是很想要,特别是消息展示非常丑,而飞书的 Cardkit 就舒服很多.


具体示例可看博客最后的展示用 fork 接管 Hermes 更新


我之前尝试提 PR 到 Hermes 官方,但官方标记的优先级比较低,直到现在所有飞书相关的 Cardkit 优化的 PR 都未能成功被合并


自己改自己用


所以我就暂时自己改自己用


因为 Hermes 的更新策略比 OpenClaw 简单很多,他是基于 main 分支拉取最新代码
所以只需要将部署 Hermes 的机器上的源码的 Git origin 设置为自己的.


后续每次运行 hermes update 就会拉取 fork 分支,当然如果直接改,可能还有个小提示,需要一点额外设置


具体可看用 fork 接管 Hermes 更新


私人工作流文档的管理


后续每次更新本地代码后,然后再根据这篇博客给 Vibe Coding 中间文档找一个合适的位置的设置,将开发工作流和更新流程写到项目私人文档.


这样可以:



  1. 减少污染官方代码的同时让自己的文档不会被 AI Agent 提交到仓库

  2. 最大程度减少合并 upstream 时减少冲突

  3. 自定义的工作流还可以让 AI Agent 分析官方更新了什么,对自己有用的更新再更新到服务器

  4. 更新后线上遇到问题,可以非常方便回退到某次 merge 记录前


如果你也有类似的 Hermes 的使用场景,可以一起交流一下

最新回复 (8)
  • 1874w 楼主 07-02 23:31
    1
    目前我自己更新了以下功能

    1. 私聊场景不带回复引用,群聊/话题群不受影响
    2. 流式输出和工具 Cron 输出使用飞书 Cardkit 卡片展示

    其他的全部保持官方代码没动过
  • 1874w 楼主 07-02 23:55
    2
    Hermes 原来的飞书消息




    我更新后的

  • pinylin 07-03 09:10
    3
    👍🏻, 我也碰到了 markdown 渲染问题, 一直在等官方优化
  • sesshomaru0 07-03 09:58
    4
    hermes 和 openclaw 咋选?这里为啥不是直接改飞书的插件?
  • 1874w 楼主 07-03 10:12
    5
    @sesshomaru0 Openclaw 和 Hermes 的消息渠道插件架构不一样。

    OpenClaw 有第三方飞书插件,自己也内置飞书插件。他的在飞书上的消息都已经是 Cardkit 模式了,对 Markdown 的支持都很完善。但还有 bug 。

    Hermes 的飞书插件没有第三方的,内置的飞书消息发送渠道是跟着源码走的。我大部分改的还是飞书消息 Adapter 本身。但是有一些功能我必须得改 Hermes 的源码才能实现。

    我之所以用 Hermes 是因为
    1. Hermes 的消息输出模式我更喜欢一些
    2. 改动 Hermes 的代码然后更新到自己的服务器上比 Openclaw 简单一万倍。。。。。
    3. Openclaw 的飞书插件也有问题,但是我改完想自用测试,简直是地域,还得编译,还得打包(因为他是 TS )
    4. Hermes 因为是 Python 编写,服务器上的源码就是本地代码,我直接改 origin 就能替换成我自己的代码

    当然 Hermes 也有一堆问题

    他的自我进化对于我的使用场景 简直是地狱,特别是 SKILL 的自动生成非常烦。我反复横跳过一段时间,最后还是选择 Hermes ,然后把自我进化相关的功能都关了,目前使用比较稳定。
  • tudouxiong 07-03 14:31
    6
    飞书上 markdown 的表格渲染一直有问题,我尝试多次试图通过提示词来规范都没有成效。
  • 1874w 楼主 07-03 14:41
    7
    @tudouxiong 没用的,他们底层没有使用 Cardkit 来渲染,走的是文本消息,所以表格的体验一直很差,这也是我为什么选择自己改代码。

    社区 issue 中其实有很多已经实现的 Cardkit 设计,我也是参考了他们的设计来开发的。
  • 1874w 楼主 07-03 14:43
    8
    @tudouxiong 他们的代码中还专门针对表格和其他各种各种有专门文本处理逻辑,但内核是文本消息的话,怎么适配都不能解决根本问题。我改成 Cardkit 后,是没有做任何额外的适配处理,直接输出的原文。目前体验一切正常。
* 帖子来源V2EX
返回