fuhefei/dsh-sentinel
面向DeepSeek Harness的条件驱动唤醒:可靠的文件/命令/HTTP/进程/Webhook监视,可唤醒代理,并附带泊坞、侧边栏分支及全局仪表盘。
Project Overview项目介绍
dsh-sentinel is a native plugin built exclusively for DeepSeek Harness that enables condition-driven wakeup of dormant or closed DSH sessions. You install it easily via the official bundle channel with a single command: dsh plugin --profile web add dsh-sentinel, or you can pull it directly from the git repository by specifying a version tag. It supports six common sensor types out of the box: file changes, command output changes, HTTP endpoint changes, running process changes, port reachability changes, and incoming webhook events. It also comes with a built-in browser UI that adds a dock panel, a sidebar branch, and a global dashboard to view active watches.
After installation, you register a new watch using the built-in sentinel_watch tool, where you can set parameters like sensor kind, target, matching pattern, trigger interval, and maximum number of fires. The plugin runs a probe every 5 seconds by default, and all subscriptions are saved so they survive process restarts. If a condition triggers while the DSH process is offline, it will fire the first time the probe runs after the process restarts. It supports handoff of probing duties between multiple running DSH processes on the same $DSH_HOME, so you never lose track of your watches even if the original process exits unexpectedly.
dsh-sentinel is released under the permissive BSD 3-Clause open source license, and has no runtime dependencies on any @deepseek-ai/* packages. It can be installed manually by adding a configuration entry to your cordis.patch.yml if you prefer not to use the automatic command line install. The sidebar branch feature requires applying a bundled patch to your DSH source checkout and rebuilding the ui-workspace module, but core functionality works without this step. It optionally integrates with dsh-better-sidebar and dsh-notification to add extra UI and desktop notification features for a better experience. First-time users should verify the patch is applied correctly before starting DSH.
这是专为 DeepSeek Harness 开发的原生插件,提供基于条件触发的会话唤醒功能。用户注册监听后,即使 DSH 会话休眠甚至关闭,当指定条件满足时,sentinel 也会自动唤醒会话。它提供停靠面板、侧边栏分支和全局仪表盘,用于查看活跃监听、探测状态和触发历史,目前支持文件、命令、HTTP、进程、端口、Webhook 六种监听类型。
用户可以通过 sentinel_watch 工具注册自定义监听,设置触发间隔、匹配规则、最大触发次数、附加描述等参数。插件会每 5 秒进行一次心跳探测,监听内容在进程重启后依然保留,宕机期间满足条件的事件会在下次探测时触发。它支持同一 DSH 目录下多进程接管探测,适合需要监控资源变化、等待条件满足后自动执行任务的 DSH 用户使用。
本插件遵循 BSD 3-Clause 开源许可,无额外运行依赖,可通过官方包渠道一行命令安装,也可通过 git 安装或手动配置补丁安装。侧边栏分支功能需要对 DSH 源码应用补丁,还可可选集成 dsh-better-sidebar 和 dsh-notification 拓展功能,首次使用前需要确认补丁是否正确应用,避免功能异常。
请帮我安装这个 DSH 插件。安装前先完成【兼容性检查 + 安全性检查】,检查通过再动手。
插件:dsh-sentinel(fuhefei/dsh-sentinel)
仓库:https://github.com/fuhefei/dsh-sentinel
本站详情页:https://www.yhbd.top/plugins/fuhefei-dsh-sentinel/
本站登记:类型 plugin · 归类 原生 DSH 插件 · 许可证 BSD-3-Clause · ⭐ 17 · 最近提交 2026-09-29 · 主语言 TypeScript
按下面顺序执行,每步先把结论告诉我,再进入下一步:
【1 兼容性检查】
① 我这边:DSH 版本、Node 版本、操作系统、当前 profile(web / desktop)。
② 读它的 README、package.json、插件 manifest,列出它要求的 DSH 版本 / Node 版本 / 操作系统 / 外部依赖 / 需要另外先装的运行时。
③ 逐条比对,结论只写「满足 / 不满足 / 未知」三种;不满足的给出可行替代方案。
④ 检查是否和我已装的插件冲突:命令名重复、skill / tool 重名、端口占用、重复注册的 MCP server。
【2 安全性检查】
① 仓库可信度:和上面「本站登记」是否一致;star / fork 数、创建时间、最近提交,是否归档或长期停更。
② 安装脚本:逐行看 package.json 的 preinstall / install / postinstall,以及 install.sh、setup.ps1 之类脚本。出现 curl|bash、下载后直接执行、混淆代码、访问与插件功能无关的域名,立刻停下来告诉我,不要继续装。
③ 依赖:列出新增依赖,标出无人维护、或与知名包拼写近似的可疑包(typosquatting)。
④ 权限与副作用:它会读写哪些目录、访问哪些域名、需要哪些 DSH 权限(filesystem / network / shell / clipboard 等),以及怎么卸载和回滚。
⑤ 如果它要求 sudo / 管理员权限,或权限明显超出功能所需,先停下来问我。
【3 安装】
上面两步没有「不满足」和「高危项」时才执行;用官方推荐方式安装,不要自行提权。
【4 汇报】
用表格输出:检查项 / 结论 / 依据 / 是否需要我决策。拿不准的一律写「未知」并说明要我怎么确认——不要猜,也不要替我决定。
Send this message to DSH in your current session: it verifies compatibility and security first (answering met / not met / unknown item by item) and only installs once everything checks out — it will stop and ask you if it finds a high-risk item. The box scrolls; the copy is the full prompt. CLI install commands may not be accurate across systems, so DSH is the safer route.把上面这条消息直接发给当前会话里的 DSH:它会先核对兼容性与安全性(逐条给「满足 / 不满足 / 未知」),确认没问题再安装,有高危项会停下来问你。框内可滚动,复制到的是完整提示词;安装命令不一定准确,发给 DSH 更稳。
- 17 stars - an early-stage project星标 17,属于早期项目
DSH walks through these 9 checksDSH 会逐条核对这 9 项
Compatibility兼容性
- DSH, Node, OS and profile requirementsDSH 版本 / Node 版本 / 操作系统 / profile 是否满足要求
- External dependencies and runtimes (Electron / Python / Docker, ...)外部依赖与运行时(Electron / Python / Docker 等)是否齐备
- Conflicts with installed plugins: command names, skill / tool names, ports, duplicate MCP registration与已装插件是否冲突:命令名、skill / tool 重名、端口占用、重复 MCP 注册
Security安全性
- Repo matches the facts registered here; archived or abandoned?仓库是否与页面登记一致,是否归档或长期停更
- Safety of preinstall / install / postinstall and install.sh / setup.ps1preinstall / install / postinstall 与 install.sh、setup.ps1 是否安全
- curl|bash, download-then-execute, obfuscation, unrelated domains → stop immediatelycurl|bash、下载即执行、混淆代码、无关域名 → 立刻停止
- Typosquatting or unmaintained packages among the new dependencies新增依赖里有没有 typosquatting 或无人维护的包
- Requested permissions vs. what the feature actually needs申请了哪些权限、是否超出功能所需(filesystem / network / shell / clipboard)
- Any sudo / admin requirement, plus uninstall and rollback是否要求 sudo / 管理员权限,以及卸载与回滚方式
Anything uncertain must be marked unknown with a note on how to confirm it. This site's signal screen is a static snapshot, not a security audit.拿不准的必须标「未知」并说明要我怎么确认。本站的信号筛查是静态快照,不能替代安全审计。
Or use CLI install (for developers)或使用命令行安装(适合开发者)
CLI Install命令行安装
dsh plugin --profile web add dsh-sentinel
把 fuhefei/dsh-sentinel 加入你的 DSH 配置(web profile)即可启用。
READMEREADME
dsh-sentinel
English | 中文
Condition-driven wakeup for DeepSeek Harness: the agent registers a watch, goes to sleep — even closes the session — and the sentinel wakes it when the condition happens. Every subscription and every fire is a user-visible session event, and the browser dock shows what is on duty.

How it works
The node half owns one server-lifetime runtime that folds a plugin-owned sidecar log ($DSH_HOME/sentinel.jsonl) into live subscriptions, probes every sensor on a shared 5s heartbeat, and delivers wakeups through the official followup channel — resuming a dormant session's agent first when needed. Subscriptions therefore survive process restarts, and conditions that become true while the server is down late-fire on the next probe.
Watching is a resident-process concern: probing and fire delivery only run while a long-running dsh process (typically dsh web) is up. Headless one-shot runs load the plugin and can create, list and cancel watches, but nothing probes after the process exits — those watches become active once a resident process starts.
One duty owner per $DSH_HOME: a lease file (sentinel.lease) makes the first process own probing and delivery; a second dsh process on the same home stays passive (tools work, writes persist to the shared sidecar) and takes over within one lease TTL of the owner dying. The owner re-reads the sidecar every heartbeat, so watches created on a passive instance are adopted automatically. Delivery is at-least-once: a fire logged but not delivered before a crash is requeued on the next boot from its delivered watermark.
The browser half is a dock card above the composer (the conversation.input.dock family) listing the session's active watches — sensor, target, live probe state, fire budget, next-probe countdown — plus recent fire history when expanded. It polls the read-only state route and renders nothing when the session has no watches.
Two surfaces make the server-global watch set visible. A Sentinel entry in the sidebar's global panel list (sidebar.panellist, id sentinel) opens the watch table in the central column (main, the same id) — its glyph carries a state dot while any watch is active. The dashboard is a standalone table of every watch across every session: session (active/dormant), sensor, target, pattern, fire budget, last probe state, next probe.
Showing the opening section of the README — the full document lives in the repository以上为 README 开头摘要,完整文档在仓库内 · View the full README on GitHub →在 GitHub 查看完整 README →
whiteguo233/dsh-openbiliclaw
jingyi0605/Codingns4DSH
Angel2518975237/deepseek-harness-hello-kitty-suite
534119219/chicheng-push
117BS/dsh-perlica-ding
Ln1m/dsh-side-suite
vanhungbui-11/dsh-wallpaper-bridge