Feishu Card

📮 飞书富文本卡片,一键送达

向飞书用户/群组发送富文本交互卡片,支持 Markdown、代码块、表格、按钮及多角色风格,需依赖 feishu-common 完成认证。

收藏
19.5k
安装
4.2k
版本
1.4.10
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

本技能通过飞书开放 API 向指定用户(ou_...)或群组(oc_...)发送富交互卡片。提供三种调用模式:

1. 简单文本 (send.js --text):适用于无特殊字符的纯文本,命令行直接传参。
2. 文件模式 (send.js --text-file):将 Markdown 内容写入临时文件后发送,避免 Shell 转义问题(如反引号被吞),推荐用于代码块、表格等复杂格式

3. 安全封装 (send_safe.js):自动处理临时文件创建与清理,适合脚本集成。

4. 角色风格 (send_persona.js):内置 d-guide(红底警告)、green-tea(软萌粉调)、mad-dog(灰底错误日志)等预设风格,一键切换视觉主题。

关键参数

  • --target:接收方 ID(用户 Open ID 或群 Chat ID)
  • --title/--color:卡片标题与主题色(蓝/红/橙/绿/紫/灰)
  • --button-text/--button-url:底部行动按钮
  • --image-path:上传并嵌入本地图片

显著优点

  • 格式丰富:原生支持 Markdown、代码高亮、表格、图片,告别纯文本通知。
  • 防转义设计:文件模式与安全封装彻底规避 Shell 特殊字符陷阱。
  • 角色化模板:4 种预设 personas 快速匹配运维告警、系统日志、日常通知等场景。
  • 轻量集成:依赖单一的 feishu-common 模块,无额外运行时负担。

局限与风险

  • 依赖前置:必须先安装并配置 feishu-common 完成 tenant_access_token 获取,无法独立运行。
  • 无加密传输说明:文档未提及 HTTPS 强制校验或证书 pinning,默认依赖 Node.js 环境配置。
  • 临时文件残留:若 send_safe.js 进程异常退出,虽声称自动清理,但极端情况下可能遗留 /tmp 文件(建议审计)。
  • 权限盲区:未说明所需飞书机器人权限范围(如 im:chat:readonlyim:message:send),可能导致 403 报错。

适合人群

  • 运维/研发团队:需将 CI/CD 结果、告警日志以高可读性卡片推送至飞书群。
  • 自动化脚本开发者:构建 ChatOps 工作流,追求格式化输出而非原始 JSON。

常规风险

  • Token 泄露feishu-common 若将 token 以明文写入日志或临时文件,存在横向移动风险。
  • ID 混淆ou_oc_ 前缀易误用,导致消息发送至错误对象(隐私/合规风险)。
  • Markdown 注入:若 --text 内容包含用户可控输入且未转义,可能触发飞书客户端 XSS(需确认飞书卡片渲染沙箱强度)。

Feishu Card 内容

手动下载zip · 11.0 kB
handle_event.jstext/javascript
请选择文件