为开发者打造的开源通知基础设施
浏览文档 »
报告Bug
·
请求新功能
·
加入我们的Discord
·
路线图
·
X
·
通知目录
⭐️ 为什么选择Novu?
Novu提供了一个统一的API,使通过多个渠道发送通知变得简单,包括应用内、推送、电子邮件、短信和聊天。 使用Novu,您可以创建自定义工作流程并为每个渠道定义条件,确保以最有效的方式传递您的通知。
✨ 特性
- 🌈 所有消息提供商(应用内、电子邮件、短信、推送、聊天)的单一API
- 💅 完全托管的GitOps流程,从您的CI部署
- 🔥 使用Zod或JSON Schema定义工作流程和步骤验证
- 💌 集成React Email/Maizzle/MJML
- 🚀 配备CMS用于高级布局和设计管理
- 🛡 在单一仪表板中调试和分析多渠道消息
- 📦 带有实时更新的可嵌入通知中心
- 👨💻 社区驱动
🚀 开始使用
要开始使用,请在终端中输入以下命令。
npx novu@latest dev
📚 目录
代码形式的通知工作流程
有关API文档和参考,请访问我们的API参考。
import { workflow, CronExpression } from '@novu/framework';
import { z } from 'zod';
import { render } from '@react-email/render';
const commentWorkflow = workflow('comment-workflow', async (event) => {
const digest = await event.step.digest('digest-comments', (controls) => ({
cron: controls.schedule
}), { controlSchema: z.object({ schedule: z.nativeEnum(CronExpression) }) });
await event.step.email('digest-email', async (controls) => ({
subject: controls.subject,
body: render(<WeeklyDigestEmail { ...controls } events = { digest.events } />)
}), {
skip: () => !digest.events.length,
controlSchema: z.object({
subject: z.string().default('你好 {{subscriber.firstName}} - Acme评论'),
openAiModel: z.enum(['gpt-3.5-turbo', 'gpt-4o']).default('gpt-4o'),
aiPrompt: z.string().default('生成简洁的评论摘要'),
})
});
}, { payloadSchema: z.object({ name: z.string(), comment: z.string() }) });
await commentWorkflow.trigger({
payload: { name: '约翰', comment: '你有空给我打个电话吗?' },
to: 'jane@acme.com'
});
可嵌入的通知中心
使用Novu API和管理面板,您可以轻松地将实时通知中心添加到您的网络应用中,无需自己构建。您可以使用我们的React / Vue / Angular组件或iframe嵌入,以及Web组件。
提供商
Novu提供了一个单一的API,通过简单易用的界面管理多个渠道的提供商。
💌 电子邮件
- Sendgrid
- Netcore
- Mailgun
- SES
- Postmark
- 自定义SMTP
- Mailjet
- Mandrill
- SendinBlue
- MailerSend
- Infobip
- Resend
- SparkPost
- Outlook 365
📞 短信
- Twilio
- Plivo
- SNS
- Nexmo - Vonage
- Sms77
- Telnyx
- Termii
- Gupshup
- SMS Central
- Maqsam
- 46elks
- Clickatell
- Burst SMS
- Firetext
- Infobip
- Bandwidth
- RingCentral
📱 推送
👇 聊天
📱 应用内
其他(即将推出...)
- PagerDuty
📋 阅读我们的行为准则
在开始编码和协作之前,请仔细阅读我们的行为准则,以了解社区参与的标准(您必须遵守)。作为我们开源社区的一员,我们对自己和其他贡献者的沟通标准要求很高。作为本项目的参与者和贡献者,您同意遵守我们的行为准则。
💻 需要帮助?
我们非常乐意为您提供帮助。如果您在使用此项目时遇到任何错误或问题,请加入我们的Discord服务器并寻求帮助。我们欢迎讨论任何与项目相关的内容。
🔗 链接
🛡️ 许可证
Novu使用MIT许可证 - 详情请查看许可证文件。
💪 感谢所有贡献者
非常感谢您花时间帮助Novu成长。继续加油 🥂