用途:为 Next.js 应用添加通知铃铛与通知中心页面。铃铛为紧凑图标并带未读角标,通知中心含 Inbox 和 Alerts 两个标签页。
前置条件:需先完成认证(/iblai-vibe-auth),配置 MCP 服务器与技能(.mcp.json 中的 @iblai/mcp),并在 iblai.env 中填好 PLATFORM、DOMAIN、TOKEN;若 iblai.env 缺少 ARCHITECTURE=,需先运行 /iblai-vibe-start。若需要导航栏,先使用 /iblai-vibe-navbar。
主要能力:渲染 assets/notification-bell.tsx.j2 到 components/iblai/notification-bell.tsx,生成带未读角标的铃铛,从 localStorage 读取 userData 与 tenant,未认证时返回 null。使用 NotificationDropdown(导航栏铃铛)与 NotificationDisplay(通知中心页面)组件,后者可通过 isAdmin 显示 Alerts 标签页与发送按钮,isAdmin 由 localStorage 中的 tenants 数组推导。
使用方式:组件从 @iblai/iblai-js/web-containers 导入;Redux store 需包含 mentorReducer 与 mentorMiddleware;initializeDataLayer() 接收 5 个参数(data-layer v1.2+);@reduxjs/toolkit 通过 next.config.ts 中的 webpack 别名去重。可通过 MCP 的 get_component_info 查询组件属性与示例。
通知 REST API:基础地址为 ${dmUrl}/api/notification/v1/,认证头为 Authorization: Token <token>。SDK 的 RTK Query hooks 覆盖大部分端点,管理端点可回退到原始 HTTP。支持用户通知的列表、状态更新、批量更新、删除、计数、全部标记已读;模板管理(列表、详情、自定义、开关、重置、测试邮件);通知构建器(上下文、校验、预览、收件人、发送);FCM 推送令牌注册与注销;SMTP 测试;活动退订与启用/排除。
限制:不要为 ibl.ai SDK 组件添加自定义样式,也不要实现暗色模式(除非被要求)。模板使用 Django 语法,email_html_template 会被 bleach 清洗。部分特殊通知类型仅配置字段可写。验证需运行 /iblai-vibe-ops-test,执行 pnpm build && pnpm test 等命令。