Skip to main content

💎 aiduPOP — Hermes爱嘟流式卡片

水晶与蓝宝石理念——够简洁,够透明,够美

不只是卡片 — 是对话本身。

简洁不是少放东西,而是每一个元素都有存在的理由;
透明不是打印日志,而是让你看清 AI 每一步在想什么;
美不是装饰,而是信息该在的位置,刚好在那里。

Version PyPI aidupop PyPI hermes-lark-streaming Docker GHCR License: MIT Python 3.10+ Built on hermes-lark-streaming Aidu

中文 | 📖 English


aiduPOP 是什么?

aiduPOP(爱嘟流式卡片 / 蓝宝石)是 Hermes Agent 的飞书流式卡片插件 —— 让 AI 的回答和思考过程在飞书里实时、清晰、优雅地呈现。

基于 Aowen-Nowor 的 hermes-lark-streaming v1.6.0 构建,aiduPOP 在其之上做了一套完整的水晶化改造

层级 做什么 核心特性
即时 第一个 token 就见卡片 无「正在输入」提示,无「回复:」狗皮膏药
🎨 水晶 每个元素都有理由 Answer 在上、Panel 在下,footer 默认清空
🚦 状态 一眼看清结果 绿色完成 / 红色中止 / 黄色报错,颜色编码
🔍 透明 看清 AI 每一步 可展开面板:思考轮次、工具调用、时间戳
🃏 交互 卡片里直接回答 原生 Cardsuit 2.0 clarify 选项卡 + 回调
🛡️ 韧性 失败不掉回纯文本 Phase 2 原子回滚补救、卡片重建自动重试

Crystal — 爱嘟宝石系列的第一颗 💎


架构

┌──────────────────────────────────────────────────┐
│      💎 aiduPOP — Hermes爱嘟流式卡片             │
│         Feishu Cardsuit 2.0 Streaming            │
├──────────────────────────────────────────────────┤
│  cardkit/     → 卡片渲染引擎(元素、模板)        │
│  controller/  → 线性控制器 + card_id 追踪         │
│  patching/    → 爱嘟定制(模型显示、Phase 2)     │
│  state/       → 流式状态机                        │
│  flush/       → 节流刷新与批量更新                │
│  feishu/      → 飞书 API 客户端                   │
├──────────────────────────────────────────────────┤
│  Hermes Agent 插件钩子(platform_registry)       │
│  aiduMEM 持久记忆(消除上下文焦虑)               │
└──────────────────────────────────────────────────┘

🖼️ 效果展示

1. 即时响应

即时响应

没有「正在输入...」提示,没有「回复:...」狗皮膏药。 流式卡片即时出现,从第一个 token 开始实时渲染。没有飞书的 UI 噪音,只有纯粹的对话。


2. 完成状态 — 绿色面板

完成状态

Answer 在上,Panel 在下。 绿色边框的面板一目了然:模型名称、思考轮次、工具调用、耗时。简洁、美观、信息明确。由 aiduMEM 持久记忆加持,消除上下文焦虑。面板支持完全自定义。


3. 中止/报错状态 — 红色面板

中止状态

颜色编码状态。 当生成被中止或出错时,面板边框自动变色 — 红色=中止黄色=报错。一眼就知道状态,无需阅读小字。


4. 展开面板 — 完整追踪

展开面板

点击展开。 查看完整的推理追踪 — 每一轮思考、每一次工具调用,附带时间戳。透明是设计原则。没有隐藏的魔法,没有多余的 footer。只在你需要时,提供你需要的信息。


5. Clarify — 交互式选项卡(Cardkit 2.0)

Clarify 选项

原生飞书 Cardkit 2.0 集成。 当 AI 需要澄清时,直接在对话中呈现交互式选项卡。从下拉菜单选择或输入答案 — 无需切换上下文。


6. Clarify — 回调与继续

Clarify 回调

无缝回调。 选择完成后,Agent 收到回调并继续工作。Clarify 卡片更新显示你的选择和确认徽章。简洁、快速、原生。


🚀 快速开始

前置要求

  • Hermes Agent 已安装
  • 飞书(Lark)机器人已配置
  • Python 3.10+

安装

方式一 · pip(两个包名等价,装的是同一份代码):

pip install aidupop                 # 爱嘟家族品牌名
pip install hermes-lark-streaming   # 上游规范名

两者都提供同一个可导入包 hermes_lark_streaming,版本号同步发布。

方式二 · 作为 Hermes 目录插件:

git clone https://github.com/monkey2jack/aiduPOP.git
cp -r aiduPOP ~/.hermes/plugins/hermes-lark-streaming
hermes gateway restart

方式三 · Docker(GHCR):

docker pull ghcr.io/monkey2jack/aidupop:latest

配置

插件使用与上游 hermes-lark-streaming 相同的配置。爱嘟定制部分详见 docs/CUSTOMIZATIONS.md

版本号唯一来源是 plugin.yamlversion 字段,setup.py / __init__.py 动态读取,不会出现多处版本不一致。


🔧 定制说明

相对上游 v1.6.0 的完整定制清单详见 docs/CUSTOMIZATIONS.md,版本演进见 docs/CHANGELOG.md

核心特性

  • 🎨 水晶设计 — 简洁美观,没有多余元素
  • ⚡ 即时响应 — 没有「正在输入」提示,卡片即时出现
  • 🚦 颜色编码面板 — 绿色(完成)、红色(中止)、黄色(报错)
  • 🔍 透明追踪 — 可展开面板,显示完整推理和工具调用
  • 🤔 aiduMEM 集成 — 持久记忆消除上下文焦虑
  • 🃏 Cardsuit 2.0 — 原生飞书交互式 clarify 卡片
  • 🛡️ Phase 2 保护 — API 失败时自动回滚补救
  • 📊 模型显示 — 稳定的模型名称显示,不会闪烁

📦 项目结构

aiduPOP/
├── cardkit/           # 卡片渲染引擎
├── controller/        # 线性控制器 & card_id 追踪
├── patching/          # 爱嘟定制(模型显示、Phase 2)
├── state/             # 流式状态机
├── flush/             # 节流刷新
├── feishu/            # 飞书 API 客户端
├── config/            # 配置解析
├── assets/            # 截图 & 静态资源
├── tests/             # 测试套件
├── plugin.yaml        # 插件配置(版本唯一来源)
└── ...

🤝 贡献

欢迎贡献!请查看 CONTRIBUTING.md 了解贡献指南。


📄 许可证

本项目基于 MIT 许可证 — 详见 LICENSE


🙏 致谢


用 💕 制作 by aidu

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hermes_lark_streaming-2.0.2.tar.gz (247.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hermes_lark_streaming-2.0.2-py3-none-any.whl (122.9 kB view details)

Uploaded Python 3

File details

Details for the file hermes_lark_streaming-2.0.2.tar.gz.

File metadata

  • Download URL: hermes_lark_streaming-2.0.2.tar.gz
  • Upload date:
  • Size: 247.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.13

File hashes

Hashes for hermes_lark_streaming-2.0.2.tar.gz
Algorithm Hash digest
SHA256 92c9d151e5d6c3658e8fda65baa2e8e29706c6071d363ebc59b740bdad685fe4
MD5 d7d7c49ddf4c867658a6277918c2ddb4
BLAKE2b-256 58b73f29c876226103055eea81dc18c39e69eaf2787e7ef4fd3ac88b403f8cc5

See more details on using hashes here.

File details

Details for the file hermes_lark_streaming-2.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for hermes_lark_streaming-2.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 c858ea884c7ee92eb6b00cd734660b001c72de15fa22cf72b83f51e1ac4e261b
MD5 ccb14293b78b97df15ff6554af2db14c
BLAKE2b-256 80269b14e521286cf3d169dbd2ba91c1e7d2fa491dedc01e32b3970dc740af31

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page