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

鲸鱼娘触控栏 Emm9262/whale-girl-touchbar

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

在 Touch Bar 上养鲸鱼娘和三花猫,可触摸互动

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

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

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Emm9262/whale-girl-touchbar
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · desktop
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 8 天前
档位由哪些信号合成

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

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

可执行外部命令读写/删除本地文件
查看扫描证据(共 22 处,展示前 22 条)
  • 读取本地文件
    Support/Bridge/config-policy.mjs:56
    try { return lstatSync(path); } catch (error) { if (error.code === 'ENOENT') return null; throw error; }
  • 读取本地文件
    Support/Bridge/config-policy.mjs:65
    if (packStat && readdirSync(packs).some(name => /-config\.jsonc?$/i.test(name))) return { safe: false, reason: 'custom-pet-packs', file };
  • 读取本地文件
    Support/Bridge/config-policy.mjs:73
    try { config = parseJsonc(readFileSync(file, 'utf8')); }
  • 写入本地文件
    Support/Bridge/index.mjs:28
    await mkdir(directory, { recursive: true, mode: 0o700 });
  • 写入本地文件
    Support/Bridge/index.mjs:29
    if (!disposed) await writeFile(file, JSON.stringify(payload, null, 2) + '\n', { mode: 0o600 });
  • 读取本地文件
    Support/Bridge/index.mjs:34
    void readFile(file, 'utf8').then(raw => {
  • 删除本地文件
    Support/Bridge/index.mjs:35
    if (JSON.parse(raw).processId === process.pid) return unlink(file);
  • 读取本地文件
    Support/Bridge/setup-core.mjs:31
    function executable(path) { try { accessSync(path, constants.X_OK); return lstatSync(path).isFile() || lstatSync(path).isSymbolicLink(); } catch { ret
  • 读取本地文件
    Support/Bridge/setup-core.mjs:31
    function executable(path) { try { accessSync(path, constants.X_OK); return lstatSync(path).isFile() || lstatSync(path).isSymbolicLink(); } catch { ret
  • 读取本地文件
    Support/Bridge/setup-core.mjs:45
    try { stat = lstatSync(path); } catch (error) { if (error.code === 'ENOENT') return false; throw error; }
  • 读取本地文件
    Support/Bridge/setup-core.mjs:47
    let manifest; try { manifest = JSON.parse(readFileSync(path, 'utf8')); } catch { throw new Error('Profile package metadata is invalid; nothing was cha
  • 写入本地文件
    Support/Bridge/setup-core.mjs:53
    await mkdir(directory, { recursive: true, mode: 0o700 });
  • 删除本地文件
    Support/Bridge/setup-core.mjs:61
    await unlink(staged).catch(() => {}); await rmdir(temporary).catch(() => {});
  • 删除本地文件
    Support/Bridge/setup-core.mjs:61
    await unlink(staged).catch(() => {}); await rmdir(temporary).catch(() => {});
  • 读取本地文件
    Support/Bridge/setup-core.mjs:69
    try { const stat = lstatSync(path); if (stat.isFile() && !stat.isSymbolicLink()) records.push({ name, path }); }
  • 写入本地文件
    Support/Bridge/setup-core.mjs:74
    await mkdir(dirname(directory), { recursive: true, mode: 0o700 });
  • 写入本地文件
    Support/Bridge/setup-core.mjs:75
    await mkdir(directory, { mode: 0o700 });
  • 写入本地文件
    Support/Bridge/setup-core.mjs:76
    for (const { name, path } of records) await copyFile(path, join(directory, name), constants.COPYFILE_EXCL);
  • 执行外部命令来自配置/变量
    Support/Bridge/setup-core.mjs:99
    const result = spawnSync(cli, ['plugin', '--profile', options.profile, 'add', 'file:' + BRIDGE_DIR], {
  • 读取本地文件
    Support/Bridge/setup-core.mjs:104
    try { if (readFileSync(inspection.file, 'utf8') === safeConfigText()) await unlink(inspection.file); } catch {}
  • 删除本地文件
    Support/Bridge/setup-core.mjs:104
    try { if (readFileSync(inspection.file, 'utf8') === safeConfigText()) await unlink(inspection.file); } catch {}
  • 执行外部命令来自配置/变量
    Support/Bridge/setup-core.mjs:116
    const result = spawnSync(cli, ['plugin', '--profile', options.profile, 'remove', PACKAGE_NAME], { env: { ...process.env, DSH_HOME: options.dshHome },
扫描于 2026/11/2(1 天前) · 范围 全包扫描 · 来源 GitHub 仓库

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

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

带有鲸鱼娘与三花猫的原生 macOS Touch Bar 桌宠,支持触摸互动、28 段动画和可选 DeepSeek Harness(DSH)任务联动。

README

由 DeepSeek 最新模型翻译生成
Whale Girl Touch Bar · 鲸鱼娘与三花猫 让鲸鱼娘和一只三花猫住进 MacBook 的 Touch Bar。支持原生触摸互动、随机玩耍,还能按需联动 DeepSeek Harness(DSH)任务。 Touch Bar 原生渲染预览 预览由应用自身离屏渲染。PC2005 动作素材来自 PC2005-cloud/dsh-pet,按其非商业素材条款使用。 可以做什么 - 28 段完整原版动作:吃零食、涮火锅、玩魔方、跳舞、打盹等;可以随机轮换,也能从菜单栏动作库点播。 - 真正侧身移动:角色横移时使用稳定的侧跑循环,左右朝向随移动方向变化;完整原片仍保留在动作库。 - 稳定体型:所有 PC2005 动作使用相同人物比例和脚底锚点,切换道具、气泡或遮挡关系时不再改变体型。 - 独立小猫:小猫会散步、跑跳、离开一会儿,再回到鲸鱼娘身边;也有挡路、追赶和重聚的小剧情。 - 原生 Touch Bar 控件:轻触、长按摸头、拖动与横向甩动;最右侧圆圈切换系统音量、亮度组件,并提供「返回桌宠」。 - 可选 DSH 联动:同步思考、执行、等待、完成和出错状态;从菜单栏面板手动聊天、碎碎念或查询余额。 没有 DSH 也能本地陪伴。Touch Bar 不显示文字气泡,长回复在菜单栏面板和对话窗口中阅读。
展开完整文档(README 剩余 1 节)
Whale Girl Touch Bar · 鲸鱼娘与三花猫

让鲸鱼娘和一只三花猫住进 MacBook 的 Touch Bar。支持原生触摸互动、随机玩耍,还能按需联动 DeepSeek Harness(DSH)任务。

Touch Bar 原生渲染预览

预览由应用自身离屏渲染。PC2005 动作素材来自 PC2005-cloud/dsh-pet,按其非商业素材条款使用。

可以做什么

- 28 段完整原版动作:吃零食、涮火锅、玩魔方、跳舞、打盹等;可以随机轮换,也能从菜单栏动作库点播。
- 真正侧身移动:角色横移时使用稳定的侧跑循环,左右朝向随移动方向变化;完整原片仍保留在动作库。
- 稳定体型:所有 PC2005 动作使用相同人物比例和脚底锚点,切换道具、气泡或遮挡关系时不再改变体型。
- 独立小猫:小猫会散步、跑跳、离开一会儿,再回到鲸鱼娘身边;也有挡路、追赶和重聚的小剧情。
- 原生 Touch Bar 控件:轻触、长按摸头、拖动与横向甩动;最右侧圆圈切换系统音量、亮度组件,并提供「返回桌宠」。
- 可选 DSH 联动:同步思考、执行、等待、完成和出错状态;从菜单栏面板手动聊天、碎碎念或查询余额。

没有 DSH 也能本地陪伴。Touch Bar 不显示文字气泡,长回复在菜单栏面板和对话窗口中阅读。

系统与硬件

| 项目 | 要求与验证状态 |
| Touch Bar | 需要带有物理 Touch Bar 的 MacBook;普通功能键、屏幕刘海和外接键盘不能替代 |
| macOS | 编译目标为 macOS 13 及以上;当前实际运行验证为 macOS 26.2、Apple Silicon |
| CPU | 构建脚本默认生成 arm64 + x86_64 通用二进制;Intel 实机运行仍需社区验证 |
| DSH(可选) | 桥接固定依赖 dsh-pet@0.3.8,当前联动验证基于 DSH 0.2.1-rc.2 |
| 开发工具 | Xcode Command Line Tools;桥接安装和开发测试另需 Node.js、Python 3 |

本项目使用经运行时检查的私有 Touch Bar 接口。系统更新可能改变其行为;声明编译目标不等于已经逐版本验证兼容性。

从源码运行

安装 Xcode Command Line Tools 后,在项目根目录执行:

bash build.sh
bash scripts/test.sh
bash scripts/install.sh --dry-run
bash scripts/install.sh
open "$HOME/Applications/DSH 鲸鱼娘.app"

默认构建输出为 build/DSH 鲸鱼娘.app,安装到当前用户的 Applications 目录。安装不会自动启动应用;同名且应用身份一致的旧版本会先备份;身份不同的应用不会被覆盖。只需要本机架构时,可执行 ARCHS=arm64 bash build.sh 或 ARCHS=x86_64 bash build.sh。

也可以在仓库的 Releases 页面下载应用压缩包。请检查发布说明中的架构、系统验证记录和签名状态;默认本地构建使用 ad-hoc 签名,不代表已获 Apple 公证。

如何操作

1. 打开应用后,菜单栏会出现小鱼图标;点击打开控制面板。
2. 点「打开动作库」选择完整动作;点皮肤开关切换 PC2005 动画或原版鲸鱼娘。
3. 在 Touch Bar 轻触角色打开互动选项,长按摸头,按住拖动,快速甩动会产生横向滑行。
4. 点最右侧圆圈显示系统音量、亮度组件,再点「返回桌宠」回到角色。
5. 暂停或退出应用会收起本应用的 Touch Bar;锁屏和睡眠时也会停止显示。

登录自启由使用者自行开启,不随安装默认启用:

bash scripts/autostart.sh enable --dry-run
bash scripts/autostart.sh enable
bash scripts/autostart.sh disable

应用保持在预期安装位置时,上述默认路径即可使用;自定义安装位置请给脚本传入 --app。

可选:连接 DSH

先安装和配置你自己的 DSH 与模型,再执行桥接安装。预览不会改动 DSH:

node scripts/setup-dsh.mjs --dry-run
node scripts/setup-dsh.mjs --apply

脚本尝试寻找官方 DSH CLI;也可以用 --dsh-cli 明确指定。默认 profile 为 desktop,其他部署可显式传入 --profile 和 --dsh-home。安装完成后,在当前任务结束时正常重开 DSH,使新插件生效。

首次配置采用原生 Touch Bar 渲染目标,关闭自动碎碎念、自动余额轮询和系统通知。若发现已有配置与此冲突,安装器会拒绝覆盖并说明下一步。详细流程见 DSH 接入说明。

聊天和碎碎念会调用使用者在 DSH 中选择的模型,可能产生费用;只有主动点击时才请求。余额能力取决于服务商支持。PC2005 没有亲密度或小鱼干养成接口,本应用的投喂是本地互动。

卸载

bash scripts/uninstall.sh --dry-run
bash scripts/uninstall.sh

卸载脚本仅处理经过身份检查的本应用和它的自启项,保留用户数据及 DSH 资料。若另行安装了 DSH 桥接,可单独移除其插件声明:

node scripts/remove-dsh.mjs --dry-run
node scripts/remove-dsh.mjs --apply

开发、隐私与发布

python3 scripts/audit-release.py --tree .
bash build.sh
bash scripts/test.sh
bash scripts/package.sh --dry-run
bash scripts/package.sh

发布前应审查暂存区和实际归档内容;已有 Git 历史时也运行审计脚本的 --history 检查。凭据、个人 profile、日志、聊天记忆、备份及本机安装记录均不属于源码仓库或下载包;.gitignore 不能代替审查。参见 贡献说明、隐私与安全、发布流程。

原作者与许可

本仓库新增代码采用 MIT。第三方代码和素材保留各自条款,代码许可证不代表所有动画和角色形象都可以商用。

- PC2005 原始动作:PC2005-cloud/dsh-pet,固定 v0.3.8;其动画、提示词和源视频采用上游非商业素材条款,并要求衍生作品署名。
- 原版精灵及部分行为逻辑:vlln/whale-girl,MIT,Copyright 2026 Sam Gao(vlln);角色来源注明 ZipZipPipe。
- 三花猫为 AI 辅助生成的原创图集,在贡献者可授予的权利范围内按项目 MIT 提供;应用图标参考鲸鱼娘角色。此安排不扩张第三方角色、PC2005 素材或衍生图标的权利。

完整来源和范围见 THIRD_PARTY_NOTICES.md。本项目是社区改作,与 DeepSeek、Apple 或素材原作者没有官方隶属或背书关系。
预览分享卡片长什么样 ↓Emm9262/whale-girl-touchbar
分享 · DeepSeek Harness Hub
Emm9262/whale-girl-touchbar

在 Touch Bar 上养鲸鱼娘和三花猫,可触摸互动

这是你的仓库?认领条目

回到顶部