DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Herdr Site — DeepSeek Harness 插件(DSH Plugin)
← Plugins
H

dsh-herdr-site

Herdr Site

适用于 Herdr(终端工作区管理器)的 DeepSeek Harness 自定义集成:通过 `pane report-agent` 报告代理生命周期状态,使 Herdr 将 dsh/cc-tui 窗格作为一等代理进行跟踪。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:WuJiaoJue/dsh-herdr-site#d6a7db48f60724577e2eac5f0b0677e3600522bb
README兼容性版本

兼容性与来源证明

Herdr Site 以 dsh-herdr-site 发布,当前版本为 0.1.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
any
发布来源
github
Registry 更新时间
2026/9/1

版本

0.1.0stable
2026/9/1

相关插件

正在加载相关插件…

最新版
0.1.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
any
许可证
MIT
发布源
github
GitHub
★ 0
周下载
0
最近提交
2026/9/16
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录

相关插件

继续浏览 integrations-communication 分类下经过校验的插件。

Im@xmanrui/dsh-im将十一种 IM 渠道和一个公网 AI Office 接入本地 DeepSeek Harness。Pocketdsh-pocket把 DeepSeek Harness 装进你的口袋:一个包、一个设置页,手机扫码即同步访问电脑上的 DSH(局域网 + 公网,实时同屏)。DSCODE@toddzheng024/dscode-bundle完整的 DeepSeek 编码代理,支持持久化 shell、Ultra 协作和自动权限审查。Acp App@deepseek-ai/dsh-acp-appdsh ACP 配置文件包:基于 dsh-base 的仅限自动化的 JSON-RPC stdio 和进程生命周期管理

README

dsh-herdr-site

Reports dsh/cc-tui agent state to Herdr.

English | 简体中文

v0.1.0 · MIT · DSH profile plugin


What it does

Herdr is a terminal workspace manager for AI coding agents. It only recognizes agents found by its built-in detectors (opencode, claude, codex, ...); dsh/cc-tui is not on that list, so a dsh pane shows up in Herdr as a plain terminal process — no state, no panel jump, no --wait support.

This plugin reports the dsh agent's state to Herdr over the official custom-integration protocol (pane report-agent / pane release-agent):

  • working while a turn is running
  • idle when no driver is active
  • blocked when the model is parked on an ask_user_question, waiting for input

dsh itself only reports running/idle, so the blocked state is the main reason to use this plugin: the moment the model waits on you shows up in Herdr instead of looking like it's busy. It is derived from the session event stream (ask_user_question tool/call / tool/result), keyed by callId, so replayed or out-of-order events stay consistent.

With state reported this way, Herdr's panel jump and --wait also work for dsh panes. An optional blockMessage can be attached to the blocked report to show why the agent is waiting.

Demo

Lifecycle recording (captured with asciinema): the pane shows working while a turn runs, flips to blocked when the model stops on an ask_user_question, and recovers once the answer is given.

lifecycle recording

State mapping

dsh signalHerdr state
agent/status = running (turn in progress)working
agent/status = idle (no active driver)idle
ask_user_question pending (model waits for input)blocked

How it reports

State reports go through Herdr's custom integration protocol:

"$HERDR_BIN_PATH" pane report-agent "$HERDR_PANE_ID" \
  --source custom:dsh-herdr-site --agent cc-tui --state <working|idle|blocked> \
  [--message …] [--seq N]

pane release-agent is called when the fiber is disposed, so no stale entries remain. Reports carry a monotonic sequence number and repeated states are deduplicated. Outside a Herdr pane the plugin is a no-op: nothing is spawned, nothing is read.

Compatibility

  • Herdr: uses the official custom-integration protocol (Integrate your own agent), tested against herdrdev/herdr v0.8.0. Any version that implements pane report-agent / pane release-agent works.
  • DSH: works with both the cc-tui and dsh-tui profiles — the plugin only hooks the session event bus and is independent of the surface.

Known edges:

  1. The dsh-tui profile does not ship the ask_user_question tool, so the blocked state never fires there (working/idle reporting is unaffected).
  2. The agent label reported to Herdr is fixed at cc-tui.

Install

Prerequisites: a working dsh installation with the dsh-cc-tui/dsh-base profile. The plugin declares the profile's packages (@deepseek-ai/cordis at ^4, dsh-session, dsh-agent) as peer dependencies, supplied by the host profile.

dsh plugin --profile cc-tui add github:WuJiaoJue/dsh-herdr-site

The package ships a dsh.bundle.patch manifest, so the installer adds it to the profile's bundle layer stack automatically, and cordis.patch.yml inserts the plugin into every surface the profile boots. Repeat for any other profile you use (e.g. dsh-tui).

Verify:

dsh --profile cc-tui --dump-config | grep -A2 herdr-site

Installing from a local checkout also works: dsh plugin --profile cc-tui add /path/to/dsh-herdr-site

Configuration

Optional blockMessage, sent with the blocked report:

# in the profile's cordis.patch.yml, or a --patch overlay
- id: herdr-site
  config:
    blockMessage: '模型等待你的回答'

Build & test

npm install            # dev: @types/node
npm run build          # emits lib/
npm test               # behavioral assertions against a stub herdr CLI
npx tsc --noEmit       # type check

Git installs need no build step: lib/ is committed. pnpm blocks prepare scripts by default, so relying on an install-time build would break installs out of the box.

test/smoke.mjs runs the compiled plugin through the full lifecycle on a real cordis context — working/blocked/idle transitions, dedup, seq ordering, unrelated tool results, release-on-dispose — asserting every emitted CLI invocation against a stub herdr binary.

Local development notes

Developing against a live profile with a plain file: dependency has two gotchas (both encountered in practice):

  1. A file: dep copies content at install time — re-run pnpm install in the profile after every rebuild, or the profile keeps running the stale copy.

  2. With the dependency installed as a bundle layer and a manual insert row, bare-name activation was silently skipped; pointing the insert row's name: at the absolute lib/index.js path is the reliable dev-only wiring:

    - insert:
        - id: herdr-site
          name: '/absolute/path/to/dsh-herdr-site/lib/index.js'
          config: {}
    

    If you take this route, also remove the package from the profile's dsh.profile.bundles list so the two inserts don't conflict.

Neither applies to the standard dsh plugin add flow described under Install, which resolves the bundled patch's bare package name correctly.

Limitations

  • Herdr's automatic process detection still won't recognize a dsh process as an agent on its own (that requires a Herdr-bundled detector update). This plugin reports state through the custom-integration path, which gives Herdr correct working/idle/blocked, panel jump, and wait without a detector.
  • The optional --agent-session-id reference is not wired, so Herdr's pane/agent APIs don't expose the linked dsh session id. Automatic session restore would additionally require Herdr to know how to launch dsh, which is out of scope here. State reporting works regardless.

License

MIT