dsh-web-speech-input
leozou320-ai
Voice-to-text for the DeepSeek Harness Web UI — live, editable, never auto-sends. | DeepSeek Harness 网页语音输入
PROJECT TOPICS
PROJECT README
在Harness执行工作的间隙,探索你与模型娘间“非比寻常”的同事关系。
dsh-whale-galgame 为 DeepSeek Harness Web 挂载一个独立的多角色轻量 Galgame 游戏面板。插件用本地确定性规则将同一工作区近期的调试、写作、调研等活动归为 11 类任务事件;进入 Galgame 闲聊时,当前角色可以自然回应刚才的工作。Harness 中用户提交的原文只参与本地分类,回复模型仅收到固定的任务类别与状态提示,工具参数、工具结果和 assistant 回复正文不会进入这条感知链路。
项目案例展示了DeepSeek、Claude、GPT、Gemini、Kimi、Grok 模型所对应的六位独立角色,角色立绘与实际回复模型可以自由选择。每位角色单独保存关系进度、近期对话上下文、聊天记录、任务事件提及状态、CG、定制立绘和内置背景选择。好感度由三类回复选项、插件运行期间新观察到的 Harness token 用量和长期未互动共同影响,等级不设上限。配置 DashScope key 后,升级可生成与近期任务呼应的 1920 × 1080 横向纪念 CG;桌宠可独立关闭,点击时会打开 Galgame。

deepseek-v4-flash、跟随工作区,或从 DSH 模型目录中选择。galgame 标签页。每个角色都从 Lv.1、0 点好感开始,状态彼此独立。亲近、普通、疏离三个回复选项分别结算 +1、0、-1,位置每轮随机;自由输入使用轻量关键词规则结算。插件运行期间,同一工作区新产生的 Harness assistant/message usage 事件中,输入与输出 token 每累计 5,000 个,当前角色增加 1 点;每次结算最多兑换 3 点,余量继续保留,插件自身发起的模型调用不计入,也不回算历史 usage。超过 24 小时未活动后,所有角色按每天 2 点衰减,最低为 0。
升级阈值为 30 + 15 × (Lv - 1),即 30、45、60……。达到阈值后升级,超出部分保留到下一级。等级不设上限。角色语气随关系进度分为五档,Lv.5 后保持最高亲昵档。配置了可用的 DashScope key 时,每次升级会尝试生成一张特殊 CG。
插件最多检查同一工作区内最近 72 小时的 16 个顶层 Harness 会话,包括实时与已保存会话,并只扫描每个会话末尾 240 条事件。本地、确定性规则将任务归为代码调试、代码开发、文档总结、文档写作、文学创作、资料调研、数据分析、视觉设计、演示文稿、翻译校对或任务规划。本地分类只使用真人明确提交的 user 正文,并可参考工具名与轮次结束状态;不读取或发送工具参数、工具结果和 assistant 正文。
只有固定的任务类别与状态提示会发给 Galgame 回复模型和 CG 生成服务。模型娘会在回应当前话题时自然带到一句相关关心,例如代码调试后提醒主人不要熬夜。每个角色分别保存事件指纹与最近提及时间:同一事件对该角色只主动提一次,不同事件之间至少间隔 30 分钟。任务事件只影响话题,不直接增减好感度。
插件安装包内嵌并使用 22 项美术素材:六张角色立绘、七张内置背景、八张鲸鱼娘立绘差分,以及一张来自 dsh-deepseek-girl-pet 的 11 行桌宠动画图集。下面六张图是各模型角色的默认立绘;GitHub 源码仓库中的 assets/default/ 列出了全部图片及其运行时用途。npm 安装包只携带内嵌后的客户端 bundle,不重复收录导出原图或生成图源码。
![]() DeepSeek · 鲸鱼娘 |
![]() Claude · 克洛德 |
![]() GPT · 小吉 |
![]() Gemini · 双子 |
![]() Kimi · 月见 |
![]() Grok · 洛可 |
六个角色的新背景如下。Claude、GPT、Gemini、Kimi 和 Grok 默认使用各自背景;DeepSeek 鲸鱼娘仍以 palace-night.webp 深海宫殿为默认,下图海边书房是内置可选替代。
![]() DeepSeek · 可选替代 |
![]() Claude |
![]() GPT |
![]() Gemini |
![]() Kimi |
![]() Grok |
完整运行时素材还包括八张原始分辨率透明 whale-*.png 表情,以及 8 列 × 11 行的 pet-spritesheet.webp 桌宠动画图集。前 21 张默认图片与桌宠图集采用不同许可;来源、修改内容和逐文件许可见 NOTICE 与 第三方许可索引。
Galgame 界面的布局、对话框、控件和装饰随 src/client/index.ts 公开,不依赖未公开的 UI 图片包。
需要已安装 DeepSeek Harness,并能运行 dsh 的 Web profile。
dsh plugin --profile web add github:JAdpp/dsh-whale-galgame#main
安装完成后,先停止正在运行的 Web profile,再重新启动:
dsh --profile web
如果源码安装提供的是 pnpm dsh,保留相同参数即可。
dsh plugin --profile web update @dsh-external/dsh-whale-galgame
dsh plugin --profile web remove @dsh-external/dsh-whale-galgame
更新或卸载后同样需要停止并重新启动 Web profile。

在 Galgame 顶栏可以切换“角色来源”和“实际对话”,也可以上传背景或当前角色的立绘。背景和立绘支持 PNG、JPEG、WebP、AVIF,浏览器端单个文件上限为 12 MB。
在“设置 → 插件 → 插件配置”中可以启停插件、设置默认角色和默认回复模型。关闭插件会暂停 Galgame 对话和好感度结算,但不会删除已有数据。
升级 CG 默认通过 DashScope 的 qwen-image-3.0 生成,尺寸为 1920 × 1080。没有 DashScope key 时,聊天、角色切换、历史、好感度和自定义图片仍可使用,只有 CG 生成不可用。
推荐只通过启动 DSH 的本地环境变量提供 key:
$env:DASHSCOPE_API_KEY = 'your-local-key'
dsh --profile web
DASHSCOPE_API_KEY='your-local-key' dsh --profile web
不要把真实 key 写入仓库文件或提交到 Git。
运行时数据保存在当前工作区根目录的 .whale-girl-save.json,其中可能包含角色状态、聊天记录、CG、用户背景和用户立绘。请把它当作私人数据处理。
本插件仓库的 .gitignore 无法自动保护其他工作区。如果当前工作区本身也是 Git 仓库,请在该工作区的 .gitignore 中加入:
.whale-girl-save.json
.whale-girl-save.*.json
npm ci
npm run sanitize:backgrounds
npm run embed:art
npm run export:art
npm run verify
仓库提交了可直接安装的 lib/index.js 和 lib/client.js。修改 src/ 后需要重新构建并提交这两个文件;npm run sanitize:backgrounds 会剥离六张角色背景的非画面 PNG 元数据,npm run embed:art 会将白名单原图写入运行时,npm run export:art 则反向导出公开的 22 项运行时美术以供核对。
代码、Galgame UI 实现与文档采用 MIT License。六张角色立绘、七张内置背景和八张鲸鱼娘表情,共 21 张默认图片,采用 CC BY-NC-SA 4.0;本项目制作的 AI 辅助图片仅在维护者持有相应权利的范围内按该许可提供。pet-spritesheet.webp 桌宠图集及直接继承自 dsh-deepseek-girl-pet 的代码沿用其 MIT 许可。逐文件边界见 NOTICE,上游许可原文见 assets/default/licenses/。
最后,感谢以下创作者把具体作品和实现经验分享给社区:
pet-spritesheet.webp 与上游相同;本项目调整了插件集成方式与界面样式,并加入点击桌宠进入 Galgame 界面的交互。如果这些开源素材和实现对你有帮助,欢迎给 dsh-deep-whale 与 dsh-deepseek-girl-pet 点个 Star,也可以在 Pixiv 或 Bilibili 关注上善与 ZipZipPipe。插件安装、运行或兼容性问题请提交到本仓库 Issues,不要打扰素材作者排查插件代码。
DeepSeek、Claude、ChatGPT/GPT、Gemini、Kimi、Grok 等名称和商标归各自权利人所有。本项目是非官方社区插件,与相关厂商不存在隶属、合作或背书关系。
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。