Skip to content

feat: Add Feishu interactive card delivery - #23

Open
yaosiyuuu6 wants to merge 2 commits into
zarazhangrui:mainfrom
yaosiyuuu6:codex/feishu-interactive-cards
Open

feat: Add Feishu interactive card delivery#23
yaosiyuuu6 wants to merge 2 commits into
zarazhangrui:mainfrom
yaosiyuuu6:codex/feishu-interactive-cards

Conversation

@yaosiyuuu6

Copy link
Copy Markdown

What changed

This PR adds a Feishu-friendly reading path for Follow Builders digests by supporting interactive card delivery in addition to the existing plain text / Telegram / email flow.

Why

For Feishu users, plain text and markdown-post delivery collapse spacing too aggressively. That makes digest sections and builder blocks harder to scan on mobile. Interactive cards preserve hierarchy better:

  • section headings stay bold
  • item titles stay bold
  • item blocks are separated with dividers instead of relying on empty lines
  • the layout survives Feishu rendering more reliably

Implementation

  • add scripts/format-chat-digest.js to normalize digest text into a stable chat-friendly structure
  • add scripts/render-feishu-card.js to convert the final digest text into Feishu interactive card JSON
  • update the skill delivery workflow so stdout delivery can optionally route through direct Feishu card sending when the config includes:
    • delivery.channel = "feishu"
    • delivery.target = "<open_id or chat_id>"
    • delivery.format = "interactive_card"
  • document the new config shape and Feishu card behavior in both English and Chinese READMEs
  • extend config/config-schema.json with the Feishu card delivery fields
  • update the digest prompt and sample output so the generated digest structure is easier to transform into a card reliably

User impact

OpenClaw + Feishu users can choose a card-based morning digest that is easier to read on mobile. Existing users who stay on plain text / Telegram / email are unaffected.

Validation

  • validated the formatter and card renderer locally with:
    • node scripts/format-chat-digest.js --file examples/sample-digest.md | node scripts/render-feishu-card.js
  • sent live Feishu test messages to compare:
    • markdown post
    • exact post JSON
    • interactive card
  • confirmed the interactive card presentation was the preferred result for the target reading workflow

@yaosiyuuu6 yaosiyuuu6 changed the title [codex] Support Feishu interactive card digests Support Feishu interactive card digests Apr 3, 2026
@yaosiyuuu6 yaosiyuuu6 changed the title Support Feishu interactive card digests feat: Support Feishu interactive card digests Apr 3, 2026
@yaosiyuuu6
yaosiyuuu6 marked this pull request as ready for review April 3, 2026 09:00
@yaosiyuuu6
yaosiyuuu6 marked this pull request as draft April 3, 2026 09:08
@yaosiyuuu6
yaosiyuuu6 force-pushed the codex/feishu-interactive-cards branch from dcbcf77 to 9d37f87 Compare April 3, 2026 09:15
@yaosiyuuu6 yaosiyuuu6 changed the title feat: Support Feishu interactive card digests [feat] Add Feishu interactive card delivery Apr 3, 2026
@yaosiyuuu6 yaosiyuuu6 changed the title [feat] Add Feishu interactive card delivery feat: Add Feishu interactive card delivery Apr 3, 2026
@yaosiyuuu6
yaosiyuuu6 marked this pull request as ready for review April 3, 2026 09:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant