Skip to main content

Hermes aiduPOP: Aidu-customized Feishu/Lark CardKit v2.0 real-time streaming cards for Hermes Agent

Project description

💎 aiduPOP — Hermes爱嘟流式卡片

水晶理念——够简洁,够透明,够美

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

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

Version PyPI License: MIT Docker Image 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+

安装

# 方式一:从 PyPI 安装
pip install aidupop

# 方式二:克隆仓库
git clone https://github.com/monkey2jack/aiduPOP.git

# 复制到 Hermes 插件目录
cp -r aiduPOP ~/.hermes/plugins/hermes-lark-streaming

# 重启 Hermes Agent
hermes restart

配置

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

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


🔧 定制说明

相对上游 v1.6.0 的完整定制清单详见 CUSTOMIZATIONS.md,版本演进见 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

Project details


Download files

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

Source Distribution

aidupop-1.1.0.tar.gz (186.9 kB view details)

Uploaded Source

Built Distribution

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

aidupop-1.1.0-py3-none-any.whl (116.2 kB view details)

Uploaded Python 3

File details

Details for the file aidupop-1.1.0.tar.gz.

File metadata

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

File hashes

Hashes for aidupop-1.1.0.tar.gz
Algorithm Hash digest
SHA256 cb3f7334eefe2ca2a6e3c4c50b8f757e5c910263064aee48029c7c2f7088067c
MD5 424fa760840f00475c51473b38d5c7ad
BLAKE2b-256 934bc3695dc2fa90360fb990b3ce0b939a2f62cb467c4f726b526f6b72650944

See more details on using hashes here.

File details

Details for the file aidupop-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: aidupop-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 116.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.13

File hashes

Hashes for aidupop-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 722d8508687f0ab569dd3cf2d63423e0e3a28050d1faed2ca6dbe45112a93206
MD5 cfe55db53d1031cfd4c8cc83ce4e09d2
BLAKE2b-256 80d0674a6d0a5652d99c45266880bd62310f544cf3fed2b489e5b6514dcaee2d

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 Pingdom Monitoring Sentry Error logging StatusPage Status page