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 进程才能使插件生效。
典型用法¶
- 打开 DSH 设置,进入 Webhook Notifier 页面。
- 开启 Webhook 通知 开关。
- 配置请求参数:选择请求方式(GET/POST)、输入 Webhook URL、选择负载模式(预设字段或自定义文本)、添加自定义请求头。
- 勾选需要触发的场景(例如仅勾选“AI 回合完成”)。
- 在负载配置中填充数据,可使用占位符动态填充信息。
- 点击 测试发送 验证连接是否正常,确认无误后保存配置。
占位符¶
在预设字段或自定义文本中,支持使用以下占位符来动态填充信息:
{{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 / 幻方无官方从属关系。相关链接如下: