用令牌鉴权的本机 HTTP 接口驱动运行中的会话
30.7/100
综合分
1
GitHub 星标
68
npm 周下载
—/5
用户评分
数据截至 2026/10/2 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add @ignotuss/dsh-desktop-bridgenpm 源 · @ignotuss/dsh-desktop-bridge 的发布者账号已校验与本仓库一致
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · desktop
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 32 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包@ignotuss/dsh-desktop-bridge @ 0.1.0
✓Node 引擎要求 >=20 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/12 17:40:14
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件发起外部网络请求
查看扫描证据(共 8 处,展示前 8 条)
- 读取本地文件src/index.js:101
try { info = await stat(cwd) } catch { return 'cwd must be an existing directory' } - 写入本地文件src/index.js:286
? (entry) => { void appendFile(logPath, `${JSON.stringify(entry)}\n`, { mode: 0o600 }).catch(() => {}) } - 写入本地文件src/index.js:304
await mkdir(dirname(descriptorPath), { recursive: true }) - 写入本地文件src/index.js:306
await writeFile(temporary, descriptor, { mode: 0o600 }) - 写入本地文件src/index.js:307
await rename(temporary, descriptorPath) - 删除本地文件src/index.js:315
await unlink(descriptorPath).catch(() => {}) - 读取本地文件bin/bridge-client.mjs:30
connection = JSON.parse(await readFile(descriptorPath, 'utf8')) - 发起网络请求bin/bridge-client.mjs:73
const response = await fetch(url, init)
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 令牌鉴权本地接口
- 驱动运行中会话
用 token 鉴权的本地回环 HTTP API,让任何本地程序都能驱动运行中的 DSH(DeepSeek Harness)主机的会话
README
由 DeepSeek 最新模型翻译生成dsh-desktop-bridge
给正在运行的 DSH(DeepSeek Harness)宿主——桌面端应用,或一个 dsh web 服务——开一个带令牌鉴权的本机 HTTP 接口。任何本地程序都能调用它:脚本、构建工具、别家的 agent、curl。
安全敏感。 插件启用期间,任何能读到 <DSH_HOME>/desktop-bridge.json 的进程,都能列出你的会话、读取它们的事件、往里面发消息、并创建新会话——每个新会话都会启动一个以你的权限运行的 agent。安装前请读 SECURITY.md,不用的时候把插件停掉。
English documentation: README.md。
为什么需要它
DSH 把会话控制留在宿主进程里,也就是 sessionController 服务。这是有意为之,也正因为如此,常规入口都够不着一个已经在跑的应用:
- dsh --profile desktop … 直接拒绝——error: profile "desktop" is managed exclusively by the Electron application。桌面端独占的 profile,CLI 既不能启动也不能往里装插件。
- SDK / ACP 那些入口会启动它们自己的宿主,因此够不着你正在看的那个实例里的会话。
展开完整文档(README 剩余 1 节)
dsh-desktop-bridge
给正在运行的 DSH(DeepSeek Harness)宿主——桌面端应用,或一个 dsh web 服务——开一个带令牌鉴权的本机 HTTP 接口。任何本地程序都能调用它:脚本、构建工具、别家的 agent、curl。
安全敏感。 插件启用期间,任何能读到 <DSH_HOME>/desktop-bridge.json 的进程,都能列出你的会话、读取它们的事件、往里面发消息、并创建新会话——每个新会话都会启动一个以你的权限运行的 agent。安装前请读 SECURITY.md,不用的时候把插件停掉。
English documentation: README.md。
为什么需要它
DSH 把会话控制留在宿主进程里,也就是 sessionController 服务。这是有意为之,也正因为如此,常规入口都够不着一个已经在跑的应用:
- dsh --profile desktop … 直接拒绝——error: profile "desktop" is managed exclusively by the Electron application。桌面端独占的 profile,CLI 既不能启动也不能往里装插件。
- SDK / ACP 那些入口会启动它们自己的宿主,因此够不着你正在看的那个实例里的会话。
本插件跑在那个宿主内部,把它的 sessionController 以 bearer 令牌保护的形式重新发布到一个回环端口上。除此之外什么都没有改变:不启动第二个 profile,桥接自身不写会话文件,也不对外网开放。
与其他同名/同类包的区别
| 包 | 机制 | 谁能用它驱动 DSH |
| 本插件 | 回环 HTTP + bearer 令牌 | 任何本地进程、任何语言、curl |
| dsh-session-bridge | 注册在 DSH 内部的 agent 工具 | 只有 DSH 自己的 agent,且要在它的对话里 |
| dsh-agent-bridge | 通过配方拉起别的 agent CLI | 别的 agent CLI,不是任意程序 |
| dsh-desktop-bridge(npm 上另一位作者的包) | 只读的 fetch 路由 | 只读,不能创建与发送 |
npm 上的 dsh-desktop-bridge 已被一个不相关的只读包占用,所以本包以 scope 形式发布。
环境要求
- DSH 的 profile 组合里包含 @deepseek-ai/dsh-web-app(桌面端和 dsh web 都满足)。
该 bundle 挂载 @deepseek-ai/dsh-api-session-controller,它提供本插件注入的 sessionController 服务。
- 随包的命令行客户端需要 Node.js ≥ 20。插件本体用宿主的运行时,且零依赖。
安装
让 agent 帮你装
如果你的会话用的是 cordis 预设,agent 手里有插件管理工具,整件事它自己能办完——直接说:
安装插件 @ignotuss/dsh-desktop-bridge
standard 和 ptc 预设把那个工具关掉了;在这两个预设下 agent 没有任何安装手段,只能退回到下面的命令。想在桌面端用"对话即安装",先在 设置 → Agent 预设 里换成 cordis。
CLI 管理的 profile(web、tui、headless)
dsh plugin --profile web add @ignotuss/dsh-desktop-bridge
本包是 bundle:它自带的 cordis.patch.yml 会挂载插件,所以装上即启用。重启该 profile(或在开启了 HMR 的场合交给它),然后在 设置 → 插件 里确认状态为已启用。
DSH 桌面端
桌面端独占自己的 profile,CLI 按设计拒绝它。请在侧栏 插件 → 添加插件 里填入包名(或本地检出目录),并选择 立即启用。以后改完源码要生效,把该插件的开关关掉再打开即可——在线的 profile 会就地重组合,不需要重启整个应用。
使用
装上包之后还会得到一个 dsh-desktop-bridge 命令:
dsh-desktop-bridge list
dsh-desktop-bridge create ~/projects/demo "发版排查" dsh-desktop-bridge events session-1f0e…-… 50 dsh-desktop-bridge send session-1f0e…-… "请总结一下失败的测试。"
每个请求都要带上 <DSH_HOME>/desktop-bridge.json 里的 bearer 令牌。该文件由插件在挂载时写入、卸载时删除:
{
"version": 1,
"address": "127.0.0.1",
"port": 63339,
"token": "…64 位十六进制…", "pid": 30820, "startedAt": "2026-10-02T02:31:07.114Z" }
端口和令牌每次挂载都会重新随机,所以重载之后要重新读文件,不要缓存。
| 方法 | 路径 | 请求体 / 查询 | 结果 |
| GET | /v1/sessions | — | 200 {items: […]},宿主的会话列表(含实时投影) |
| POST | /v1/sessions | {cwd, title?} | 201 返回新建会话;cwd/title 不合法为 400;被配置禁用或超出白名单为 403 |
| GET | /v1/sessions/{id}/events | ?limit=1..100(默认 30) | 200 {sessionId, events: […]},事件日志的尾部 |
| POST | /v1/sessions/{id}/messages | {text}(1–4096 字节) | 200 {accepted, requestId};文本作为一条用户回合追加 |
curl 示例:
curl -s -H "Authorization: Bearer $TOKEN" "http://127.0.0.1:$PORT/v1/sessions"
curl -s -H "Authorization: Bearer $TOKEN" -H 'content-type: application/json' \
-d '{"cwd":"/home/me/projects/demo","title":"发版排查"}' \
"http://127.0.0.1:$PORT/v1/sessions"
带浏览器 Origin 头的请求一律拒绝,且 Host 必须写明回环地址与端口——因此网页即使通过 DNS 重绑定也够不着这个桥。
配置
插件会读取补丁行里可选的 config,每个键都可省略,省略时即为下面这种宽松默认值:
- id: desktop-bridge
config:
allowCreate: false # 默认 true;false 直接拒绝 POST /v1/sessions auditLog: true # 默认 true;每个请求一行 JSON cwdAllowlist: # 默认 [],不限制
- 'C:\work'
- allowCreate —— 设为 false 后,列表、读取、发消息照常可用,但不能再启动新的 agent。
- auditLog —— 每个请求向 <DSH_HOME>/desktop-bridge.log 追加一行 JSON:时间、方法、路径、路由、状态码、耗时,以及目标目录或会话 id。不记录令牌,也不记录消息正文。
- cwdAllowlist —— 非空时,新会话只能建在这些目录之内(含子目录)。
POST /v1/sessions 传入的路径必须是已存在的目录;桥接不会替你创建。
兼容性
已在 DSH 0.2.0-rc.2(desktop profile,Windows)上验证。插件只是五个 sessionController 方法之上的薄层——list、inspect、prompt、create、 rename——不依赖其他内部 API。若某个 DSH 版本改了方法名,相应路由会返回 500 DSH request failed,真实错误写进审计日志,应用其他部分不受影响。
注入不到服务时,插件会在启动日志里报 sessionController is unavailable,而不是挂载一个半死不活的桥。
开发
node --test # 23 个测试:路由、策略、审计、descriptor 生命周期
测试占用临时回环端口并使用桩 controller,不需要跑着 DSH。
许可证
MIT,见 LICENSE。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
ignotuss/dsh-desktop-bridge
用令牌鉴权的本机 HTTP 接口驱动运行中的会话
相关插件 · 桌面端
Codex 任务面板chuspeeism/dashi-taskboard
现代化可灵活嵌入的任务面板,支持 Codex、DeepSeek Harness
★ 3,409已汉化DSH
71.7
多智能体自进化开发平台Prism-Shadow/penguin-harness
统一、稳定的 Agent 自进化框架全自动优化:任意模型 · 任意算法 · 任意 Benchmark
★ 3,111已汉化DSH
71.1
桌面宠物PC2005-cloud/dsh-pet
DSH 桌面宠物:一行命令装好即用的透明动画小桌宠,支持多开、大小位置随心配置;还内置 DIY 素材链,能用 AI…
★ 5,341已汉化DSH
71
多端 Agent 工作台GCWing/OpenBitFun
OpenBitFun 是一个高度可定制的开源 Agent 工作台,让任务按你的方式持续推进。
★ 3,449已汉化DSH
70.8
DSH Desktopanywhere-labs/dsh-desktop
为 DeepSeek Harness DSH 插件生态打造的现代化桌面端解决方案。万物皆「插件」,桌面本身也是「插件」。
★ 34,532已汉化DSH
70.7
桌面宠物伴侣OpenPetsHQ/openpets
桌面伴侣平台,带宠物、插件,还能选配本地智能体集成。
★ 1,353已汉化DSH
70.2