dsh-webhook-notifier: Webhook 事件通知插件

DSH 生态强调插件化。如果在开发或使用 DeepSeek Harness 时,需要在 AI 回合完成、权限申请、提问、出错或开始运行等场景发生时获取外部通知,dsh-webhook-notifier 插件提供了一种基于 HTTP 的解决方案。

该插件由 masknull 维护。它允许用户配置 Webhook URL 和触发条件,从而在特定事件发生时发送 HTTP 请求(GET/POST)。

核心功能

  • 5 种触发场景:支持独立开关的触发条件包括 AI 回合完成、权限申请、提问、出错和开始运行。
  • HTTP 请求支持:支持 GET 和 POST 方法,请求体支持 JSON 和 Form 格式。
  • 负载模式:支持“预设字段”模式(使用模板)或“自定义文本”模式。
  • 固定字段:每次请求都会自动包含 type(事件类型)和 type_cn(中文类型)字段。
  • 自定义请求头:允许添加任意请求头键值对。
  • 测试与日志:提供内置的“测试发送”功能验证连接;支持发送日志,展开后可查看请求内容、响应和错误详情。
  • 配置持久化:配置保存在 $DSH_HOME/settings.yaml,重启后保持生效。

安装与启用

安装插件需要执行以下命令:

dsh plugin --profile web add github:masknull/dsh-webhook-notifier

安装后,需要重启 dsh web 进程才能使插件生效。

典型用法

  1. 打开 DSH 设置,进入 Webhook Notifier 页面。
  2. 开启 Webhook 通知 开关。
  3. 配置请求参数:选择请求方式(GET/POST)、输入 Webhook URL、选择负载模式(预设字段或自定义文本)、添加自定义请求头。
  4. 勾选需要触发的场景(例如仅勾选“AI 回合完成”)。
  5. 在负载配置中填充数据,可使用占位符动态填充信息。
  6. 点击 测试发送 验证连接是否正常,确认无误后保存配置。

占位符

在预设字段或自定义文本中,支持使用以下占位符来动态填充信息:

  • {{type}} / {{type_cn}}:消息类型(英文/中文)
  • {{sessionId}}:会话 ID
  • {{sessionName}}:会话标题
  • {{turn}}:回合数
  • {{time}}:当前时间(UTC+8)
  • {{trigger}}:触发场景
  • {{toolName}}:工具名称(权限申请场景)
  • {{reason}}:原因(权限申请场景)
  • {{error}}:错误信息(AI 出错场景)
  • {{question}}:问题文本(AI 提问场景)
  • {{status}}:状态(Agent 运行场景)
  • {{userMessage}}:最新用户消息
  • {{assistantMessage}}:最新 AI 回复
  • {{createdAt}}:会话创建时间

适用场景与注意事项

该插件适合需要将 DSH 事件同步到外部系统、监控 AI 运行状态或集成第三方服务的场景。例如,可与 Desktop Pet 项目配合,在桌面宠物上展示实时通知。

注意事项:
* 需要确保 DeepSeek DSH 版本 >= 0.1.5-rc.2。
* 配置文件保存在 $DSH_HOME/settings.yaml,如需完全删除配置,需手动清理该文件内容。
* 插件以当前 DSH 进程的权限运行,使用时请确保 Webhook URL 的安全性。

生态背景

DSH 生态采用“一切皆插件”的理念。本插件收录自社区目录,与 DeepSeek / 幻方无官方从属关系。相关链接如下:

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜