Releases: techysy/hermes-fry-cards
Release list
v0.2.0 — 🍟 Hermes 0.21 modular 支持 / token 吊销自愈 / 模型别名
🍟 hermes-fry-cards v0.2.0
v0.1.1 后的功能里程碑:重点支持 Hermes 0.21 modular 网关布局(外部 PR #2 by moliyjin-521),并带来 token 吊销自愈、模型别名、show_reasoning 默认开启。
✨ 新增 / Added
- Hermes 0.21 modular 网关布局支持(PR #2)— 自动识别拆分后的
run_inbound.py/run_turn.py/run_turn_runner.py/run_busy.py,15 个 hook 分布到各文件;同时 patch 新的cron/scheduler_delivery.py,并保留 legacy 路径兼容。modular apply/remove/restore 按源文件原子化 + 独立备份 - token 吊销运行时恢复 — 遇
99991663 Invalid access token自动清 SDK token 缓存并重试一次,无需重启网关(FeishuClient.invalidate_token_cache()) - 模型别名 — 新增
~/.hermes/model_aliases.json,子串匹配命中显示别名,未命中回落截断;改文件即生效 - show_reasoning 默认开启 + 推理面板完成自动收起
🔧 变更 / Changed
- CLI
status读取 Hermes profile.env— 不再把有效凭据误报为缺失
🐛 修复 / Fixed
- seal/complete 失败时删除 loading 图标,卡片不再残留「处理中」
- 修正 4 个从未通过的陈旧测试 — 全量 519 通过 / 0 失败
完整变更见 CHANGELOG.md
v0.1.1 — 🍟 薯条卡片(首个正式版本)
🍟 hermes-fry-cards v0.1.1(首个正式版本)
灵感来自 hermes-lark-streaming,独立开发版本。
经过 rc2–rc7 七轮预览版迭代,插件核心链路趋于稳定,正式发布 🎉
🛡️ 本次更新:内部稳定性优化
对照 OPTIMIZATION_PLAN 差距分析,落地全部 P0 三项与 P1 补齐。配置项与卡片样式零变化,升级无需改任何配置。
session 生命周期统一
- 新增
_register_session/_dispose_session单一入口,清理幂等(重复执行不报错) - 中断接管后旧 session 清理不再误删新 session 映射
- 同 message_id 旧会话已终态时允许重建(原先永久拒新直到重启网关)
FlushController 竞态修复
- 完成标记与重刷请求交叉时,不再对已完成卡片发起多余的 CardKit API 调用
- 消除「timer 触发 + 立即路径」双刷同一份数据的问题
失败分类与结构化日志
- 失败原因随 session 记录且不被后续覆盖,排障可直接定位首次失败点
- 建卡失败区分飞书 API 错误码与未知错误
- 日志事件标准化:
session_created/card_created/card_reply_failed/fallback_to_text/session_disposed
质量保障
- 新增 9 个回归测试:499 通过 / 仅剩 4 个基线遗留失败
- 自 rc7 起默认值已对齐推荐配置,新装开箱即用
🚀 安装
curl https://raw.githubusercontent.com/techysy/hermes-fry-cards/main/INSTALL.md手动安装
git clone https://github.com/techysy/hermes-fry-cards.git
cd hermes-fry-cards
HERMES_PYTHON=~/.hermes/hermes-agent/venv/bin/python3
$HERMES_PYTHON -m pip install -e .
$HERMES_PYTHON -m hermes_fry_cards verify
$HERMES_PYTHON -m hermes_fry_cards install然后重启 gateway(在外部终端执行):
hermes gateway restart卸载
HERMES_PYTHON=~/.hermes/hermes-agent/venv/bin/python3
$HERMES_PYTHON -m hermes_fry_cards uninstall
$HERMES_PYTHON -m pip uninstall hermes-fry-cardsMIT License · 安装文档 · English
Full Changelog: v0.1.0-rc2...v0.1.1
v0.1.0-rc7 — 🍟 薯条卡片 (预览版)
v0.1.0-rc7
变更
- 默认值对齐当前推荐配置 — 新装用户开箱即用即为此套样式
streaming.enabled默认truestreaming.header.enabled默认truestreaming.footer.enabled默认falsefooter.fields默认顺序status → elapsed → model → contexttruncate_model_name默认true
- README 配置示例 / 默认值表同步更新
v0.1.0-rc6 — 🍟 薯条卡片 (预览版)
v0.1.0-rc6
修复
- 卡片元素超限(300305)强制拆卡恢复 — 补全 rc5 遗漏的独立错误码路径
- 新增
CARDKIT_ELEMENT_LIMIT_TOTAL = 300305识别 - 卡片实际元素总数超过飞书硬上限时自动封印旧卡/创建新卡/迁移未创建 segment 继续流式,避免消息永久卡在「处理中」
- 新增
- 远程图片 URL 过滤 — CardKit 拒绝远程 URL 作为 image key(200570),工具输出先 strip 远程图片引用(保留飞书 img_* key),并包进代码围栏
v0.1.0-rc5
🍟 hermes-fry-cards v0.1.0-rc5
✨ 新功能
限制 reasoning 面板数量 — 兼容不支持分段思考的模型(如 deepseek-v4-flash)
display.platforms.feishu.max_reasoning_panels(默认 3)- 超出后推理片段合并进最后面板,修复卡片元素溢出(300305)
统一面板按需显示 — unified_panel_min_duration(默认 5s)
- 有工具调用 → 显示统一面板
- 无工具且耗时 ≤ 5s → 不显示冗余 header
bar 渐变阴影进度条 — [███▓▒░░░] 35%
text/bar/text_bar三种模式- block/block_text 已废弃(桌面端/移动端显示不一致)
模型名截断开关 — truncate_model_name(默认 false)
or/lc/LongCat-2.0→⇲LongCat-2.0
🐛 Bug 修复
- 完成态 reasoning Duplicate ID(卡片卡 loading)
- context_display_mode 白名单补充 block(后废弃)
- /stop 中断 footer 显示模型名和耗时
📦 交付资产
- INSTALL.md — 双路径安装指南
- hermes-fry-cards-skill.md — 使用说明 skill
🧪 测试报告
490 通过 / 4 基线失败(无新增回归)
v0.1.0-rc4
🍟 hermes-fry-cards v0.1.0-rc4
✨ 新功能
上下文进度条 — 统一面板 header 显示上下文窗口使用量,5 种显示模式:
context_display_mode |
效果 |
|---|---|
text(默认) |
55.6k/1.0m (5%) |
bar |
[██░░░░░░] |
text_bar |
20k/1.0m [██░░░░░░] 21% |
block |
[▪▪▪▫▫▫▫▫▫▫] |
block_text |
20k/1.0m [▪▪▪▫▫▫▫▫▫▫] 21% |
限制 reasoning 面板数量 — 兼容不支持分段思考的模型(如 deepseek-v4-flash)
- 新增
display.platforms.feishu.max_reasoning_panels(默认 3) - 超出后后续推理片段合并进最后一个面板,防止卡片元素溢出(300305)
模型名截断开关 — display.truncate_model_name(默认 false)
or/lc/LongCat-2.0→⇲LongCat-2.0,header/footer 两处应用- 可全局或飞书平台独立配置
统一面板图标更新 — 🛠️→🔧 ⌚️→⏱️
🐛 Bug 修复
- 完成态 reasoning Duplicate ID(卡片卡 loading)
- /stop 中断时 footer 显示模型名和耗时
🧪 测试报告
490 通过 / 4 基线失败(无新增回归)
📦 交付资产
- INSTALL.md — 双路径安装指南
- hermes-fry-cards-skill.md — 使用说明 skill
v0.1.0-rc3 — 🍟 薯条卡片 (预览版)
🍟 v0.1.0-rc3
✨ 新增
- 上下文进度条 — 统一面板 header 新增上下文窗口使用量,三种显示模式:text / bar / text_bar
- 独立配置开关 — show_context + context_display_mode,默认开启 text 模式
- 智能单位 — 小于 1M 用 k,大于等于 1M 用 m
- 统一面板图标更新 — 🛠️→🔧(工具)、⌚️→⏱️(耗时)
🐛 修复
- 完成态 Duplicate ID 修复 — 复用流式阶段 reasoning text_el_id,修复卡片卡 loading
- fallback 用带索引唯一 ID — 彻底杜绝 Duplicate ID
- /stop 中断时 footer 显示模型名和耗时
📝 文档
- README 补充上下文显示配置说明和格式对比
- README 添加相关项目表格(aiduPOP、lark-hls-v2)
- 新增 skill 文件(AI Agent 自动配置用)
- 测试报告:490 通过 / 4 基线失败(无新增回归)
📦 交付资产
- INSTALL.md — 双路径安装指南
- hermes-fry-cards-skill.md — 使用说明 skill
v0.1.0-rc2 — 🍟 薯条卡片 (预览版)
🍟 hermes-fry-cards v0.1.0-rc2
灵感来自 hermes-lark-streaming,独立开发版本。
✨ 主要功能
- 流式卡片 — 打字机效果实时输出,按事件顺序动态渲染思考 / 工具 / 回答
- 工具调用合并 — 多个工具调用更新同一 pending 面板,保持卡片紧凑
- 推理展示 — 多轮推理复用面板,支持展开/收起
- 状态色框 — 顶部 header 根据状态自动着色(蓝/绿/红)
- 终态卡片 — token 用量、耗时、上下文窗口
- 图片解析 — markdown 图片自动上传为飞书 img_key
- 卡片拆分 — 接近 200 元素上限时自动分卡
- Cron 推送 — 定时任务结果以卡片推送
- 中英双语 — 根据飞书客户端语言自动切换
🔧 本次修复(基于 dsh 代码审查)
- 版本号统一为
0.1.0-rc2 - footer 显示完整模型名,不再截断供应商
- 修复
reasoning_textDuplicate ID 导致完成态卡片无法收尾(统一面板复用流式元素 ID) - 修复
CardKit batch update failed: not find elementID: tool_panel - 统一面板 header 空耗时不再产生尾部空格
- 简化
_completion_session冗余条件,明确 FAILED 收尾逻辑 status命令复用marker_status(),避免重复读文件- cron patcher 失败输出日志
feishu.pyUser-Agent 动态读取版本号- 阈值注释修正(余量 18 波动 + 2 footer)
🚀 安装
curl https://raw.githubusercontent.com/techysy/hermes-fry-cards/main/INSTALL.md手动安装
git clone https://github.com/techysy/hermes-fry-cards.git
cd hermes-fry-cards
HERMES_PYTHON=~/.hermes/hermes-agent/venv/bin/python3
$HERMES_PYTHON -m pip install -e .
$HERMES_PYTHON -m hermes_fry_cards verify
$HERMES_PYTHON -m hermes_fry_cards install然后重启 gateway(在外部终端执行):
hermes gateway restart卸载
HERMES_PYTHON=~/.hermes/hermes-agent/venv/bin/python3
$HERMES_PYTHON -m hermes_fry_cards uninstall
$HERMES_PYTHON -m pip uninstall hermes-fry-cardsMIT License · 安装文档 · English
v0.1.0-rc1 — 🍟 薯条卡片 (预览版)
🍟 hermes-fry-cards v0.1.0-rc1
灵感来自 hermes-lark-streaming,独立开发版本。
主要功能
- 流式卡片 — 打字机效果实时输出,按事件顺序动态渲染思考 / 工具 / 回答
- 工具调用合并 — 多个工具调用更新同一 pending 面板,保持卡片紧凑
- 推理展示 — 多轮推理复用面板,支持展开/收起
- 状态色框 — 顶部 header 根据状态自动着色(蓝/绿/红)
- 终态卡片 — token 用量、耗时、上下文窗口
- 图片解析 — markdown 图片自动上传为飞书 img_key
- 卡片拆分 — 接近 200 元素上限时自动分卡
- Cron 推送 — 定时任务结果以卡片推送
- 中英双语 — 根据飞书客户端语言自动切换
安装
curl https://raw.githubusercontent.com/techysy/hermes-fry-cards/main/INSTALL.md手动安装
git clone https://github.com/techysy/hermes-fry-cards.git
cd hermes-fry-cards
HERMES_PYTHON=~/.hermes/hermes-agent/venv/bin/python3
$HERMES_PYTHON -m pip install -e .
$HERMES_PYTHON -m hermes_fry_cards verify
$HERMES_PYTHON -m hermes_fry_cards install然后重启 gateway(在外部终端执行):
hermes gateway restart卸载
HERMES_PYTHON=~/.hermes/hermes-agent/venv/bin/python3
$HERMES_PYTHON -m hermes_fry_cards uninstall
$HERMES_PYTHON -m pip uninstall hermes-fry-cards后续计划
- 完善测试覆盖
- 支持更多自定义样式
- 优化性能
MIT License · 安装文档 · English