🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

消息汇聚通知台 SJTUMalPan/notify-hub

DeepSeek Harness
SJTUMalPan37 天前有提交已提供中文文档扫描:无法判定

把散落各处的告警统一收口,待办超时反复提醒直到确认完成

30.7/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/28 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

自动兼容检查未通过:仓库根目录及浅层子目录均无 dsh 插件清单,无法用 dsh 插件安装命令安装。以下命令仍可尝试,但可能失败。
无法用 dsh 插件命令安装(仓库内无 dsh 插件清单)
git clone https://github.com/SJTUMalPan/notify-hub.git
按该仓库 README 的原生方式安装;若作者另行发布了 DSH 插件包,请以其文档为准

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么
dsh 原生插件 · market
装得上吗
实装验证未通过(unknown),装前请到仓库确认最近更新与 issue
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 37 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
⚠︎ 实装验证未通过(unknown · 2026/11/2) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装

仓库根目录及浅层子目录均无 dsh 插件清单,无法用 dsh 插件安装命令安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包notify-hub(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✗入口文件缺少入口声明

源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/11 22:21:32

安全扫描自动 · 静态分析源码
v2.7.0
⚪ 扫描:无法判定尚无人工评估
展开查看扫描说明与证据 ↓

已尝试扫描但取不到可分析的源码:仓库或包不存在、已删除,或为非 JS/TS 实现、未随包发布源码。无法判定,不代表安全。

  • · 包内无可扫 JS
  • · TS 源码(可能为非 JS 实现或未发布源码),无法判定
扫描于 2026/11/2(1 天前) · 范围 全包扫描(包内未声明入口) · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 统一收口告警
  • 待办超时反复提醒
  • 多渠道适配

消息汇聚与待办跟踪通知服务:多进程投递、分类处理、超时提醒、多渠道适配

README

由 DeepSeek 最新模型翻译生成
notify-hub 统一的消息汇聚、分类、待办跟踪与多渠道路由通知服务。 把散落在各处的脚本、CI、监控告警统一投递到一个 HTTP 接口,服务按规则给消息打上分类、标签与「是否需要确认」,把需要跟进的消息落成待办,并按渠道(webhook / email / feishu)路由投递;超时未完成的待办会被反复提醒,直到有人在 Web 页面点「完成」。 安装 需要 Python 3.10+。在仓库根目录创建虚拟环境并安装: python3 -m venv .venv .venv/bin/pip install --no-build-isolation -e ".[dev]" (--no-build-isolation 使用 venv 内已有的 setuptools/wheel,避免隔离构建挂起;常规环境也可用 .venv/bin/pip install -e ".[dev]"。) 配置 从示例复制出实际配置与规则文件: cp config.example.yaml config.yaml cp rules.example.yaml rules.yaml - 配置文件默认 ./config.yaml,也可用环境变量 NOTIFY_HUB_CONFIG 指向别处。
展开完整文档(README 剩余 1 节)
notify-hub

统一的消息汇聚、分类、待办跟踪与多渠道路由通知服务。

把散落在各处的脚本、CI、监控告警统一投递到一个 HTTP 接口,服务按规则给消息打上分类、标签与「是否需要确认」,把需要跟进的消息落成待办,并按渠道(webhook / email / feishu)路由投递;超时未完成的待办会被反复提醒,直到有人在 Web 页面点「完成」。

安装

需要 Python 3.10+。在仓库根目录创建虚拟环境并安装:

python3 -m venv .venv
.venv/bin/pip install --no-build-isolation -e ".[dev]"

(--no-build-isolation 使用 venv 内已有的 setuptools/wheel,避免隔离构建挂起;常规环境也可用 .venv/bin/pip install -e ".[dev]"。)

配置

从示例复制出实际配置与规则文件:

cp config.example.yaml config.yaml
cp rules.example.yaml rules.yaml

- 配置文件默认 ./config.yaml,也可用环境变量 NOTIFY_HUB_CONFIG 指向别处。
- channels[].credentials 里写的只是环境变量名,凭据本身放在运行环境里,例如 NOTIFY_WEBHOOK_URL、NOTIFY_SMTP_PASSWORD、NOTIFY_FEISHU_WEBHOOK_URL;变量为空则该渠道不可用,服务照常启动。
- 内置渠道类型为 webhook、email 与 feishu(飞书自定义机器人;启用加签时再声明 secret,不用加签时不要声明该键)。每个配置键的含义见 docs/configuration.md。

启动

.venv/bin/python -m notify_hub

服务默认只绑定回环地址 127.0.0.1:8000。健康检查:

curl -sS http://127.0.0.1:8000/healthz

投递一条消息

HTTP 示例(POST /api/v1/messages,成功返回 202 与 message_id):

curl -sS -X POST http://127.0.0.1:8000/api/v1/messages \
-H 'Content-Type: application/json' \
-d '{"source":"db-backup","title":"备份失败","body":"exit code 1","level":"error","need_ack":true}'

CLI 示例(默认连接 http://127.0.0.1:8000,可用 --endpoint 覆盖):

notify --source db-backup --title "备份失败" --body "exit code 1" --level error --need-ack --dedup-key backup-2024 --endpoint http://127.0.0.1:8000

CLI 的 --body-stdin 可从标准输入读正文;退出码约定为 0 成功、1 服务端拒绝、 2 用法错误、3 无法连接服务端。

完成流程

消息命中需要确认的规则后会生成待办。列表与详情在 Web 页面:

- /:跳转到待办列表。
- /todos:待办列表,支持 ?status=pending|done|all。
- /todos/{id}:待办详情(含消息与投递记录)。
- /todos/{id}/done:POST 标记完成(页面上的「完成」按钮)。

也可以直接用 HTTP 完成一条待办:

curl -sS -X POST http://127.0.0.1:8000/api/v1/todos/1/done

未在提醒间隔内完成的待办会按 reminders 配置重复提醒;消息历史可浏览 /messages 与
/messages/{id}。

DSH 插件(已独立成仓库)

配套的 DSH 宿主插件已拆成独立仓库: dsh-ask-timeout-notify。
模型用 ask_user_question 提问后,若超过阈值(默认 60 分钟)无人回答,就往本服务的 POST /api/v1/messages 投一条 need_ack 消息,落成待办并推送。它只是本服务的一个普通消息生产者,不改本服务任何代码、不需要额外规则。

插件市场里可直接装,或:
dsh plugin --profile web add github:SJTUMalPan/dsh-ask-timeout-notify

本仓库的 dsh-plugin/ 是一个 git submodule 指向那个仓库,方便本地开发时两边的路径关系不变(git clone --recursive 即可拿到)。

配置只需两个环境变量:DSH_NOTIFY_HUB_ENDPOINT(默认 http://127.0.0.1:8000)与 DSH_NOTIFY_HUB_TOKEN(本服务 server.auth_token 的值)。完整说明见 dsh-plugin/README.md。

文档索引

- 配置说明:每个配置键、环境变量与凭据引用方式、提醒参数关系。
- 分类规则编写指南:匹配语义、case_sensitive、 first-match-wins 与可直接加载的规则示例。
- 适配器开发指南:Notifier 契约、DeliveryResult 失败语义、能力声明、平台专属嵌套载荷(范例 notify_hub.notifiers.feishu)与完整的 dummy 适配器示例。
- 部署说明:systemd 单元、数据文件位置与回环地址安全边界。
- 代码走读:目录结构与逐文件职责、启动链、一条消息从接入到送达的完整数据流(每步标注确切的文件与函数)、四条跨模块不变量与建议的阅读顺序。
- 架构可视化:纯前端单文件,双击即可打开——数据流步进器、可过滤的模块地图、不变量与后台线程。
预览分享卡片长什么样 ↓SJTUMalPan/notify-hub
分享 · DeepSeek Harness Hub
SJTUMalPan/notify-hub

把散落各处的告警统一收口,待办超时反复提醒直到确认完成

这是你的仓库?认领条目

回到顶部