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

像素蓝鲸桌宠 15372010668-dot/dsh-pet-whale

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

一只陪你干活的像素蓝鲸,住在 DeepSeek Harness 里,也能游满整个桌面。

30.7/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/8 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

自动兼容检查有告警:未发布到 npm registry,仅可从源码安装。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add 15372010668-dot/dsh-pet-whale
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么[目录]—
dsh 原生插件 · ui
暂无时间戳·判据 →
装得上吗[实装验证]!
实装验证未通过(dependency_conflict),装前请到仓库确认最近更新与 issue
L4 · 真实安装等级说明 →
数据截至 2026/11/02·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]✓
活跃:最近一次提交在 28 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

⚠︎ 实装验证未通过(dependency_conflict · 2026/11/2) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
安装兼容性检查⚠ 装前注意

未发布到 npm registry,仅可从源码安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包dsh-pet-whale(未发布到 npm,仅可源码安装)
✓Node 引擎要求 >=22.19.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/14 04:18:30

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

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

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 29 处,展示前 26 条)
  • 读取本地文件
    lib/index.js:90
    const base = await realpath(root), target = await realpath(resolve2(root, file));
  • 读取本地文件
    lib/index.js:96
    const info = await stat(path);
  • 读取本地文件
    lib/index.js:98
    return readFile2(path);
  • 读取本地文件
    lib/index.js:120
    this.config = normalizeConfig(JSON.parse(await readFile2(this.statePath, "utf8")));
  • 写入本地文件
    lib/index.js:124
    await mkdir(this.customPath, { recursive: true });
  • 读取本地文件
    lib/index.js:146
    folders = await readdir(this.customPath);
  • 写入本地文件
    lib/index.js:174
    await mkdir(dirname2(this.statePath), { recursive: true });
  • 写入本地文件
    lib/index.js:177
    await writeFile(temp, JSON.stringify(config, null, 2), { encoding: "utf8", flag: "wx" });
  • 写入本地文件
    lib/index.js:178
    await rename(temp, this.statePath);
  • 删除本地文件
    lib/index.js:180
    await unlink(temp).catch((error) => {
  • 读取本地文件
    lib/index.js:191
    return { pets: this.pets, config: this.config, customPath: this.customPath, warnings: this.warnings, skillAvailable: existsSync2(this.skillPath), skil
  • 写入本地文件
    lib/index.js:338
    await mkdir2(library.dataRoot, { recursive: true });
  • 写入本地文件
    lib/index.js:339
    await writeFile(positionPath, JSON.stringify(cachedPosition), "utf8");
  • 执行外部命令来自配置/变量
    lib/index.js:357
    child = spawn2(electronPath, [join2(root, "overlay"), `--port=${port}`, `--token=${token}`], {
  • 执行外部命令来自配置/变量
    lib/index.js:507
    execFile(
  • 执行外部命令来自配置/变量
    lib/index.js:533
    const child = spawn2(command, [library.customPath], {
  • 发起网络请求
    lib/client.js:877
    const response = await fetch(`${BASE}/api/${path}`, {
  • 发起网络请求
    lib/client.js:2508
    fetch(`${BASE}/api/overlay-activity`, {
  • 读取本地文件
    test-hit-area.mjs:24
    const html = readFileSync(new URL("./overlay/renderer.html", import.meta.url), "utf8");
  • 读取本地文件
    test-hit-area.mjs:192
    const rows = readFileSync(new URL("./test/fixtures/bluewhale-idle-frame0.txt", import.meta.url), "utf8").trim().split("\n");
  • 读取本地文件
    test-host.mjs:89
    const onDisk = JSON.parse(readFileSync(join(dataRoot, "config.json"), "utf8"));
  • 读取本地文件
    test-host.mjs:116
    check(JSON.parse(readFileSync(join(dataRoot, "config.json"), "utf8")).overlay === true, "overlay persisted on disk");
  • 读取本地文件
    test-host.mjs:134
    const pkg = JSON.parse(readFileSync(join(HERE, "package.json"), "utf8"));
  • 读取本地文件
    test-host.mjs:135
    const clientSrc = readFileSync(join(HERE, "lib", "client.js"), "utf8");
  • 读取本地文件
    test-notifications.mjs:13
    const src = readFileSync(new URL("./lib/client.js", import.meta.url), "utf8");
  • 读取本地文件
    test-roam.mjs:17
    const src = readFileSync(new URL("./lib/client.js", import.meta.url), "utf8");
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh@deepseek-ai/dsh-api-session-controller@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-ui-renderer@deepseek-ai/dsh-client-ui-session@deepseek-ai/dsh-client-ui-slots@deepseek-ai/dsh-client-ui-workspace@deepseek-ai/dsh-host-webserver
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 游满整个桌面

README

由 DeepSeek 最新模型翻译生成
dsh-pet-whale 一只陪你干活的像素蓝鲸,住在 DeepSeek Harness 里,也能游满整个桌面。 English · 功能全览 · Companion API · Apache-2.0 这是什么 一个 DeepSeek Harness(DSH)桌宠插件。工作时它待在角落替你盯着任务:跑起来了它会巡游,出错会发抖冒火,要你审批会蹦跳提醒,完成了会顶着一条通到页底的水柱横渡整屏庆祝。 它有两种形态:住在 DSH 页面里,或者悬浮在整台电脑的一切窗口之上(任意应用、任意全屏 Space,鲸鱼之外全部鼠标穿透)。 ✨ 亮点 - 🖥️ 桌面悬浮模式 —— 用 DSH 自带的运行时开出全屏透明置顶窗口,鲸鱼真正出圈 - 🔔 任务提醒 —— 运行中 / 等待审批 / 出错 / 完成,四种状态四种表现,审批和提问直接在气泡里处理 - 🎭 情绪反应 —— 失败抖动冒火、等待蹦跳、完成时全屏水帘庆祝 - 🚿 摇晃喷水 —— 抓住鲸鱼甩一甩,像素水帘从天而降、在屏幕底堆积摊平化光 - 🎲 摸头盲盒 —— 单击摸摸头,50% 冒爱心、50% 喷一股水 - 🗺️ 自动巡航 —— 不定期离家溜达一圈,频率可调 - 🧩 可编程 —— window.dshPetWhale 脚本接口,任务状态和全部操作开放 完整功能与参数见 功能全览。
展开完整文档(README 剩余 1 节)
dsh-pet-whale

一只陪你干活的像素蓝鲸,住在 DeepSeek Harness 里,也能游满整个桌面。

English · 功能全览 · Companion API · Apache-2.0

这是什么

一个 DeepSeek Harness(DSH)桌宠插件。工作时它待在角落替你盯着任务:跑起来了它会巡游,出错会发抖冒火,要你审批会蹦跳提醒,完成了会顶着一条通到页底的水柱横渡整屏庆祝。

它有两种形态:住在 DSH 页面里,或者悬浮在整台电脑的一切窗口之上(任意应用、任意全屏 Space,鲸鱼之外全部鼠标穿透)。

✨ 亮点

- 🖥️ 桌面悬浮模式 —— 用 DSH 自带的运行时开出全屏透明置顶窗口,鲸鱼真正出圈
- 🔔 任务提醒 —— 运行中 / 等待审批 / 出错 / 完成,四种状态四种表现,审批和提问直接在气泡里处理
- 🎭 情绪反应 —— 失败抖动冒火、等待蹦跳、完成时全屏水帘庆祝
- 🚿 摇晃喷水 —— 抓住鲸鱼甩一甩,像素水帘从天而降、在屏幕底堆积摊平化光
- 🎲 摸头盲盒 —— 单击摸摸头,50% 冒爱心、50% 喷一股水
- 🗺️ 自动巡航 —— 不定期离家溜达一圈,频率可调
- 🧩 可编程 —— window.dshPetWhale 脚本接口,任务状态和全部操作开放

完整功能与参数见 功能全览。

🖼️ 更多实拍

| 悬浮模式 | |

📦 安装

1. 克隆本仓库到固定位置:
git clone https://github.com/15372010668-dot/dsh-pet-whale.git ~/dsh-plugins/dsh-pet-whale

HTTPS 连接不稳定时改用 SSH(默认 22 端口不通就走 443 备选):
git clone git@github.com:15372010668-dot/dsh-pet-whale.git ~/dsh-plugins/dsh-pet-whale
git clone ssh://git@ssh.github.com:443/15372010668-dot/dsh-pet-whale.git ~/dsh-plugins/dsh-pet-whale

2. 在 DSH profile 的 package.json 中引用: {
"dependencies": { "dsh-pet-whale": "link:~/dsh-plugins/dsh-pet-whale" },
"dsh": { "profile": { "bundles": ["...", "dsh-pet-whale"] } }
}

3. 在 profile 目录执行 pnpm install --offline,重启 DSH;
4. ⚠️ 若被 DSH 版本校验静默拦截(装了没反应),需按 manifest 授一次豁免:
dsh plugin --profile desktop allow-version dsh-pet-whale@1.2.0 --dsh-version <你的DSH版本> --accept-risk

目前仅支持 macOS(悬浮模式依赖 DSH 自带的 Electron 运行时)。数据目录在 ~/.dsh/pet-whale/,卸载不丢宠物。

🎮 交互

| 动作 | 反应 |
| 单击 | 摸头:挥手压扁,50% 爱心 / 50% 喷水 |
| 双击 | 跳跃 |
| 拖动 | 移动位置(自动记忆);摇晃会喷水 |
| 右键 | 菜单:设置、收起、恢复通知等 |

🛠 开发

npm run check # 语法检查(4 个入口文件)
npm test # 69 项自动化测试:宿主 HTTP / 漫游引擎 / 通知状态机
npm run sync # 同步到本地 DSH 插件目录

lib/*.js 为直接维护的 esbuild 产物,架构与血统说明见 FORK.md。

📜 License

Apache-2.0。本项目是 @michengai/dsh-codex-pet 的衍生作品,上游署名与第三方素材声明见 NOTICE。
预览分享卡片长什么样 ↓15372010668-dot/dsh-pet-whale
分享 · DeepSeek Harness Hub
15372010668-dot/dsh-pet-whale

一只陪你干活的像素蓝鲸,住在 DeepSeek Harness 里,也能游满整个桌面。

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部