关于 novu
用于操作 Novu 通知基础设施的技能,支持邮件、短信、推送、聊天和应用内渠道。它将常见任务分派给子技能,涵盖发送通知、管理订阅者、集成收件箱和配置偏好。
主要功能
- 01触发单条或批量通知
- 02管理订阅者、主题和群组
- 03集成应用内通知收件箱
- 04配置通知偏好
- 05将任务分派给专用子技能
适用场景
- 01发送欢迎邮件或触发通知工作流
- 02为应用添加应用内通知收件箱
- 03让订阅者设置通知偏好
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ novuhq/ skills --skill novu安装后在 Claude Code 中输入/novu确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
.gitattributes.gitignoreLICENSEREADME.mdpackage.jsoninbox-integration/references/headless-inbox-examples.mdnextjs-inbox-examples.mdreact-inbox-examples.mdsecurity.mdmanage-preferences/references/preferences-ui-examples.mdsubscriber-preferences-examples.mdworkflow-preferences-examples.mdmanage-subscribers/references/credentials-examples.mdsubscriber-crud-examples.mdtopics-examples.mdtests/inbox-integration.test.mdmanage-preferences.test.mdmanage-subscribers.test.mdnovu-router.test.mdtrigger-notification.test.mdtrigger-notification/references/best-practices.mdbulk-trigger-examples.mdinstallation.mdsingle-trigger-examples.mdtopic-trigger-examples.md详细介绍
Novu
Novu 是一个通知基础设施平台,可通过电子邮件、短信、推送、聊天和应用内渠道发送通知。可以通过 Novu 仪表板 UI 创建工作流,也可以使用 @novu/framework 通过代码创建。
子技能
| 技能 | 适用场景…… |
|---|---|
| 触发通知 | 发送通知、触发工作流、单条或批量发送 |
| 管理订阅者 | 创建、更新、列出或删除订阅者;管理主题和组 |
| 集成收件箱 | 在 Web 应用和 React Native 应用中添加应用内通知收件箱、铃铛图标或通知信息流 |
| 管理偏好设置 | 设置订阅者通知偏好、工作流默认值或偏好设置 UI |
快速路由
- “发送欢迎邮件” →
trigger-notification/ - “创建订阅者组” →
manage-subscribers/ - “在我的应用中添加铃铛图标” →
inbox-integration/ - “允许用户选择不接收电子邮件” →
manage-preferences/
常见组合
- 完整通知系统:
trigger-notification/+manage-subscribers/ - 应用内通知:
trigger-notification/+inbox-integration/ - 完整技术栈:全部四项技能
SDK 概览
| 包 | 端 | 用途 |
|---|---|---|
@novu/api | 服务端 | 通过 REST 触发通知,并管理订阅者/主题/工作流 |
@novu/react | 客户端 | React 收件箱组件、通知、偏好设置、铃铛 |
@novu/nextjs | 客户端 | 针对 Next.js 优化的收件箱集成 |
@novu/react-native | 客户端 | 基于 React Native 钩子的收件箱集成 |
@novu/js | 客户端 | 面向非 React 应用的原生 JS 客户端 |
重要区别:
@novu/api用于触发工作流以发送通知,以及管理资源(订阅者、主题、上下文)@novu/react/@novu/js用于客户端收件箱集成和偏好设置
常见设置
npm i @novu/api
import { Novu } from "@novu/api";
const novu = new Novu({
secretKey: process.env.NOVU_SECRET_KEY,
});
await novu.trigger({
workflowId: "workflowId",
to: "subscriberId",
payload: {
"comment_id": "string",
"post": {
"text": "string",
},
},
})
资源
评论
支持 Markdown