feishu-card

💬 飞书富文本消息一键触达

🥥50总安装量 14评分人数 18
100% 的用户推荐

由开源社区维护的飞书消息卡片工具,内置密钥扫描防护,支持Markdown代码块、人格化模板,让团队通知更生动安全。

A

基本安全,请在特定环境下使用

  • 来自社区或个人来源,建议先隔离验证
  • ✅ 代码安全规范,无 eval/exec 不可信代码执行,具备密钥扫描防泄漏机制
  • ✅ 依赖版本锁定,无动态代码加载,使用成熟库(commander/dotenv)
  • ⚠️ 使用 execSync 执行子进程(send_safe.js),虽参数已转义处理但存在潜在风险
  • ⚠️ 依赖外部 feishu-common 模块进行认证,需确保该依赖安全性
  • ⚠️ T3 社区来源,建议生产环境使用前先审查代码

使用说明

飞书卡片技能(Feishu Card Skill)是一个用于向飞书(Lark)平台发送富交互式消息卡片的命令行工具。该技能通过封装飞书开放平台的 API,提供了简单高效的接口,允许用户通过脚本或自动化流程向指定用户(ou_...)或群组(oc_...)发送包含 Markdown 格式、代码块、表格、彩色标题和操作按钮的丰富内容。

核心用法围绕三个主要脚本展开。send.js 是基础发送脚本,支持通过 --text 发送简单文本,或推荐通过 --text-file 从文件读取复杂 Markdown 内容,避免 Shell 转义问题。send_safe.js 是安全包装器,自动处理临时文件创建和清理,适合发送包含反引号等特殊字符的原始文本。send_persona.js 则提供人格化消息功能,内置多种风格模板(如红色警告风格的 "d-guide"、柔和风格的 "green-tea" 等),自动应用主题色彩和格式前缀。所有脚本均支持 --title--color--button-text/url 以及 --image-path 等参数,满足多样化的消息格式化需求。

该技能的显著优点在于其安全设计和易用性。首先,内置 scanForSecrets 密钥扫描功能,能在发送前检测消息中是否包含 API Key、GitHub Token、私钥等敏感信息,有效防止意外泄漏。其次,针对 Shell 命令注入风险,提供了完善的解决方案:通过强制使用 --text-file 处理复杂内容,以及 send_safe.js 的自动临时文件机制,彻底解决了特殊字符被 Shell 吞食或转义的问题。此外,依赖版本锁定(package-lock.json)、完善的输入验证(使用 commander 库)、以及详细的错误处理机制,都体现了良好的工程实践。

然而,该技能也存在一些潜在局限。作为 T3 级社区来源项目,其维护者(openclaw/clawdbot)的可信度不如企业级组织,建议在生产环境使用前进行代码审查。功能上,它依赖外部的 feishu-common 模块进行身份认证,形成单点依赖风险。技术实现上,send_safe.jshandle_event.js 使用了 execSync 执行子进程命令,尽管参数经过转义处理且非直接来自用户输入,但仍存在潜在的命令注入风险。此外,该技能主要面向命令行使用场景,对于非技术用户而言,配置环境变量和 Open ID 的获取可能存在一定的上手门槛。

该技能特别适合需要自动化消息通知的开发团队、运维人员以及运营团队。无论是 CI/CD 流水线构建通知、系统监控报警、还是定时日报周报推送,都能通过该技能实现格式化、可视化的消息呈现。对于需要发送代码审查结果、日志片段或数据报表的技术团队,其对 Markdown 和代码块的支持尤为实用。

使用过程中需关注以下风险:一是子进程执行风险,虽然当前实现已做防护,但建议定期检查 send_safe.js 的更新;二是依赖项安全风险,需确保 feishu-common 模块的安全性;三是网络与权限配置,错误的 API 凭据配置可能导致认证失败。建议仅在受信任的环境中使用该技能,并避免通过该工具发送真正的敏感密钥(尽管有扫描机制,人工二次确认仍是必要的安全措施)。

feishu-card 内容

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