点一下悬浮球,在独立小窗里随时向助手提问
31.5/100
综合分
2
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/11/3 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add han8421/dsh-desktop-ball该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
dsh 原生插件 · desktop
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 1 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件
查看扫描证据(共 33 处,展示前 19 条)
- 写入本地文件index.js:63
mkdirSync(root, { recursive: true }) - 写入本地文件index.js:64
appendFileSync(join(root, 'host.log'), `${new Date().toISOString()} ${message}\n`, 'utf8') - 写入本地文件index.js:71
mkdirSync(root, { recursive: true }) - 写入本地文件index.js:73
writeFileSync(file, JSON.stringify(value, null, 2), 'utf8') - 读取本地文件index.js:88
const raw = readFileSync(appearanceFilePath(root), 'utf8').replace(/^ FEFF/, '') - 写入本地文件index.js:97
mkdirSync(root, { recursive: true }) - 写入本地文件index.js:100
writeFileSync(temp, JSON.stringify(value, null, 2), 'utf8') - 读取本地文件index.js:166
if (!isOwnMediaFile(root, file) || !existsSync(file)) continue - 读取本地文件index.js:257
return Math.round(statSync(file).mtimeMs) - 读取本地文件index.js:393
const backgroundOk = isOwnMediaFile(root, background) && existsSync(background) - 读取本地文件index.js:395
const ballOk = isOwnMediaFile(root, ball) && existsSync(ball) - 读取本地文件index.js:467
if (!entry || !isOwnMediaFile(root, entry.file) || !existsSync(entry.file)) { - 删除本地文件index.js:607
if (isOwnMediaFile(root, entry.file)) rmSync(entry.file, { force: true }) - 执行外部命令固定命令index.js:754
const result = spawnSync('tasklist.exe', ['/FI', `PID eq ${pid}`, '/NH', '/FO', 'CSV'], { - 执行外部命令固定命令index.js:768
spawnSync('taskkill.exe', ['/PID', String(pid), '/T', '/F'], { windowsHide: true, stdio: 'ignore' }) - 执行外部命令来自配置/变量index.js:817
const child = spawn( - 执行外部命令固定命令index.js:844
if (Number.isSafeInteger(pid) && pid > 0) spawnSync('taskkill.exe', ['/PID', String(pid), '/T', '/F'], { windowsHide: true, stdio: 'ignore' }) - 删除本地文件index.js:848
rmSync(pidPath, { force: true }) - 删除本地文件index.js:849
rmSync(statePath, { force: true })
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
加一颗可自定义 图标和背景 的桌面悬浮球:点一下,在独立窗口里对话
README
由 DeepSeek 最新模型翻译生成dsh-desktop-ball
给 DeepSeek Harness 加一颗桌面悬浮球,图标和背景都能自定义:点一下,在独立窗口里对话。
安装 ·使用 ·外观 ·原理 ·排查 ·设置 ·架构
| 桌面悬浮球 | 点开就是完整对话 |
这是什么
桌面悬浮球(Desktop Floating Ball / dsh-desktop-ball)是一个 DeepSeek Harness 插件。它在 Windows 桌面上放一颗置顶的小球,图标和背景都能自定义。点一下,就在独立窗口里打开 DSH 对话,不用切回主窗口。
如果你常常只是「想问一句就走」,它省掉的就是找窗口、还原窗口、再关掉窗口的那几步。
三个关键取舍:
- 不是主窗口的最小化版:小球是独立的系统级窗口。DSH 最小化、甚至主窗口在后台,它都还在。
- 不是浏览器窗口:聊天窗口内嵌 WebView2,没有地址栏、标签页、Edge 图标和翻译提示条。
- 不碰 DSH 本体:不修改 app.asar、不注入 Electron 主进程,升级 DSH 后插件可以独立保留。
特性
- 🖱️ 单击开窗,双击隐藏:隐藏只收起窗口,WebView 和当前对话都保留,再点一下立即恢复,不会重新初始化。
- 🎨 外观全可换:图标(图片 / GIF / 视频 / 纯色)、裁剪、形状、大小、聊天背景区域、消息颜色、助手名称。
展开完整文档(README 剩余 1 节)
dsh-desktop-ball
给 DeepSeek Harness 加一颗桌面悬浮球,图标和背景都能自定义:点一下,在独立窗口里对话。
安装 ·使用 ·外观 ·原理 ·排查 ·设置 ·架构
| 桌面悬浮球 | 点开就是完整对话 |
这是什么
桌面悬浮球(Desktop Floating Ball / dsh-desktop-ball)是一个 DeepSeek Harness 插件。它在 Windows 桌面上放一颗置顶的小球,图标和背景都能自定义。点一下,就在独立窗口里打开 DSH 对话,不用切回主窗口。
如果你常常只是「想问一句就走」,它省掉的就是找窗口、还原窗口、再关掉窗口的那几步。
三个关键取舍:
- 不是主窗口的最小化版:小球是独立的系统级窗口。DSH 最小化、甚至主窗口在后台,它都还在。
- 不是浏览器窗口:聊天窗口内嵌 WebView2,没有地址栏、标签页、Edge 图标和翻译提示条。
- 不碰 DSH 本体:不修改 app.asar、不注入 Electron 主进程,升级 DSH 后插件可以独立保留。
特性
- 🖱️ 单击开窗,双击隐藏:隐藏只收起窗口,WebView 和当前对话都保留,再点一下立即恢复,不会重新初始化。
- 🎨 外观全可换:图标(图片 / GIF / 视频 / 纯色)、裁剪、形状、大小、聊天背景区域、消息颜色、助手名称。
- ⚡ 预热:鼠标移到球上,窗口已在屏幕外开始加载;点击时通常已经加载完成。
- 🧠 输入区与主界面一致:模型、权限、推理等级、关闭思考,图片 / 附件上传与拖拽,流式回复与停止。细节见 输入区。
- 🌐 界面语言:跟随 DSH / 中文 / English,只影响插件页面与快捷窗口文案。
- ✅ 提问和审批不出窗:ask_user_question 卡片与 approval/request 都能在小窗内处理,主窗口和快捷窗口谁先响应谁生效。
- 🪟 自动回退:缺少 WebView2 时退回 Edge / Chrome --app 窗口;macOS / Linux / 浏览器用 Alt + Q 打开应用内面板。
安装
要求:Windows 10/11 + DSH Desktop(dsh >= 0.2.1-rc.2 < 0.3.0)。
方式 A:从插件页安装(推荐)
1. 打开 DSH Desktop,侧边栏进入 Plugins / 插件。
2. 选择从本地路径安装,填入本目录的绝对路径。
3. 启用 dsh-desktop-ball 组合包,按提示重启应用。
4. 重启后桌面右下角出现悬浮球,DSH 侧边栏不会再添加旧入口。
方式 B:用 CLI 安装
在包目录下执行:
dsh plugin --profile desktop add .
desktop 是桌面版占用的 profile 名。命令会把本目录以 link: 方式写入 profile,并把 dsh-desktop-ball 追加到 dsh.profile.bundles。
只检查配置层、不启动:
dsh --profile desktop --dump-config
输出中应出现 id: quick-chat 与 name: dsh-desktop-ball。
方式 C:手动加入 profile(进阶)
插件页安装不可用时:
1. 完全退出 DSH Desktop。
2. 用 DSH 自带的 pnpm 把目录链接进 profile:
$node = "$env:USERPROFILE\.dsh\dsh-runtimes\dsh-primary-runtime\dependencies\node\bin\node.exe"
$pnpm = "$env:USERPROFILE\.dsh\dsh-runtimes\dsh-primary-runtime\dependencies\pnpm\bin\pnpm.cjs"
& $node $pnpm add "link:<本目录绝对路径>" --dir "$env:USERPROFILE\.dsh\profiles\desktop"
3. 打开 %USERPROFILE%\.dsh\profiles\desktop\package.json,在 dsh.profile.bundles 数组末尾加入 "dsh-desktop-ball"。
4. 重新打开 DSH Desktop。
改 profile 前先备份 package.json;不确定时优先用方式 A。
使用
| 操作 | 效果 |
| 点悬浮球 | 打开 / 置顶桌面聊天窗口 |
| 双击悬浮球 | 隐藏聊天窗口(保留 WebView 与对话) |
| 拖动悬浮球 | 移动并记忆位置;距屏幕边缘 26px 内松手会吸附,留 4px 缝隙 |
| 拖动窗口任意边 / 四角 | 缩放聊天窗口,最小 360×480,尺寸自动记忆 |
| 窗口顶栏 — / 图钉 / 新建 / ⋯ / ✕ | 最小化到球 / 切换置顶 / 打开新对话 / 更多菜单 / 关闭窗口 |
| Alt + Q | 在主界面内展开 / 收起应用内面板 |
| Enter / Shift + Enter | 发送 / 换行 |
| 运行中的方块按钮 | 停止当前生成 |
| Esc | 先关菜单,再收起应用内面板 |
快捷窗口使用独立的 DSH 会话:它会出现在侧边栏,也能在完整界面继续。新建的会话统一归入名为 ChatWindow 的工作区,没有该工作区时会在当前工作区旁自动创建并注册。
DSH 侧边栏不再注册「快捷对话」入口:桌面入口只有悬浮球,应用内入口是 Alt + Q。
外观
两个入口:右键悬浮球快速换图标 / 背景,或 DSH 设置 →「悬浮球与外观」集中管理。
悬浮球可以是图片、GIF、视频或纯色球,聊天窗口可以换背景图、气泡颜色和助手名称:
聊天背景、助手名称与消息颜色
完整的项目对照、保存位置和渲染细节见 外观与设置。
兼容性
- 原生悬浮球:Windows 10/11 + DSH Desktop,依赖系统自带的 PowerShell 5.1 与 WPF。
- 桌面聊天窗口:使用 WebView2。Windows 10/11 通常已随 Edge 安装 Runtime;插件自带 WebView2 SDK 的 .NET 程序集。没有 Runtime 时自动退回 Edge / Chrome --app= 窗口,功能不受影响。
- macOS / Linux / 浏览器:没有原生小球,使用应用内面板与 Alt + Q;应用内还支持 Document Picture-in-Picture 置顶。
- 内存:预热和隐藏的窗口会保留一个 WebView2 进程(通常约 100–200 MB),10 分钟无操作后自动回收。
- 快捷键:Alt + Q 是 Harness 窗口内快捷键,不是操作系统全局热键;桌面小球不需要快捷键。
- 历史:快捷窗口的聊天历史保存在 localStorage,最多 12 条;清除历史不会删除 DSH 会话;很长会话的完整历史请在完整界面查看。
- 安全:状态文件包含本进程的短期认证 token,只写在当前用户的 %LOCALAPPDATA%\dsh-quick-chat\,插件卸载时删除;聊天窗口使用独立 profile。
原理
DSH 的渲染层插件无法直接创建 Electron BrowserWindow,所以这里没有改 app.asar,而是用了两块原生能力:
1. Host 半启动一个 Windows 原生小球 —— index.js 生成带认证 token 的 URL,启动 native/ball.ps1(PowerShell + WPF 无边框透明置顶窗口),并监听 Host PID,Host 退出时自动消失。
2. 小球打开内嵌 WebView2 的聊天窗口 —— 同一个 PowerShell 进程里用 WebView2 控件打开认证 URL,token 交换后 303 到 /,Web 客户端识别 fragment 只渲染聊天面板。
完整链路、认证交换和命名兼容说明见 架构。
排查
| 现象 | 原因 |
| 悬浮球换成 GIF / 图片后拖不动 | Ball 网格必须有 Background="Transparent",否则没有可命中的像素 |
| 自定义图片四周有 1px 白边 | XAML 的 BallBorder / BallInnerRing 未隐藏,或图片自身圆形边缘的白环 |
| 窗口外出现 1px 红边 | Windows 11 DWM accent border,需要在每次激活和 Set-ChatSurface 时设 DWMWA_BORDER_COLOR |
| 设置页提示「当前 Host 还是旧外观接口」 | DSH 主进程还没加载新 schema,重启一次 DSH 后再点「应用」 |
更多见 排查手册。
目录结构
dsh-desktop-ball/
├── package.json # dsh.bundle + dsh.client 声明 ├── index.js # Host 半:认证 URL、原生桌面球生命周期 ├── client.js # 浏览器半:聊天面板 + 桌面独立模式 + 流式对话 ├── native/ball.ps1 # Windows WPF 透明置顶悬浮球 + WebView2 聊天窗口 ├── native/webview2/ # 随插件分发的 WebView2 SDK(Core/WinForms/Loader) ├── cordis.patch.yml # 把插件插进 profile 的配置层 ├── icon.png # 插件页图标 ├── locale/{zh,en}.json # 插件页标题 / 描述 ├── docs/ # 截图与文档(外观、架构、排查) └── README.md
命名与兼容
插件展示名与 npm 包名是 桌面悬浮球 / Desktop Floating Ball、dsh-desktop-ball。为保住升级后的聊天记录、外观和窗口位置,以下内部标识仍沿用旧名 dsh-quick-chat:数据目录、外观路由 /dsh-quick-chat-appearance、认证 fragment #dsh-quick-chat=、localStorage key。做法与迁移建议见 架构 § 命名。
许可证
MIT © 2026 dsh-desktop-ball contributors预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
han8421/dsh-desktop-ball
点一下悬浮球,在独立小窗里随时向助手提问
相关插件 · 桌面端
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