deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
PROJECT README
DSH 多渠道通知插件:为 DeepSeek Harness 增加 send_notification 模型工具、运行状态/阻塞事件自动通知,以及「通知 / Notifications」设置页。
支持的渠道:
dsh plugin --profile web add @czf1995/dsh-notifier
或手动:
/opt/dsh/profiles/web/node_modules/@czf1995/dsh-notifier;package.json 增加依赖 @czf1995/dsh-notifier,并把它加入 dsh.profile.bundles。cordis.patch.yml 提供 bundle patch 行(id: notifier → 包名 @czf1995/dsh-notifier)。
页面在后台(失焦或隐藏标签页)时,通过浏览器系统通知提醒你:
由 Host 进程直接投递,不依赖浏览器页面:
goal/change → complete)自动推送(默认关闭,见下方开关)。send_notification:参数 title(标题)、content(正文),向所有已启用渠道发送。
DSH Web 设置 → 「通知」页。
| 开关 | 默认 | 说明 |
|---|---|---|
| 启用通知 | 开 | 总开关 |
| 浏览器本地通知 | 关 | 页面在后台时弹系统通知 |
| 运行结束时通知 | 开 | 运行结束提醒(仅浏览器通知有效) |
| 提问时通知 | 开 | 需要回答时提醒 |
| 审批请求时通知 | 开 | 需要批准时提醒 |
| 声音 | 开 | 通知是否发声 |
/dsh-notifier/test 与 /api/dsh-notifier/deliver 路由仅接受本机回环同源请求(与 DSH /api 相同的信任判定)。除了模型工具,外部脚本、cron 或同 Host 的其它插件可以直接向本机投递端点 POST 一条 JSON(loopback-only,无需鉴权头;与 DSH /api 同一信任边界):
curl --request POST http://127.0.0.1:3080/api/dsh-notifier/deliver \
--header 'Content-Type: application/json' \
--data '{
"channel": "smtp",
"title": "构建完成",
"content": "pipeline 已结束。",
"to": "ops@example.com"
}'
channel:notifyx | webhook | wechatbot | email | smtp | dingtalk | feishuto:可选,仅 SMTP 生效(临时收件人覆盖默认收件人)。200:{ "ok": true, "value": { "channel", "sent": true } }502(或 400/403/405 参数错误):{ "ok": false, "error": { "code", "message", "details": { "channel", "message" } } }错误码固定一套:loopback-only / method-not-allowed / bad-request / unknown-channel / not-configured / invalid-config / http-error / api-error / request-failed / delivery-failed。每个渠道的网络请求都有 10s 超时上限,单个渠道失败不会阻塞其它渠道。
/api/dsh-notifier/deliver(设置页/工具/HTTP 共用同一投递核心)、渠道请求统一 10s 超时(AbortSignal.timeout)、固定投递错误码与 {ok,value|error} 响应形状。MIT
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。