dsh-webhook
Manifest validdsh webhook 插件:HTTP webhook → 固定会话投递(异步队列),随 dsh web 启停
dsh-webhook — Webhook 插件
提供 HTTP webhook 入口 POST /webhook/<hookId>,把外部请求转成消息投递到 dsh 的固定会话,由 agent 处理。随 dsh web 启停,零 dsh 框架改动。
dsh 版本兼容性
要求 dsh ≥ 0.1.7-rc.1(已在 0.1.7-rc.1 实测通过)。
ctx.settings.register()已移除(2026-09-24):原webhooksettings namespace 并入插件Config,可热改字段标.volatile();inject去掉settings。- Typert strict codec 必须带
create()工厂(0.1.7 客户端校验):config / payload / result 三处 codec 均已补create()。
功能
- HTTP 入口:
POST /webhook/<hookId>,Bearer token 认证(常数时间比较,防时序攻击) - 异步队列:默认立即 202 返回,消息入队投递;同一 hook 串行处理(上一条未完成下一条排队),不同 hook 互不阻塞
- 同步模式:hook 配置
sync: true时,等待 agent 完成并随 HTTP 响应返回回复文本(200{ok, reply})——适合小爱音箱等"发一句等一句"的交互场景 - 固定会话:hookId 派生固定会话 id,上下文延续;支持 workspace / session / sessionMode(新/持久) / template 映射
- 典型场景:手机把银行短信 POST 进来 → 固定会话 agent 用记账工具自动记账 → 完成后可调 iMessage 网关的全局 message 工具通知
目录
dsh-webhook/
├── index.js # host 插件:webServer 路由 + Bearer 认证 + 配置 remote
├── client.js # 浏览器 bundle:Settings → Webhook 配置页(hooks 表)
├── lib/webhook-core.mjs # 队列 + 投递核心(固定会话 + preset mount + workspace 归属)
├── cordis.patch.yml # bundle patch(插入 host 插件行)
└── package.json
挂载:web profile(~/.dsh/profiles/web/)package.json → dependencies["dsh-webhook"] = "link:<project>/dsh-webhook",bundles 列表含 dsh-webhook。
配置
$DSH_HOME/settings.yaml 的 webhook: 段(可在配置页编辑):
webhook:
hooks:
sms-forward:
token: "<bearer-token>" # 必填;请求头 Authorization: Bearer <token>
workspace: "/Users/<you>/dsh/default" # 投递目标工作区
session: "" # 可选;默认用 hookId 派生固定会话
template: "请处理这条短信并记账:\n{{text}}" # 消息模板,{{text}} 为请求体
xiaoai:
token: "<token>"
workspace: "/Users/<you>/dsh/default"
sessionMode: "persistent" # "persistent" 固定会话 / "new" 一次性
sync: true # 同步模式:等待回复并随 HTTP 返回
template: "你是智能管家,简洁口语化回答:\n{{text}}"
调用方式:
curl -X POST https://<dsh-host>/webhook/sms-forward \
-H "Authorization: Bearer <token>" \
-d '您的账户入账 100.00 元'
开发要点
- 新插件项目必须建依赖软链(否则 import
@deepseek-ai/*报 ERR_MODULE_NOT_FOUND):mkdir -p node_modules && ln -sfn /usr/local/lib/node_modules/@deepseek-ai/dsh/node_modules/@deepseek-ai node_modules/@deepseek-ai - 改代码后重启 web 生效(web profile 的 HMR 已禁用)
Versions
| Latest version | Published | Size |
|---|---|---|
| 0.0.1 | — | — |
Comments
Loading…
Similar plugins
by Arcadia822
One-time ephemeral webhook plugin for DeepSeek Harness (dsh) sessions: mint a single-use callback URL, then wake the requesting agent session with the delivered payload.
★ 0
MIT
JavaScript
Sep 18, 2026
dsh plugin --profile web add dsh-tmp-hookby Clarklevis1995
以websocket为通信方式的dsh网关插件,支持在同一网域内移动端的接入,实现移动端的dsh app
★ 63
↓ 578/wk
MIT
JavaScript
Oct 10, 2026
dsh plugin --profile web add dsh-plugin-mobile-gatewayby masknull
DSH 事件通知插件:AI 回合完成、权限申请、提问、出错、开始运行等 5 种场景发生时,向 Webhook 发送自定义 HTTP 通知,支持 GET/POST、预设字段/自定义文本、type+type_cn、发送日志
★ 0
MIT
JavaScript
Sep 25, 2026
dsh plugin --profile web add dsh-webhook-notifierby studyzy
让DSH能够支持远程访问Web的插件,可指定WebToken进行认证
★ 4
↓ 105/wk
MIT
TypeScript
Aug 23, 2026
dsh plugin --profile web add @studyzy/dsh-web-remote-accessby helays
DSH bundle 插件:在 DeepSeek Harness Web 界面的「对话 / 轨迹」顶部新增「终端」Tab,内置 xterm.js + node-pty 交互式终端,编码完成后即时在终端执行指令调试。
★ 6
↓ 135/wk
MIT
TypeScript
Aug 15, 2026
dsh plugin --profile web add dsh-web-terminalby liceses
DSH 插件:把工作区里写好的 HTML 页展示在对话里,并让用户在页面上的表态快速回到 agent 手里。含四套预设样式。
★ 4
MIT
JavaScript
Oct 7, 2026
dsh plugin --profile web add dsh-showme-html