给官方桌面端装上余额挂件与皮肤中心
27.3/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/26 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Yaaaaaaa233/dsh-desktop该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
dsh 原生插件 · desktop
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 34 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 34 处,展示前 34 条)
- 读取本地文件legacy/electron-shell/src/backend.js:32
if (existsSync(bundled)) return bundled - 读取本地文件legacy/electron-shell/src/backend.js:48
if (existsSync(bundled)) bin = bundled - 执行外部命令来自配置/变量legacy/electron-shell/src/backend.js:54
version = execFileSync(bin, ['--version'], { encoding: 'utf8', timeout: 10_000 }).trim() - 读取本地文件legacy/electron-shell/src/backend.js:92
if (existsSync(layout.bin) && existsSync(layout.distIndex)) return layout - 读取本地文件legacy/electron-shell/src/backend.js:93
if (!existsSync(layout.bin)) missing.push(layout.bin) - 读取本地文件legacy/electron-shell/src/backend.js:163
const existing = candidates.filter((p) => existsSync(p)) - 执行外部命令来自配置/变量legacy/electron-shell/src/backend.js:179
const child = spawn(nodeBin, [bin, 'web', ...(supportsNoOpen(readDshVersion(repoDir)) ? ['--no-open'] : []), '--port', String(port)], { - 执行外部命令固定命令legacy/electron-shell/src/coexist.js:44
const out = execFileSync('ps', ['-wwaxo', 'pid=,command='], { encoding: 'utf8', timeout: EXEC_TIMEOUT }) - 执行外部命令固定命令legacy/electron-shell/src/coexist.js:59
const env = execFileSync('ps', ['eww', String(c.pid)], { encoding: 'utf8', timeout: EXEC_TIMEOUT }) - 写入本地文件legacy/electron-shell/src/main.js:33
try { fs.appendFileSync(logFile, line + '\n') } catch { } - 读取本地文件legacy/electron-shell/src/main.js:51
if (fs.existsSync(path.join(dirInResources, 'lib', 'bin.js'))) { - 读取本地文件legacy/electron-shell/src/main.js:58
if (fs.existsSync(archive)) { - 读取本地文件legacy/electron-shell/src/main.js:61
const stat = fs.statSync(archive) - 读取本地文件legacy/electron-shell/src/main.js:64
try { needExtract = fs.readFileSync(marker, 'utf8') !== expected } catch { } - 删除本地文件legacy/electron-shell/src/main.js:67
fs.rmSync(dest, { recursive: true, force: true }) - 写入本地文件legacy/electron-shell/src/main.js:68
fs.mkdirSync(dest, { recursive: true }) - 执行外部命令固定命令legacy/electron-shell/src/main.js:70
execFile('/usr/bin/tar', ['-xzf', archive, '-C', dest], { maxBuffer: 1 << 30 }, err => { - 写入本地文件legacy/electron-shell/src/main.js:75
fs.writeFileSync(marker, expected) - 读取本地文件legacy/electron-shell/src/main.js:102
if (!p || !fs.existsSync(p)) return '' - 读取本地文件legacy/electron-shell/src/settings.js:45
const parsed = JSON.parse(readFileSync(file, 'utf8')) - 写入本地文件legacy/electron-shell/src/settings.js:53
mkdirSync(dirname(file), { recursive: true }) - 写入本地文件legacy/electron-shell/src/settings.js:54
writeFileSync(file, JSON.stringify(settings, null, 2) + '\n', 'utf8') - 执行外部命令来自配置/变量legacy/electron-shell/src/updater.js:26
execFile(cmd, args, { cwd, timeout: 10000, maxBuffer: 4 * 1024 * 1024 }, (err, stdout) => { - 读取本地文件legacy/electron-shell/src/updater.js:35
const pkg = JSON.parse(fs.readFileSync(pkgJsonPath, 'utf8')) - 发起网络请求legacy/electron-shell/src/updater.js:48
const res = await fetch(`${NPM_REGISTRY}/${encodeURIComponent(name)}/latest`, { signal: controller.signal }) - 读取本地文件legacy/electron-shell/src/updater.js:62
if (process.env.DSH_DESKTOP_RUNTIME_DIR && fs.existsSync(process.env.DSH_DESKTOP_RUNTIME_DIR)) { - 读取本地文件legacy/electron-shell/src/updater.js:67
if (fs.existsSync(p)) return p - 读取本地文件legacy/electron-shell/src/updater.js:105
const hasGit = fs.existsSync(path.join(dir, '.git')) - 发起网络请求legacy/electron-shell/src/updater.js:139
const res = await fetch(`${baseUrl}/api/update/status`, { signal: controller.signal }) - 发起网络请求legacy/electron-shell/src/updater.js:173
const res = await fetch(`${baseUrl}/api/update/run`, { method: 'POST', signal: controller.signal }) - 发起网络请求packages/dsh-whale-widget/lib/client.js:32
const response = await fetch(URL, { cache: 'no-store' }) - 发起网络请求packages/dsh-whale-widget/lib/client.js:50
const response = await fetch(URL, { - 发起网络请求packages/dsh-whale-widget/lib/index.js:1095
res = await fetch(BALANCE_URL, { - 发起网络请求packages/dsh-whale-widget/lib/index.js:2009
const res = await fetch(u, { headers, signal: AbortSignal.timeout(15000) })
扫描于 2026/11/2(1 天前) · 范围 全包扫描 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
官方 DeepSeek Harness Desktop 的社区插件适配与改造:余额挂件、外观定制与迁移工具。原 Electron 桌面壳已冻结。
README
由 DeepSeek 最新模型翻译生成DSH Desktop · 插件适配与改造
为官方 DeepSeek Harness 桌面端维护社区插件适配、界面定制和迁移经验。
从 v0.2.0 开始,本仓库转向官方 Desktop 的扩展开发。原来的 Electron 桌面壳已冻结在 legacy/electron-shell 和标签 legacy-electron-shell-20260930。旧项目仍可查阅和复现,不再作为当前产品继续维护。
本项目由社区维护,与 DeepSeek 官方没有隶属关系。仓库名继续使用 dsh-desktop。
当前功能
| 插件 / 功能 | 维护方式 | 状态 |
| 鲸鱼余额挂件 | 本仓库维护 Desktop 适配源码和安装包 | 已验证:实际余额、一级「用量显示」设置页、即时挂件开关、菜单同步 |
| 皮肤中心 | 锁定已验证的上游版本,提供安装与迁移说明 | 已验证:自定义壁纸、配色、原皮肤与重启恢复 |
| Adaptive Plan / Mids·快速 | 保持独立仓库 | 官方 Desktop 适配待完成,本次不纳入安装包 |
当前验证环境:官方 Desktop 0.2.0-rc.2,macOS Apple Silicon。 官方发布页仍将该版本标记为候选版。Windows、Linux 和其他 DSH 版本暂未验证;详情见 兼容性。
展开完整文档(README 剩余 1 节)
DSH Desktop · 插件适配与改造 为官方 DeepSeek Harness 桌面端维护社区插件适配、界面定制和迁移经验。 从 v0.2.0 开始,本仓库转向官方 Desktop 的扩展开发。原来的 Electron 桌面壳已冻结在 legacy/electron-shell 和标签 legacy-electron-shell-20260930。旧项目仍可查阅和复现,不再作为当前产品继续维护。 本项目由社区维护,与 DeepSeek 官方没有隶属关系。仓库名继续使用 dsh-desktop。 当前功能 | 插件 / 功能 | 维护方式 | 状态 | | 鲸鱼余额挂件 | 本仓库维护 Desktop 适配源码和安装包 | 已验证:实际余额、一级「用量显示」设置页、即时挂件开关、菜单同步 | | 皮肤中心 | 锁定已验证的上游版本,提供安装与迁移说明 | 已验证:自定义壁纸、配色、原皮肤与重启恢复 | | Adaptive Plan / Mids·快速 | 保持独立仓库 | 官方 Desktop 适配待完成,本次不纳入安装包 | 当前验证环境:官方 Desktop 0.2.0-rc.2,macOS Apple Silicon。 官方发布页仍将该版本标记为候选版。Windows、Linux 和其他 DSH 版本暂未验证;详情见 兼容性。 安装 1. 安装 官方 DeepSeek Harness Desktop。 2. 从本仓库 Releases 下载鲸鱼适配包。 3. 完整退出官方客户端,使用它提供的 dsh 命令安装到 desktop profile: dsh plugin --profile desktop add /绝对路径/dsh-whale-widget-0.3.17-desktop.3.tgz dsh plugin --profile desktop add @linxin666/dsh-client-ui-skin-center@0.4.4 若未注册 dsh 命令,可在官方客户端菜单中管理;macOS 也可以直接调用应用内的 CLI。完整命令、离线包、卸载和 pnpm store 排查见 安装说明。 启动后在「设置 → 用量显示」管理鲸鱼,在「设置 → 皮肤」管理外观。挂件设置中的开关即时生效;插件管理页整个包的启停建议完整重启客户端。 从旧 DSH 迁移 Web 与 Desktop 使用各自的插件 profile,但默认共享 ~/.dsh 数据目录。先备份,再在 Desktop 中安装独立插件;已有 v2 皮肤可继续使用。旧账本保留在新版的历史字段中,新版观测统计从迁移时开始。 按 迁移说明 操作。个人配置、凭据、账本和壁纸不随仓库发布。两个客户端共用鲸鱼账本时,避免同时运行两个挂件实例。 开发 仓库根目录是开发与打包入口,不是可直接安装的 DSH 插件。当前工具只使用 Node 内置模块,无需在根目录安装依赖。 npm run check npm test npm run pack pack 会打包本地鲸鱼插件,并下载、校验锁定版本的上游皮肤中心包。产物在 dist/:两个 .tgz、SHA256SUMS 和 release-manifest.json。不会自动安装到用户的 DSH。 packages/dsh-whale-widget/ 本地维护的鲸鱼 Desktop 适配 integrations/skin-center/ 上游皮肤中心的版本与迁移说明 catalog.json 插件清单、版本与上游完整性 docs/ 安装、迁移、兼容性与开发约定 scripts/ 检查与打包工具 tests/ 账本迁移回归检查 legacy/electron-shell/ 冻结的旧桌面壳 下一步优先补充不同平台的验证记录、跟进官方插件生命周期和 Adaptive Plan 的 Desktop 适配。新增插件遵循 开发约定。 许可与来源 本仓库自己维护的代码使用 MIT。鲸鱼上游代码保留 MeteorNOX 的 MIT 声明,美术与音效不属于 MIT 范围,按上游 PROVENANCE 随原插件提供。皮肤中心保持上游 Apache-2.0 许可,冻结项目保留原第三方声明。见 THIRD_PARTY_NOTICES.md。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
Yaaaaaaa233/dsh-desktop
给官方桌面端装上余额挂件与皮肤中心
相关插件 · 桌面端
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
这是你的仓库?认领条目