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

大鲸鱼桌宠 Aliciawque/dsh-big-whale

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

陪写代码的鲸鱼娘,随事件换表情语音并捧饭

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

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

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

状态速览

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

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

验证判据与等级说明 →

可信度证据

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

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

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 34 处,展示前 34 条)
  • 读取本地文件
    lib/host.mjs:12
    const {version} = JSON.parse(await readFile(path.resolve(folder,'../package.json'),'utf8'));
  • 发起网络请求
    lib/client.js:5
    useEffect(()=>{let alive=true,timer;const poll=async()=>{let next=1000;try{const response=await fetch('/whale-companion/state');if(response.ok&&alive)
  • 发起网络请求
    lib/client.js:22
    const start=async()=>{setStarting(true);try{const response=await fetch('/whale-companion/desktop/start',{method:'POST'});if(response.ok)setDesktop(awa
  • 执行外部命令来自配置/变量
    bin/desktop.mjs:11
    const result=spawnSync(process.execPath,[...flags,install],{stdio:'inherit',windowsHide:true,env:environment});process.exit(result.status??1);
  • 读取本地文件
    lib/desktop.mjs:9
    const override=process.env.DSH_BIG_WHALE_ELECTRON;if(override&&existsSync(override))return override;
  • 写入本地文件
    lib/desktop.mjs:15
    mkdirSync(dataPath,{recursive:true});starting=true;lastError='';
  • 执行外部命令来自配置/变量
    lib/desktop.mjs:16
    child=spawn(binary,[path.join(root,'desktop'),'--dsh-origin='+getOrigin(),'--host-pid='+process.pid,'--data-path='+dataPath],{cwd:path.join(root,'desk
  • 读取本地文件
    lib/routes.mjs:21
    const root = await realpath(assetsRoot);
  • 读取本地文件
    lib/routes.mjs:51
    const resolved = await realpath(candidate);
  • 读取本地文件
    lib/routes.mjs:52
    if (!resolved.startsWith(root + path.sep) || (await stat(resolved)).isDirectory()) { res.writeHead(403).end(); return; }
  • 读取本地文件
    lib/routes.mjs:53
    res.setHeader('Content-Type', mime[ext]); res.end(await readFile(resolved));
  • 读取本地文件
    lib/electron-runtime.mjs:7
    const file=packageFile??require.resolve('electron/package.json'),folder=path.dirname(file),metadata=JSON.parse(readFileSync(file,'utf8'));
  • 读取本地文件
    lib/electron-runtime.mjs:8
    const relative=readFileSync(path.join(folder,'path.txt'),'utf8').trim(),dist=path.resolve(folder,'dist'),binary=path.resolve(dist,relative);
  • 读取本地文件
    lib/electron-runtime.mjs:9
    if(!relative||!binary.startsWith(dist+path.sep)||!existsSync(binary))return null;
  • 读取本地文件
    lib/electron-runtime.mjs:10
    if(readFileSync(path.join(dist,'version'),'utf8').trim().replace(/^v/,'')!==metadata.version)return null;
  • 读取本地文件
    bin/claude-code-companion.mjs:17
    const { version } = JSON.parse(readFileSync(path.join(root, 'package.json'), 'utf8'));
  • 执行外部命令固定命令
    bin/claude-code-companion.mjs:26
    const sid = execFileSync('whoami.exe', ['/user', '/fo', 'csv', '/nh'], { encoding: 'utf8', windowsHide: true }).match(/S-1- +(?:- +)*/)?.[0];
  • 执行外部命令固定命令
    bin/claude-code-companion.mjs:28
    execFileSync('icacls.exe', [file, '/inheritance:r', '/grant:r', `*${sid}:(F)`], { windowsHide: true, stdio: 'ignore' });
  • 写入本地文件
    bin/claude-code-companion.mjs:32
    mkdirSync(dataPath, { recursive: true });
  • 写入本地文件
    bin/claude-code-companion.mjs:37
    try { restrictFile(lockFile); writeFileSync(fd, String(process.pid)); }
  • 删除本地文件
    bin/claude-code-companion.mjs:38
    catch (error) { closeSync(fd); rmSync(lockFile, { force: true }); throw error; }
  • 读取本地文件
    bin/claude-code-companion.mjs:43
    const holder = Number(readFileSync(lockFile, 'utf8')) || 0;
  • 删除本地文件
    bin/claude-code-companion.mjs:45
    rmSync(lockFile, { force: true });
  • 写入本地文件
    bin/claude-code-companion.mjs:73
    writeFileSync(runtimeFile + '.tmp', '', { mode: 0o600 });
  • 写入本地文件
    bin/claude-code-companion.mjs:76
    writeFileSync(runtimeFile + '.tmp', JSON.stringify(runtime, null, 2));
  • 写入本地文件
    bin/claude-code-companion.mjs:77
    renameSync(runtimeFile + '.tmp', runtimeFile);
  • 删除本地文件
    bin/claude-code-companion.mjs:79
    rmSync(runtimeFile + '.tmp', { force: true });
  • 删除本地文件
    bin/claude-code-companion.mjs:80
    rmSync(lockFile, { force: true });
  • 读取本地文件
    bin/claude-code-companion.mjs:96
    try { const text = readFileSync(file, 'utf8'); if (text.includes(String(process.pid))) rmSync(file, { force: true }); } catch {}
  • 删除本地文件
    bin/claude-code-companion.mjs:96
    try { const text = readFileSync(file, 'utf8'); if (text.includes(String(process.pid))) rmSync(file, { force: true }); } catch {}
  • 执行外部命令来自配置/变量
    bin/launch-claude-code-companion.mjs:8
    const child = spawn(process.execPath, [companion], {
  • 写入本地文件
    desktop/main.cjs:19
    writeQueue=writeQueue.then(async()=>{try{await fs.writeFile(runtimeFile+'.tmp',JSON.stringify(value,null,2));await fs.rename(runtimeFile+'.tmp',runtim
  • 发起网络请求
    hooks/claude-code.ts:52
    const response = await $.http.fetch(`${target.origin}/whale-companion/event`, {
  • 发起网络请求
    hooks/claude-code.ts:116
    const { text } = await $.http.fetch(`${runtime.origin}/whale-companion/state`)
扫描于 2026/11/4(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

社区实装还没有人打卡 · 装过的第一个就是你
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

大鲸鱼 / Big Whale / 大クジラ —— 一个三语 DSH 桌面伙伴,带口型同步、表情、待机动作,还有上下文压缩时吃的米饭。

README

由 DeepSeek 最新模型翻译生成
大鲸鱼 — 陪你写代码的桌宠 English · 简体中文 · 日本語 给 DeepSeek Harness 使用的鲸鱼娘编程伙伴。写代码时陪着你,根据事件切换语音和表情;上下文压缩时,会捧起一碗超大的白米饭。 日常女仆装 女仆装半身细节 · 2048 × 2560女仆装全身展示 · 2048 × 3640 截图由已发布的 0.6.0-rc.5 模型原生渲染。点击任意图片可查看完整分辨率 PNG。 观看 B站中文版功能演示或 YouTube 英文版。 万圣节小魔女套装 点击游动的小鲸鱼,在 套装 → 小魔女 切换装扮;选择 日常女仆 即可换回。魔女套使用小南瓜菜单按钮。 - 分层服装: 女巫帽、披风、胸前蝴蝶结、袖子、袖口和多层裙摆分别保留回弹物理。 - 鬼魂提灯: 右手提着复古灯,灯体有滞后左右摇摆,亮度按暗色/半亮/亮循环。 - 专属捧饭: 魔女袖子和双手捧着超大白米饭,可点击 捧饭预览 查看。 - 通用调控: 两套服装的身体大小一致,表情、待机动作、鼠标跟随与语音控制通用;菜单避开人物展开,待机动作幅度滑块保留。 主动切换为小魔女时,会按当前所选语言播放换装台词: | 中文 | English | 日本語 | | 我是小魔女,不给糖就捣乱! | I'm a little witch. Trick or treat! | 私は小さな魔女。
展开完整文档(README 剩余 1 节)
大鲸鱼 — 陪你写代码的桌宠

English · 简体中文 · 日本語

给 DeepSeek Harness 使用的鲸鱼娘编程伙伴。写代码时陪着你,根据事件切换语音和表情;上下文压缩时,会捧起一碗超大的白米饭。

日常女仆装

女仆装半身细节 · 2048 × 2560女仆装全身展示 · 2048 × 3640

截图由已发布的 0.6.0-rc.5 模型原生渲染。点击任意图片可查看完整分辨率 PNG。

观看 B站中文版功能演示或 YouTube 英文版。

万圣节小魔女套装

点击游动的小鲸鱼,在 套装 → 小魔女 切换装扮;选择 日常女仆 即可换回。魔女套使用小南瓜菜单按钮。

- 分层服装: 女巫帽、披风、胸前蝴蝶结、袖子、袖口和多层裙摆分别保留回弹物理。
- 鬼魂提灯: 右手提着复古灯,灯体有滞后左右摇摆,亮度按暗色/半亮/亮循环。
- 专属捧饭: 魔女袖子和双手捧着超大白米饭,可点击 捧饭预览 查看。
- 通用调控: 两套服装的身体大小一致,表情、待机动作、鼠标跟随与语音控制通用;菜单避开人物展开,待机动作幅度滑块保留。

主动切换为小魔女时,会按当前所选语言播放换装台词:

| 中文 | English | 日本語 |
| 我是小魔女,不给糖就捣乱! | I'm a little witch. Trick or treat! | 私は小さな魔女。お菓子をくれなきゃ、いたずらしちゃうよ! |

魔女套半身细节 · 2048 × 2560魔女套全身展示 · 2048 × 3640

截图由已发布的 0.6.0-rc.5 模型原生渲染。点击任意图片可查看完整分辨率 PNG。

可以做什么

- 中、英、日三语录音和连续口型,讲话时也能切换表情。
- 鼠标跟随、拖动惯性、双击切换半身,头发与眼睛的物理效果。
- 五种待机动作、八种表情,以及跟随事件的自动表情。
- 点击互动、催你专心、事件播报和捧饭动作。
- 游动的小鲸鱼菜单;支持 Windows 独立桌面模式和 DSH 页内显示。

安装

已测试 DSH 0.2.1-rc.5、Node.js 22.17+。请安装到已有的 Web 类型 profile;下面的 web 可替换为你的 profile 名称。

dsh plugin --profile web add dsh-big-whale@0.6.0-rc.5
dsh web

如果 DSH 已在运行,安装后重启对应 profile。公开预发布频道为 dsh-big-whale@next。

Windows 桌面模式使用可选的官方 Electron 运行时。如果包管理器跳过了依赖安装脚本,在已安装的插件目录执行以下命令,然后重启 DSH:

node bin/desktop.mjs setup

DSH 浏览器最小化后,她仍能留在桌面上;DSH 宿主进程需要保持运行。通过小鲸鱼菜单关闭她,再从 DSH 的小鲸鱼入口重新开启。没有可用桌面运行时时,会在 DSH 页面内显示。

操作

拖动调整位置,双击切换全身/半身。点击游动的小鲸鱼,可选语言、播放自我介绍、切换待机动作和表情,也可以触发捧饭。

待机:自然呼吸、扭身、左右倾身、害羞摇摆、综合展示。表情:正常、开心、眯眼笑、冷淡、惊讶、流泪、卖萌、撒娇生气,以及跟随事件。

待机动作下方的幅度滑块可调节 20%–120% 的摆动幅度,默认 80%。调整立即生效,重启后保留;自然呼吸保持原有的轻微幅度。

内置语音不需要 Gemini 或 GLM 密钥,DSH 继续使用你自己的模型和提供方配置。目前不包含任意新文本即时 TTS;词级对齐为声学对齐,词内音素时长仍是估计。

插件市场

仓库提供已通过 DSH 格式 1 校验的索引:

https://raw.githubusercontent.com/Aliciawque/dsh-big-whale/main/market-index.json

在启用「自定义插件市场」的 DSH profile 中,打开 插件 → 发现 → 添加索引源,添加上面的地址。社区目录的抓取、审核与官方收录各有独立流程,详见 市场说明。

社区认可

本项目认可并支持 LINUX DO 社区的开放交流与知识分享。

许可与署名

插件代码保留 MIT 声明。角色设定与衍生美术遵循 CC BY-NC-SA 4.0:署名、非商用、相同方式共享。原设署名:上善无形、ZipZipPipe。代码许可不等于角色商用授权。

这是同人社区项目,非 DeepSeek 官方产品。图片包含 AI 辅助生成、分层和修整,语音为合成语音。

署名 · 许可 · 隐私 · 验证记录 · 宣传草稿 · 反馈
预览分享卡片长什么样 ↓Aliciawque/dsh-big-whale
分享 · DeepSeek Harness Hub
Aliciawque/dsh-big-whale

陪写代码的鲸鱼娘,随事件换表情语音并捧饭

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