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

鲸鱼娘桌宠 YuluoY/dsh-kujira

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

DeepSeek Harness Web 鲸鱼娘桌宠插件:任务进展、会话费用、账户余额、峰谷调度与互动养成。

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

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

该插件未发布到 npm,按作者文档从 GitHub 源安装即可(静态检查只覆盖 npm 路径,不代表插件不可用)。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add YuluoY/dsh-kujira
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么
dsh 原生插件 · ui
装得上吗
作者未把包发布到 npm,只能用源码安装
插件本身没问题,是分发方式不同
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 36 天前
档位由哪些信号合成

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装

仓库 package.json 标记 private,未发布到 npm,需从源码安装

展开查看检查明细 ↓

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

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

源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/27 17:52:43

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

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

读写/删除本地文件写入剪贴板(不计风险)发起外部网络请求
查看扫描证据(共 39 处,展示前 39 条)
  • 读取本地文件
    lib/index.js:201
    const info = await stat(CONFIG_FILE),
  • 读取本地文件
    lib/index.js:204
    const raw = await readFile(CONFIG_FILE, "utf8"),
  • 写入本地文件
    lib/host/harness-update.js:78
    await mkdir(directory, { recursive: true });
  • 写入本地文件
    lib/host/harness-update.js:79
    await writeFile(file + ".tmp", body, { mode: 0o600 });
  • 写入本地文件
    lib/host/harness-update.js:80
    await rename(file + ".tmp", file);
  • 读取本地文件
    lib/host/harness-update.js:88
    const raw = await readFile(file, "utf8");
  • 写入本地文件
    lib/host/harness-update.js:176
    await mkdir(lockDirectory, { recursive: true });
  • 读取本地文件
    lib/host/harness-update.js:183
    const previous = JSON.parse(await readFile(lock, "utf8"));
  • 删除本地文件
    lib/host/harness-update.js:187
    if (failure.code === "ESRCH") { await unlink(lock); return acquireLock(); }
  • 删除本地文件
    lib/host/harness-update.js:235
    if (locked) await unlink(lock).catch(() => {});
  • 读取本地文件
    lib/host/holidays.js:50
    const ready = disabled ? Promise.resolve() : readFile(path, "utf8").then((raw) => {
  • 写入本地文件
    lib/host/holidays.js:95
    await mkdir(directory, { recursive: true });
  • 写入本地文件
    lib/host/holidays.js:96
    await writeFile(path + ".tmp", JSON.stringify({ checkedAt, years: [...years.values()] }), { mode: 0o600 });
  • 写入本地文件
    lib/host/holidays.js:97
    await rename(path + ".tmp", path);
  • 读取本地文件
    lib/host/routes.js:445
    await readFile(join(PACKAGE_ROOT, "package.json"), "utf8"),
  • 读取本地文件
    lib/host/scheduler.js:47
    const ready = readFile(file, "utf8")
  • 写入本地文件
    lib/host/scheduler.js:243
    await mkdir(directory, { recursive: true });
  • 写入本地文件
    lib/host/scheduler.js:245
    await writeFile(
  • 写入本地文件
    lib/host/scheduler.js:250
    await rename(temp, file);
  • 发起网络请求
    lib/host/balance.js:164
    res = await fetch(BALANCE_URL, {
  • 发起网络请求
    lib/host/weather.js:76
    const res = await fetch(url, {
  • 写入本地文件
    lib/host/realtime.js:59
    const save = async () => { if (disabled) return; await mkdir(cacheDir, { recursive: true }); const tmp = path + '.tmp'; await writeFile(tmp, JSON.stri
  • 写入本地文件
    lib/host/realtime.js:59
    const save = async () => { if (disabled) return; await mkdir(cacheDir, { recursive: true }); const tmp = path + '.tmp'; await writeFile(tmp, JSON.stri
  • 写入本地文件
    lib/host/realtime.js:59
    const save = async () => { if (disabled) return; await mkdir(cacheDir, { recursive: true }); const tmp = path + '.tmp'; await writeFile(tmp, JSON.stri
  • 读取本地文件
    lib/host/realtime.js:60
    const ready = disabled ? Promise.resolve() : readFile(path,'utf8').then(raw => {
  • 读取本地文件
    lib/host/harness-install.js:119
    const value = JSON.parse(await readFile(join(path, "package.json"), "utf8"));
  • 读取本地文件
    lib/host/harness-install.js:122
    return { root: await realpath(path), version: value.version };
  • 读取本地文件
    lib/host/harness-install.js:136
    try { directory = dirname(await realpath(entry)); } catch { directory = null; }
  • 读取本地文件
    lib/host/harness-dependencies.js:8
    const file = await realpath(path);
  • 读取本地文件
    lib/host/harness-dependencies.js:9
    return { ...JSON.parse(await readFile(file, "utf8")), file };
  • 读取本地文件
    lib/host/http.js:53
    info = await stat(file);
  • 读取本地文件
    lib/host/http.js:108
    const stream = createReadStream(file, info.size ? { start, end } : {});
  • 读取本地文件
    lib/host/http.js:163
    const info = await Promise.all(files.map((file) => stat(file)));
  • 读取本地文件
    lib/host/http.js:170
    await Promise.all(files.map((file) => readFile(file, "utf8")))
  • 写入本地文件
    lib/host/inventory-store.js:11
    mkdirSync(directory, { recursive: true, mode: 0o700 });
  • 写入本地文件
    lib/host/inventory-store.js:14
    chmodSync(file, 0o600);
  • 读取本地文件
    lib/host/inventory-store.js:79
    readFileSync(join(directory, "inventory.json"), "utf8"),
  • 写入剪贴板
    lib/shared/panel-controls.js:394
    else await navigator.clipboard.writeText(id);
  • 发起网络请求
    lib/shared/usage-ui.js:64
    const response = await fetch(
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-ui-slots@deepseek-ai/dsh-host-webserver
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

界面预览

2 张 · 点击查看大图

功能亮点

  • 显示任务进展
  • 查看会话费用
  • 查询账户余额

README

由 DeepSeek 最新模型翻译生成
Kujira · 鲸鱼娘 DeepSeek Harness Web 桌宠插件 — 查看任务进度、会话费用和账户余额,支持峰谷调度、互动养成与独立桌面模式。 English · 下载 · 使用说明 · 桌面模式 · 反馈 Release Desktop CI MIT 独立预览截图;下方余额面板使用演示金额。 ✨ 功能特性 - 任务进展 — 显示当前操作、计划和子代理状态,展开查看结果与文件,通过入口跳转到对应会话。 - 峰谷调度 — 同一 DSH 服务中的主代理和子代理,峰价暂停、谷价续跑。主动发送或单独继续可放行当前任务树至本段峰价结束;默认关闭,在设置中开启。 - 费用与余额 — 输入框右下方显示峰谷状态和当前会话与嵌套子代理的合计费用;余额读取 DSH 已配置的 DeepSeek 账户。 - 互动养成 — 130 段同人物透明动画覆盖待机、工作、作息、节日和互动;连续使用物品无冷却,消费按可配置概率掉落物品,可开启无限互动。运行中不调用模型生成回应,也不预加载全部素材。 - 桌面模式 — Electron 桌面应用独立运行,与浏览器插件共用人物、动画和设置;支持浏览器/桌面显示接管、托盘菜单、透明区域鼠标穿透和置顶,可从人物菜单或托盘按需启动本机 DSH。
展开完整文档(README 剩余 1 节)
Kujira · 鲸鱼娘

DeepSeek Harness Web 桌宠插件 — 查看任务进度、会话费用和账户余额,支持峰谷调度、互动养成与独立桌面模式。

English · 下载 · 使用说明 · 桌面模式 · 反馈

Release Desktop CI MIT

独立预览截图;下方余额面板使用演示金额。

✨ 功能特性

- 任务进展 — 显示当前操作、计划和子代理状态,展开查看结果与文件,通过入口跳转到对应会话。
- 峰谷调度 — 同一 DSH 服务中的主代理和子代理,峰价暂停、谷价续跑。主动发送或单独继续可放行当前任务树至本段峰价结束;默认关闭,在设置中开启。
- 费用与余额 — 输入框右下方显示峰谷状态和当前会话与嵌套子代理的合计费用;余额读取 DSH 已配置的 DeepSeek 账户。
- 互动养成 — 130 段同人物透明动画覆盖待机、工作、作息、节日和互动;连续使用物品无冷却,消费按可配置概率掉落物品,可开启无限互动。运行中不调用模型生成回应,也不预加载全部素材。
- 桌面模式 — Electron 桌面应用独立运行,与浏览器插件共用人物、动画和设置;支持浏览器/桌面显示接管、托盘菜单、透明区域鼠标穿透和置顶,可从人物菜单或托盘按需启动本机 DSH。
- 个性化 — 调整位置、大小、气泡停留时间和菜单数量;设置自动保存,连续调整防抖;支持中、英、韩、俄及跟随系统。
- 扩展 — 天气、GitHub 快捷入口,以及供外部插件注册功能的扩展 API。

📦 安装

需要 Node.js 22.13+、pnpm 和可正常运行的 DeepSeek Harness Web,dsh 与 pnpm 命令须在 PATH 中。

在任意目录执行这一行,macOS、Linux 和 Windows 通用:

dsh plugin --profile web add https://github.com/YuluoY/dsh-kujira/releases/download/v0.2.8/dsh-kujira-0.2.8.tgz

DSH 自动下载、安装并注册插件,无需 Git、手动解压或进入项目目录。等正在执行的会话完成后,正常重启 DSH Web 并刷新页面。命令固定到明确版本;升级时使用新版发布包地址。

dsh plugin --profile web remove dsh-kujira

开发者需要链接本地源码时,可使用 npm run setup,详见安装、更新与卸载。

已在 DSH 0.1.5-rc.1 验证安装、真实余额与历史会话读取;调度使用该版本的 Agent 事件分发器验证。

📖 使用前了解

- 调度在 Agent 步骤边界 生效:已发出的模型请求或执行中的工具会先完成;手动取消的任务不会自动恢复,独立运行的其他 DSH 服务不受控制。
- 余额查询复用 DSH 凭据服务中的 DEEPSEEK_API_KEY,需要有效的 DeepSeek 官方 API 密钥;密钥只在宿主使用,不传给浏览器。
- 天气无需单独配置密钥:城市留空时按 DSH 服务的出口 IP 定位,填写城市则使用该城市;内置国内、国际天气源及失败回退。
- 切换国家/地区会按 Frankfurter 参考汇率显示人民币、美元、韩元或卢布(约合金额带 ≈ 标记);实际账户和结算币种保持不变。

更多文档:调度与补给规则 · 数据与隐私 · 动画及触发条件 · 性能与库存迁移 · 桌面模式

🖥️ 可选桌面模式(预览版)

桌面应用可独立运行,通过人物菜单打开本机 DSH;插件安装方式不变,桌面运行环境单独安装。外观与本地养成快照在浏览器/桌面两端同步;库存、奖励及调度仍由 DSH 服务负责,离线不伪造交易。平台边界、默认配置与构建方法见桌面模式文档。可选桌面预览包见 v0.2.8 Release 附件;这些预览包未签名。

🛠️ 开发

npm ci --legacy-peer-deps
npm run preview # http://127.0.0.1:8792/
npm test # 含 test:desktop 桌面模块测试
npm run lint
npm run typecheck

桌面应用开发与本地构建:

npm run desktop:install
npm run desktop:start
npm run desktop:build
无需前端构建。lib/host 处理宿主服务,lib/shared/client 与 lib/shared/task 负责界面,lib/styles 存放样式,desktop/ 为 Electron 桌面应用。类型检查覆盖已标注的模型、资源模块,以及轮询与取消基础设施。库存使用工作线程中的 SQLite 事务,旧 JSON 自动迁移并保留备份。

预览提供状态、费用和长内容示例。任务与费用使用隔离的模拟数据;余额和天气可能访问真实接口。

🤝 参与贡献

欢迎提交 Issue 和 PR:Bug、功能建议、文档修正和代码改进都欢迎,较大的改动建议先开 Issue 讨论。

反馈问题时请附 DSH 版本、复现步骤和必要截图,注意遮盖密钥及私人内容。修改界面时,请检查长文本、小窗口和四种语言。

联系作者:GitHub @YuluoY · 个人博客:uluo.cloud。项目相关问题请优先通过 Issue 沟通。

🌸 致谢

- yanzwzz/dsh-whale-girl-pet — 动画素材。
- PC2005-cloud/dsh-pet — 新增同人物动画(MIT 许可随素材提供)与参考实现。

👥 贡献者

Contributors

⭐ Star 历史

Star History

📄 许可

MIT © YuluoY。动画保留原作者版权;内置 i18next 与 Marked 保留各自许可。
预览分享卡片长什么样 ↓YuluoY/dsh-kujira
分享 · DeepSeek Harness Hub
YuluoY/dsh-kujira

DeepSeek Harness Web 鲸鱼娘桌宠插件:任务进展、会话费用、账户余额、峰谷调度与互动养成。

这是你的仓库?认领条目

回到顶部