DeepSeek Harness Plugin Hub

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

探索

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

社区

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

相关链接

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

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

Bsk Daemon — DeepSeek Harness 插件(DSH Plugin)
← Plugins
B

@xfy9326/dsh-bsk-daemon

Bsk Daemon

作为主机子进程监管 BrowserSkill (bsk) 桥接守护进程的 DSH bundle:由 DSH 启动、由 DSH 停止,并对崩溃重启次数进行限制。支持 Windows、macOS 和 Linux。

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

npx -y @deepseek-ai/dsh plugin --profile web add github:XFY9326/dsh-bsk-daemon#cad89cc09f9ea5576d3910874abd7b1e58fa25bc
README兼容性版本

兼容性与来源证明

Bsk Daemon 以 @xfy9326/dsh-bsk-daemon 发布,当前版本为 1.0.2。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

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

版本

1.0.2stable
2026/10/18

相关插件

正在加载相关插件…

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

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

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

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

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

相关插件

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

Acp App@deepseek-ai/dsh-acp-appdsh ACP 配置文件包:基于 dsh-base 的仅限自动化的 JSON-RPC stdio 和进程生命周期管理Experimental Plugin Market Bundle@deepseek-ai/dsh-experimental-plugin-market-bundle实验性自定义插件市场:用于浏览和安装来自插件市场索引的捆绑包的“发现”选项卡Remote Web Ui@linxin666/dsh-remote-web-ui通过扫码配对访问 dsh Web GUI,共享一个官方界面:设置按钮旁的二维码可将手机和 PC 配对到同一个 Web GUI(手机采用竖屏触控适配层,PC 使用完整桌面界面),通过一次性令牌和 rWorkbuddy Connectdsh-workbuddy-connect将 WorkBuddy 桌面 App 中包含的模型自动接入 DeepSeek Harness,无需配置。

README

dsh-bsk-daemon

A DeepSeek Harness (DSH) bundle that gives the BrowserSkill bsk bridge daemon the same lifecycle as DSH: it starts with DSH, is stopped when DSH exits, is restarted after a crash (bounded), and is never confused with a daemon somebody else started.

This is a community companion to the upstream Tencent/BrowserSkill project — see Acknowledgements.

Runs on Windows, macOS and Linux — see Platform support.

中文说明 · Agent instructions · 中文 Agent 说明


Why this exists

BrowserSkill exposes browser automation to DSH through bsk_* tools backed by a local bsk daemon. Some agent hosts run shell commands in a sandbox that reaps or forbids the daemon. The concrete Windows case:

  • a sandboxed child cannot break away from the Windows job object,
  • it cannot write ~/.bsk,
  • it cannot open the daemon's IPC endpoint.

Linux agents hit the equivalent problem with bubblewrap-style sandboxes that kill command children. The documented workaround is to keep the daemon in a persistent host context and use local IPC from the sandbox — which is exactly what a supervisor in the DSH host process provides.

This bundle moves that responsibility into DSH itself: the daemon becomes a DSH child with a DSH lifetime.

Platform support

PlatformStatusNotes
Windows 10/11 x64Verified end to endDaemon started, stopped, restarted through the plugin in real use; job object also reaps it if DSH dies.
macOS (Apple Silicon / Intel)Supported, not yet run on real hardwareSame code path; IPC is a Unix domain socket, bsk daemon stop and signal handling are cross-platform.
Linux x64 / ARM64Supported, not yet run on real hardwareSame as macOS; the bubblewrap sandbox case is the closest analogue to Windows.
Node.js 22+CI matrixThe test suite runs on ubuntu-latest, macos-latest, windows-latest for Node 22 and 24.

Confirmed by the test matrix: module load, config validation, effect registration order and awaitable disposal on all three operating systems. A real bsk daemon is only exercised on Windows so far; a Unix run needs a machine with the CLI and the browser extension.

Compatibility

ComponentSupportedTested with
DeepSeek Harness0.2.x profiles with bundle support0.2.1-rc.2
Cordis plugin API4.x (ctx.effect, standard-schema Config)4.0.5
BrowserSkill bsk0.3.x0.3.3
Node.js>=2222, 24 (CI), 26 (local)

Older DSH releases that do not support profile bundles cannot load this package; use the local checkout install only if your DSH supports plugin_manager install_bundle.

Installation

From GitHub Packages

The package is published to GitHub Packages as @xfy9326/dsh-bsk-daemon. GitHub requires authentication even to read public packages, so first make a token with read:packages available to npm:

npm config set @xfy9326:registry https://npm.pkg.github.com
npm config set //npm.pkg.github.com/:_authToken $env:GITHUB_TOKEN

or interactively:

npm login --scope=@XFY9326 --registry=https://npm.pkg.github.com

Then ask your DSH agent to install the bundle:

Install @xfy9326/dsh-bsk-daemon from https://npm.pkg.github.com with plugin_manager install_bundle.

The tool records the dependency in the active profile, applies the bundle patch, and should report application: applied. You can also run it directly:

{
  "action": "install_bundle",
  "target": "@xfy9326/dsh-bsk-daemon",
  "registry": "https://npm.pkg.github.com"
}

Do not install it with plain pnpm add / dsh plugin add alone: those only add the dependency, they do not enable the bundle layer.

From a local checkout

git clone https://github.com/XFY9326/dsh-bsk-daemon.git C:\Tools\dsh-bsk-daemon

Then ask your DSH agent to install the bundle at that absolute path with plugin_manager install_bundle. The profile gets a link: dependency, so the checkout must not be moved afterwards.

After install

bsk status --json

The daemon should be reported as a child of the DSH host process. The plugin row appears in DSH Settings → Plugins as bsk Daemon Supervisor / bsk 守护进程托管.

A DSH restart is normally not required (the bundle is applied through HMR), but restart if the row does not appear.

Configuration

The bundle inserts one row with no config; the defaults are:

KeyDefaultMeaning
bskPathbskExecutable name on PATH, or an absolute path
bskHome$BSK_HOME or ~/.bskWhere daemon.json, the IPC endpoint and logs live
argsdaemon start --foreground --daemon-idle 30dArguments passed to bskPath

To override, edit this bundle's cordis.patch.yml before installing:

- insert:
    - id: bsk-daemon
      name: '@xfy9326/dsh-bsk-daemon'
      config:
        bskPath: 'C:\Tools\bsk\bsk.exe'
        bskHome: 'C:\Users\me\.bsk'
        args: [daemon, start, --foreground, --daemon-idle, 30d]

Row config is replaced wholesale. If the daemon should never be started by DSH (for example you run a shared daemon yourself), disable the row instead.

Cross-platform behaviour

The plugin only uses Node.js built-ins (child_process, net, fs, os, path), so no platform branching is needed in the code:

  • Probing reads daemon.json and connects to sock_path. On Windows that is a named pipe (\\.\pipe\bsk-daemon-*); on macOS/Linux it is a Unix domain socket (~/.bsk/run/daemon.sock). net.connect() handles both.
  • Stopping uses the same CLI on every platform (bsk daemon stop), only when daemon.json's pid is this plugin's own child, then falls back to a signal.
  • Lifecycle difference: Windows job objects also reap the daemon if DSH is killed hard. On macOS/Linux there is no such mechanism, so a hard-killed DSH leaves the daemon running; the next DSH start probes it and reuses it instead of starting a second one. A normal DSH exit stops it through the plugin either way.
  • windowsHide is a Windows-only spawn option; it is ignored elsewhere.

Verification

# Is the daemon up and serving?
bsk status --json

# Is it a child of the DSH host process? (Windows)
Get-CimInstance Win32_Process -Filter "Name='bsk.exe'" | Select-Object ProcessId, ParentProcessId, CommandLine

# The same on macOS/Linux
pgrep -fl 'bsk daemon start --foreground'

# Daemon log, written by bsk itself
Get-Content "$env:USERPROFILE\.bsk\daemon.log.*" -Tail 20   # Windows
tail -n 20 ~/.bsk/daemon.log.*                            # macOS/Linux

Expected: one daemon process whose parent is the DSH process, a listening loopback port (default 52800), and daemon.json containing sock_path plus host_managed: true.

To exercise the lifecycle end to end:

# restart it behind the plugin's back; the plugin should bring it back within a few seconds
bsk daemon stop --json
Start-Sleep 5
bsk status --json

How it works

DSH host process
└── plugin row: bsk-daemon (@xfy9326/dsh-bsk-daemon)
    └── bsk daemon start --foreground --daemon-idle 30d
        ├── ~/.bsk/daemon.json      (pid, sock_path, ws_port)
        ├── IPC endpoint            (named pipe / Unix socket)
        └── ws://127.0.0.1:52800    (browser extension)

Startup probes daemon.json and connects to sock_path before spawning anything, so a daemon started by another host or by hand is reused instead of duplicated. Shutdown uses the CLI stop only when the recorded pid is this plugin's own child, so a foreign daemon is never signalled.

Troubleshooting

SymptomWhat to check
bsk_* tools still report no daemonIs the bsk-daemon row enabled? Run bsk status --json; inspect the DSH log for [bsk-daemon] lines
Daemon exits immediatelyRun the configured command manually (bsk daemon start --foreground) to see the error; check bskPath
Install fails with 401/403 from npm.pkg.github.comYour npm token is missing or lacks read:packages; redo the auth step
Two daemons appearOnly the plugin's own child is managed. A foreign daemon is deliberately left alone; stop it yourself if it is stale
bsk status works but bsk_* tools failRestart DSH so the browser-skill plugin reconnects to the managed daemon
Restart loop, then silenceThe plugin gives up after 5 consecutive failures; fix the underlying error and restart DSH (or toggle the bundle)

Uninstall

Ask your DSH agent to remove the bundle (plugin_manager remove_bundle, target @xfy9326/dsh-bsk-daemon), or disable it to stop the daemon while keeping the files.

Security notes

  • The bundle only spawns the bsk binary you configure; no downloads, no install scripts.
  • It opens no new network listeners; the daemon's loopback port and IPC endpoint belong to BrowserSkill.
  • No credentials are read or stored. The config schema is limited to three plain fields.

Development

node --test     # zero-dependency test suite (node:test)
npm pack --dry-run    # inspect the published file set

CI: .github/workflows/test.yml runs the suite on Ubuntu, macOS and Windows for Node 22 and 24. Pushing a v* tag runs .github/workflows/publish.yml, which tests, publishes to GitHub Packages and creates a GitHub Release with the packed tarball.

Acknowledgements

This bundle is a community add-on built on top of Tencent/BrowserSkill, the upstream project that provides the bsk CLI, daemon, browser extension and the DSH bsk_* tools. Thanks to its authors and contributors for the daemon design and documentation — in particular the sandboxed-agent guide that shaped this supervisor.

BrowserSkill is not modified or redistributed here; install and use it under its own license. This repository is not affiliated with or endorsed by Tencent.

License

MIT