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

鲸鱼桌面扩展 Yaaaaaaa233/dsh-desktop

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

给官方桌面端装上余额挂件与皮肤中心

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
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

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

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 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。
预览分享卡片长什么样 ↓Yaaaaaaa233/dsh-desktop
分享 · DeepSeek Harness Hub
Yaaaaaaa233/dsh-desktop

给官方桌面端装上余额挂件与皮肤中心

这是你的仓库?认领条目

回到顶部