🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

浏览器桥接守护 XFY9326/dsh-bsk-daemon

DeepSeek Harness
XFY932616 天前有提交已提供中文文档扫描:含敏感能力

随宿主启停浏览器桥接进程,崩溃后自动重启

30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/19 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add XFY9326/dsh-bsk-daemon
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · browser
装得上吗
本站已在 dsh 0.2.1-rc.5 下真实安装成功
非静态推断
L5 · 运行时冒烟等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 16 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件
查看扫描证据(共 3 处,展示前 3 条)
  • 读取本地文件
    index.js:86
    const info = JSON.parse(readFileSync(join(home, 'daemon.json'), 'utf8'))
  • 执行外部命令来自配置/变量
    index.js:140
    child = spawn(bskPath, ['daemon', 'stop', '--quiet'], {
  • 执行外部命令来自配置/变量
    index.js:265
    const spawned = spawn(bskPath, args, {
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

DSH 插件包,把 BrowserSkill(bsk)桥接守护进程当作宿主子进程来监管:随 DSH 启动、随 DSH 停止,崩溃后自动重启。

README

由 DeepSeek 最新模型翻译生成
dsh-bsk-daemon 一个 DeepSeek Harness(DSH)bundle,让 BrowserSkill 的 bsk 桥接守护进程拥有与 DSH 相同的生命周期:随 DSH 启动、随 DSH 退出、崩溃后有限次自动重启,并且绝不会误碰别人启动的 daemon。 本项目是上游 Tencent/BrowserSkill 的社区配套项目 —— 见致谢。 支持 Windows / macOS / Linux,见平台支持。 English · 中文 Agent 说明 · Agent instructions 它解决什么问题 BrowserSkill 通过本地 bsk daemon 向 DSH 提供 bsk_ 浏览器自动化工具。部分 agent 宿主的命令沙箱会回收或禁止这个 daemon。Windows 上的具体表现: - 沙箱子进程无法从 Windows 作业对象(job object)中 breakaway; - 沙箱内无法写入 ~/.bsk; - 沙箱内无法打开 daemon 的 IPC 端点。 Linux 上对应的是 bubblewrap 一类沙箱会结束命令的子进程。官方给出的做法是:把 daemon 放在持久化的宿主执行环境里,沙箱内通过本地 IPC 连接——这正是“在 DSH 宿主进程内做 supervisor”所提供的能力。
展开完整文档(README 剩余 1 节)
dsh-bsk-daemon

一个 DeepSeek Harness(DSH)bundle,让 BrowserSkill 的 bsk 桥接守护进程拥有与 DSH 相同的生命周期:随 DSH 启动、随 DSH 退出、崩溃后有限次自动重启,并且绝不会误碰别人启动的 daemon。

本项目是上游 Tencent/BrowserSkill 的社区配套项目 —— 见致谢。

支持 Windows / macOS / Linux,见平台支持。

English · 中文 Agent 说明 · Agent instructions

它解决什么问题

BrowserSkill 通过本地 bsk daemon 向 DSH 提供 bsk_ 浏览器自动化工具。部分 agent 宿主的命令沙箱会回收或禁止这个 daemon。Windows 上的具体表现:

- 沙箱子进程无法从 Windows 作业对象(job object)中 breakaway;
- 沙箱内无法写入 ~/.bsk;
- 沙箱内无法打开 daemon 的 IPC 端点。

Linux 上对应的是 bubblewrap 一类沙箱会结束命令的子进程。官方给出的做法是:把 daemon 放在持久化的宿主执行环境里,沙箱内通过本地 IPC 连接——这正是“在 DSH 宿主进程内做 supervisor”所提供的能力。

本 bundle 把这份职责移进 DSH 本身:daemon 成为 DSH 的子进程,生命周期与 DSH 一致。

平台支持

| 平台 | 状态 | 说明 |
| Windows 10/11 x64 | 已端到端实测 | 在真实使用中验证了启动、停止、重启;DSH 异常退出时 job object 也会兜底结束它。 |
| macOS(Apple Silicon / Intel) | 支持,尚未在真机运行 | 同一套代码路径;IPC 是 Unix domain socket,bsk daemon stop 与信号处理跨平台。 |
| Linux x64 / ARM64 | 支持,尚未在真机运行 | 同 macOS;bubblewrap 沙箱场景与 Windows 最接近。 |
| Node.js 22+ | CI 矩阵 | 测试在 ubuntu-latest、macos-latest、windows-latest 上以 Node 22、24 运行。 |

测试矩阵已确认:三个操作系统上模块加载、配置校验、effect 注册顺序、可 await 的清理均正常。真实 bsk daemon 目前只在 Windows 上跑过;Unix 实机运行需要装有 CLI 与浏览器扩展的机器。

兼容性

| 组件 | 支持范围 | 已验证版本 |
| DeepSeek Harness | 支持 profile bundle 的 0.2.x | 0.2.1-rc.2 |
| Cordis 插件 API | 4.x(ctx.effect、标准 schema Config) | 4.0.5 |
| BrowserSkill bsk | 0.3.x | 0.3.3 |
| Node.js | >=22 | 22、24(CI)、26(本地) |

不支持 profile bundle 的旧版 DSH 无法加载本包;只有当你的 DSH 支持 plugin_manager install_bundle 时才建议使用本地路径安装。

安装

从 GitHub Packages 安装

包已发布到 GitHub Packages:@xfy9326/dsh-bsk-daemon。GitHub 即使对公开包也要求认证,因此先让 npm 拿到一个有 read:packages 权限的 token:

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

或交互式登录:

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

然后让 DSH Agent 安装该 bundle:

用 plugin_manager 的 install_bundle,从 https://npm.pkg.github.com 安装 @xfy9326/dsh-bsk-daemon。

工具会把依赖写入当前 profile、应用 bundle patch,并应返回 application: applied。也可以直接调用:

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

不要只用 pnpm add / dsh plugin add 安装:那样只加了依赖,不会启用 bundle 层。

本地路径安装

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

然后让 DSH Agent 用 plugin_manager 的 install_bundle 以该绝对路径安装。profile 会记录 link: 依赖,安装后不要移动该目录。

安装后

bsk status --json

应能看到 daemon 是 DSH 宿主进程的子进程。插件行在 DSH 设置 → 插件中显示为 bsk 守护进程托管 / bsk Daemon Supervisor。

通常不需要重启 DSH(bundle 通过 HMR 即时生效);若插件行未出现,重启 DSH。

配置

bundle 插入一行且默认不带 config:

| 字段 | 默认值 | 含义 |
| bskPath | bsk | PATH 中的可执行文件名,或绝对路径 |
| bskHome | $BSK_HOME 或 ~/.bsk | daemon.json、IPC 端点与日志所在目录 |
| args | daemon start --foreground --daemon-idle 30d | 传给 bskPath 的参数 |

需要自定义时,在安装前编辑本 bundle 的 cordis.patch.yml:

- 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]

行配置是整体替换。若你希望 DSH 完全不启动 daemon(例如自己维护共享 daemon),请禁用该行。

跨平台行为

插件只使用 Node.js 内建模块(child_process、net、fs、os、path),代码里不需要平台分支:

- 探测:读取 daemon.json 并连接 sock_path。Windows 上是命名管道(\\.\pipe\bsk-daemon-),macOS/Linux 上是 Unix domain socket(~/.bsk/run/daemon.sock);net.connect() 两者都支持。
- 停止:三个平台都用同一条 CLI(bsk daemon stop),且仅当 daemon.json 的 pid 等于本插件的子进程时才走该路径,之后才回退到信号。
- 生命周期差异:Windows 的 job object 在 DSH 被强杀时也会结束 daemon;macOS/Linux 没有该机制,强杀 DSH 会留下孤儿 daemon,下次 DSH 启动会探测到并复用,而不是再起一个。正常退出时两者都由插件停止。
- windowsHide 是 Windows 专用 spawn 选项,在其它平台被忽略。

验证

daemon 是否在服务?
bsk status --json

它是不是 DSH 宿主进程的子进程?(Windows) Get-CimInstance Win32_Process -Filter "Name='bsk.exe'" | Select-Object ProcessId, ParentProcessId, CommandLine

macOS/Linux 等价命令 pgrep -fl 'bsk daemon start --foreground'

daemon 自身日志 Get-Content "$env:USERPROFILE\.bsk\daemon.log." -Tail 20 # Windows tail -n 20 ~/.bsk/daemon.log. # macOS/Linux

预期:只有一个 daemon 进程,父进程为 DSH;回环端口(默认 52800)处于监听;daemon.json 中含 sock_path 与 host_managed: true。

端到端验证生命周期:

绕开插件停掉 daemon,插件应在几秒内把它拉回来 bsk daemon stop --json Start-Sleep 5 bsk status --json

工作原理

DSH 宿主进程 └── 插件行:bsk-daemon(@xfy9326/dsh-bsk-daemon) └── bsk daemon start --foreground --daemon-idle 30d ├── ~/.bsk/daemon.json (pid、sock_path、ws_port) ├── IPC 端点 (命名管道 / Unix socket) └── ws://127.0.0.1:52800 (浏览器扩展)

启动时先读 daemon.json 并尝试连接 sock_path,确认没有可用 daemon 才启动,因此不会与其他宿主或手动启动的 daemon 重复。关闭时只有在 daemon.json 记录的 pid 等于自己的子进程时才调用 CLI 停止,避免误杀外来 daemon。

常见问题

| 现象 | 排查 |
| bsk_ 工具仍提示 daemon 不可用 | bsk-daemon 行是否启用?执行 bsk status --json;在 DSH 日志里搜 [bsk-daemon] |
| daemon 立刻退出 | 手动执行配置的命令(bsk daemon start --foreground)看报错;检查 bskPath |
| 安装 npm.pkg.github.com 返回 401/403 | npm token 缺失或没有 read:packages,重新做认证步骤 |
| 出现两个 daemon | 插件只管理自己的子进程,外来 daemon 会被刻意保留;确认是陈旧的再自行停止 |
| bsk status 正常但 bsk_ 工具失败 | 重启 DSH,让 browser-skill 插件重新连接托管 daemon |
| 反复重启后彻底静默 | 连续失败 5 次后放弃;修好根因后重启 DSH(或重启用该 bundle) |

卸载

让 DSH Agent 执行 plugin_manager 的 remove_bundle(target @xfy9326/dsh-bsk-daemon);只想停用可改为禁用 bundle。

安全说明

- 只启动你配置的 bsk 可执行文件,不下载、不执行安装脚本。
- 不新增任何网络监听;回环端口与 IPC 端点属于 BrowserSkill 自身。
- 不读取、不保存任何凭据;配置 schema 仅三个普通字段。

开发

node --test # 零依赖测试(node:test)
npm pack --dry-run # 查看实际发布文件

CI:.github/workflows/test.yml 在 Ubuntu、macOS、Windows 上以 Node 22 与 24 运行测试。推送 v 标签会触发 .github/workflows/publish.yml:先测试,再发布到 GitHub Packages,并用打包的 tarball 创建 GitHub Release。

致谢

本 bundle 是 Tencent/BrowserSkill 的社区配套项目。上游提供 bsk CLI、daemon、浏览器扩展与 DSH 的 bsk_ 工具;感谢 BrowserSkill 的作者与贡献者,尤其是其沙箱 agent 文档,直接启发了本 supervisor 的设计。

本项目不修改、不重分发 BrowserSkill,请按其自身许可证安装使用;本仓库与腾讯无隶属关系,也未获官方背书。

许可证

MIT
预览分享卡片长什么样 ↓XFY9326/dsh-bsk-daemon
分享 · DeepSeek Harness Hub
XFY9326/dsh-bsk-daemon

随宿主启停浏览器桥接进程,崩溃后自动重启

这是你的仓库?认领条目

回到顶部