把网页服务收进原生窗口,会话完成即推送系统通知
30.1/100
综合分
1
GitHub 星标
31
npm 周下载
—/5
用户评分
数据截至 2026/9/18 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-plusnpm 源 · dsh-plus 的发布者账号已校验与本仓库一致
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · desktop
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 52 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-plus @ 0.1.1
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/7 14:41:19
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 31 处,展示前 22 条)
- 读取本地文件lib/index.js:61
try { return JSON.parse(readFileSync(MODLENS_CONFIG, 'utf8')); } catch { return {}; } - 写入本地文件lib/index.js:82
mkdirSync(dirname(MODLENS_CONFIG), { recursive: true }); - 写入本地文件lib/index.js:83
writeFileSync(MODLENS_CONFIG, JSON.stringify(next, null, 2)); - 读取本地文件lib/index.js:90
const parsed = yaml.load(readFileSync(profilePatchPath(), 'utf8')); - 读取本地文件lib/index.js:107
const parsed = yaml.load(readFileSync(path, 'utf8')); - 写入本地文件lib/index.js:113
mkdirSync(dirname(path), { recursive: true }); - 写入本地文件lib/index.js:114
writeFileSync(path, yaml.dump(entries, { lineWidth: -1 })); - 发起网络请求lib/index.js:129
const res = await fetch(url, { - 读取本地文件lib/index.js:156
const pkg = JSON.parse(readFileSync(pkgPath, 'utf8')); - 读取本地文件lib/index.js:161
if (!existsSync(p)) continue; - 读取本地文件lib/index.js:163
try { m = JSON.parse(readFileSync(p, 'utf8')); } catch { continue; } - 写入本地文件lib/index.js:169
writeFileSync(pkgPath, JSON.stringify(pkg, null, 2) + '\n'); - 执行外部命令来自配置/变量lib/index.js:175
const child = spawn(pnpm, ['add', spec], { - 发起网络请求lib/index.js:227
const res = await fetch(s.baseURL + '/models', { signal: AbortSignal.timeout(3000) }); - 写入本地文件lib/index.js:249
writeFileSync(settingsPath(), yaml.dump(doc, { lineWidth: -1 })); - 执行外部命令固定命令lib/index.js:360
const child = spawn('cmd.exe', args, { detached: true, stdio: 'ignore', windowsHide: true }); - 发起网络请求lib/client.js:74
fetch('/api/dsh-plus/modlens').then(function (r) { return r.json(); }).then(function (d) { - 发起网络请求lib/client.js:89
fetch('/api/dsh-plus/modlens', { - 发起网络请求lib/client.js:135
fetch('/api/dsh-plus/mneme').then(function (r) { return r.json(); }).then(function (d) { - 发起网络请求lib/client.js:143
fetch('/api/dsh-plus/mneme', { - 发起网络请求lib/client.js:184
fetch('/api/dsh-plus/plugins/installed').then(function (r) { return r.json(); }).then(function (d) { setInstalled(d.items || []); }).catch(function () - 发起网络请求lib/client.js:190
fetch('/api/dsh-plus/plugins?q=' + encodeURIComponent(query.trim()) + '&limit=15')
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 网页服务收进原生窗口
- 会话完成推送系统通知
- 多应用容器
DSH+:给 DeepSeek Harness web 套原生桌面窗口的多应用容器(electron,macOS/Windows)
最近更新
在 GitHub 查看全部 →v0.1.82026-09-06
DSH+ 0.1.8 — 给 DeepSeek Harness 套原生桌面窗口的多应用容器。
· macOS 只发一份:DSH+-0.1.8-arm64.dmg(Apple Development 签名,未公证)
· Windows:DSH+ Setup 0.1.8.exe(未签名)
· 不绑定 DSH 版本;本地/远程消息通知;兼容 pi-web
macOS 首次打开
1. 拖进「应用程序」后若被 Gatekeeper 拦截:右键 DSH+ → 打开
2. 或系统设置 → 隐私与安全性 → 仍要打开
3. 若提示已损坏:xattr -dr com.apple.quarantine /Applications/DSH+.app
4. 系统设置 → 通知 → DSH+,再在鲸鱼菜单打开「通知设置」
Windows SmartScreen 可能拦截(更多信息 → 仍要运行)。
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。
README
由 DeepSeek 最新模型翻译生成DSH+
给 DeepSeek Harness 套一个原生桌面窗口的多应用壳。它不止是“桌面版”,更把多智能体协作里最容易被忽略的消息通知补齐成刚需功能。
DSH+ 界面
license platform dsh
它特别在哪
1. 不绑定任何 DSH 版本——为所有版本的 Harness 套一个壳
壳与内容彻底解耦。 DSH 本体和插件在 ~/.dsh 里照常更新升级,壳内部不绑死版本号。所以 DSH 每发一次新版本,你不用跟着重新打包这个壳——它天然兼容任意版本,装完即用。
2. 消息通知——多智能体协作的刚需
⚠️ 消息通知需要装插件(dsh-plus-surface / pi-dsh-plus-surface),壳本身不内置通知能力。未装插件时只降级为轮询角标,不会有系统通知。装法见下文「会话状态与显示面」。
装上插件后,无论 DSH / pi-web 装在本地还是远程电脑,都能拿到消息通知。远程场景(比如装在另一台机器/服务器上,经 DSH_URL 或端口映射连过来)也一样:远端装了插件 → 走事实出口拿全保真的精确状态;远端没装插件 → 自动退化为轮询(仍有基本角标/完成气泡,但无精确中断识别与命名)。
- 会话完成、等待你回应(待交互/未读)时,壳会推给你系统通知。
- 除了 DSH 会话,你也可以把其他消息源推到上面,统一收口。
展开完整文档(README 剩余 1 节)
DSH+ 给 DeepSeek Harness 套一个原生桌面窗口的多应用壳。它不止是“桌面版”,更把多智能体协作里最容易被忽略的消息通知补齐成刚需功能。 DSH+ 界面 license platform dsh 它特别在哪 1. 不绑定任何 DSH 版本——为所有版本的 Harness 套一个壳 壳与内容彻底解耦。 DSH 本体和插件在 ~/.dsh 里照常更新升级,壳内部不绑死版本号。所以 DSH 每发一次新版本,你不用跟着重新打包这个壳——它天然兼容任意版本,装完即用。 2. 消息通知——多智能体协作的刚需 ⚠️ 消息通知需要装插件(dsh-plus-surface / pi-dsh-plus-surface),壳本身不内置通知能力。未装插件时只降级为轮询角标,不会有系统通知。装法见下文「会话状态与显示面」。 装上插件后,无论 DSH / pi-web 装在本地还是远程电脑,都能拿到消息通知。远程场景(比如装在另一台机器/服务器上,经 DSH_URL 或端口映射连过来)也一样:远端装了插件 → 走事实出口拿全保真的精确状态;远端没装插件 → 自动退化为轮询(仍有基本角标/完成气泡,但无精确中断识别与命名)。 - 会话完成、等待你回应(待交互/未读)时,壳会推给你系统通知。 - 除了 DSH 会话,你也可以把其他消息源推到上面,统一收口。 - 通知图标采用苹果 Touch Bar 的设计灵感——功能区就是一条“外接状态条”,把进行中会话数、待交互/未读气泡、Dock 角标、系统通知渲染成直观的状态。 需要在系统里开启。 系统通知默认是关闭的,用之前请先开启:左侧工具栏第一个鲸鱼图标(DSH)上右键 → 「通知设置」,并在 macOS 系统设置 → 通知 → DSH+ 里允许通知。只在壳退到后台时才推送,前台不打扰。 鲸鱼右键菜单:通知设置入口 3. 兼容 pi-web,也能加任何网页 不只是 DSH。当你也在用 pi-web(本地或远程),装上对应插件后同样能收到“消息完成通知”。而且功能区的 + 可以添加任意 http(s) 本地服务或网页——把常用的工具都收进一个桌面窗口里。 核心能力 - 免打包免签名运行:npm install && npm start 直接跑,无需签名。 - 自动连接 dsh web:扫描本机端口命中 dsh 特征,也能 + 手动加任意应用(不写死端口)。 - 消息通知:完成 / 待交互系统通知,仅后台推送(需在系统里开启)。 - 显示面管道:功能区 Fact → Item → Hub 把会话状态渲染成角标与气泡(配 plugins/dsh-plus-surface)。 - 托盘守护:关窗口不退出,鲸鱼图标保留;完全退出时才停止当前端口上的 dsh。 - 原生右键兜底:补裁剪/复制/粘贴、链接、图片、刷新、开发者工具,并避开页面自有菜单。 - 本地应用启动器:在 recipes/recipe.json 加一条即可出现在条目带,一键启动任意应用。 运行 cd dsh-plus npm install npm start # = electron . 前置:本机已安装 DSH(npm i -g @deepseek-ai/dsh)。未安装时壳会弹出版本选择面板,一键安装并自动拉起。 连接 dsh web(不写死端口) 1. 显式 DSH_URL 环境变量(最高优先) 2. 扫描本机监听端口,命中 dsh 特征(见 lib/detect-dsh.js) 3. 都没找到且允许自动拉起:自选空闲端口(从 3080 起),dsh web --port N --no-open 并等待就绪 远程场景:dsh 或 pi-web 装在另一台电脑/服务器上时,用 DSH_URL 指向它的地址即可(如 http://192.168.1.20:3080,或经端口映射/隧道暴露的地址)。远端装了插件(dsh-plus-surface / pi-dsh-plus-surface)→ 走事实出口拿全保真的精确状态(含精确结束时刻、中断识别、命名);远端没装插件 → 自动退化为轮询(仍有基本角标/完成气泡)。两种情况下消息通知都能到你这台机器上,只是精确度有差。 | 变量 | 作用 | | DSH_URL | 显式地址,如 http://127.0.0.1:8080(本地)或 http://192.168.1.20:3080(远程) | | DSH_SHELL_NO_SPAWN=1 | 禁止自动拉起 dsh | | DSH_SHELL_SIGNATURES | 覆盖检测特征(逗号分隔,官方改版救场) | | DSH_SHELL_NATIVE_MENU=0 | 关闭应用区原生右键菜单兜底 | dsh 0.1.2+ 浏览器鉴权:壳在能拿到 launch token 时静默换 cookie 再加载页面;换不到则走官方 401,不替换成引导页。 会话状态与显示面(推荐装插件) 消息角标/气泡的完整能力需要两个插件,分别接 DSH 侧和 pi 侧的事实: - dsh-plus-surface(已发布 npm,v0.2.4)——dsh 侧事实桥。把 DSH 进程内的会话事实(进行中/结束/被查看)写成 ~/.dsh/dsh-plus/bridge.json,并为壳提供页面内会话跳转入口。 - pi-dsh-plus-surface(已发布 npm,v0.1.2)——pi 侧事实插件。把每个 pi 会话的进行中/结束/命名事实写成分片文件(~/.pi/dsh-plus/facts/.json),壳读目录合并出角标与气泡。TUI 与 pi-web 通用(全局装一次两边都生效)。 装 dsh 侧插件(npm 安装): dsh plugin --profile web add dsh-plus-surface 部署到 ~/.dsh/profiles/web 后在该目录 pnpm install --force 重打包 装 pi 侧插件(pi packages,npm 源): pi install npm:pi-dsh-plus-surface 或写入 ~/.pi/agent/settings.json 的 "packages": ["npm:pi-dsh-plus-surface@0.1.2"] - 进行中:DSH 图标左上角绿色角标(进行中会话数) - 待交互 / 已完成未看:鲸鱼右侧条目带气泡(红/黄语义色),悬停看标题 + 目录,点击跳对话 - Dock / 任务栏角标:待交互 + 已完成未看总数 - 系统通知(默认关):仅在壳后退时推送,前台不打扰 插件未装时自动降级为轮询 session.list。事实文件:~/.dsh/dsh-plus/bridge.json。 pi-web 添加 http://127.0.0.1: 为应用;busy 灯走 HTTP 轮询 /api/sessions。完整会话气泡需装 plugins/pi-dsh-plus-surface。pi-web 装在远程电脑上也可以——在功能区 + 添加远程地址(如 http://192.168.1.20:,或经端口映射/隧道暴露的地址),远端装了 pi-dsh-plus-surface 插件后,serve-facts.mjs 会提供 HTTP 只读事实出口(默认 DSH_PLUS_FACTS_PORT 3099),壳拉取后同样能出角标、完成气泡与消息通知。pi-web 的 GitHub 仓库见 agegr/pi-web。 下载安装包 从 Releases 直接下载即可,无需自己打包。 macOS(仅 arm64:DSH+-0.1.8-arm64.dmg) 官方只发这一份 DMG:已用 Apple Development 签名(Hardened Runtime),通知中心可用;未公证,网上下载后 Gatekeeper 会拦一次。 1. 双击 DSH+-0.1.8-arm64.dmg,把 DSH+ 拖进「应用程序」。 2. 首次打开若弹出 “无法验证开发者” 或 “Apple 无法确认是否含恶意软件”,右键 DSH+ → 打开,再点 “打开”。 3. 仍被拦截:系统设置 → 隐私与安全性 → “仍要打开”。 4. 若提示 App 已损坏:xattr -dr com.apple.quarantine /Applications/DSH+.app。 装好后:系统设置 → 通知 → DSH+,再在鲸鱼菜单 → 「通知设置」 打开开关。 Windows(.exe,未签名) 1. 双击 DSH+ Setup 0.1.8.exe 安装。 2. SmartScreen 若弹出 “Windows 已保护你的电脑”,点 “更多信息” → “仍要运行”。 3. 若被杀软拦截,放行一次即可。 macOS 通知中心 ⚠️ 只有已签名的 .app 才能把消息推到「通知中心」。请用上面这份 Release DMG。npm start 未签名,只能显示功能区 / Dock 角标。 源码打包(可选) 你自己改源码后想重新打包: npm run dist # electron-builder --dir → dist/mac-arm64/DSH+.app 或 dist/win-unpacked/ npm run dist:signed # macOS arm64:签名、打出这一份 DMG,并安装到 /Applications/DSH+.app 自用开发直接 npm start 即可,不必打包。 目录结构 dsh-plus/ ├── main.js # 主进程:窗口、托盘、应用容器、显示面 Hub、通知 ├── lib/ │ ├── dsh-service.js # dsh web 生命周期(解析/拉起/停止/重启) │ ├── detect-dsh.js # 端口自动检测 │ ├── dsh-manage.js # DSH 安装/版本管理 │ ├── dsh-auth.js # 0.1.2+ launch token → cookie │ ├── bridge.js # dsh 事实源(读 bridge.json / HTTP 降级) │ ├── notifications.js # 系统通知中心 │ ├── surface/ # 显示面管道(model / hub / adapters / attention) │ ├── shell-ui.html # 功能区 UI │ └── shell-preload.js ├── plugins/ │ ├── dsh-plus-surface/ # dsh 侧:事实出口 + 动作入口 │ └── pi-dsh-plus-surface/# pi 侧:分片事实写 ~/.pi/dsh-plus/facts/ ├── recipes/recipe.json # 默认显示面投影规则 ├── scripts/ # mac 签名打包、Tailscale 等 └── test/ # node --test test/*.test.mjs License MIT © kaerf15
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
kaerf15/dsh-plus
把网页服务收进原生窗口,会话完成即推送系统通知
相关插件 · 桌面端
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
这是你的仓库?认领条目