dsh-fairy
DeepSeek Harness 的多窗插件
- Stars
- 0
- Language
- JavaScript
- Created
- Aug 22, 2026
- Updated
- Aug 22, 2026
Introduction
🧚♀️ dsh-fairy — 花仙子桌宠插件
一个 DeepSeek Harness (DSH) 的动态 Cordis 桌宠插件:桌面上会有一只飞行的花仙子,带着粉色光晕和飘落的花瓣 ✨🌸,点击她就会用「豆包 TTS」的甜美声音说出:
"你是最棒的,继续加油哦!"
✨ 特性
- 🧚♀️ 花仙子沿屏幕上方缓缓飞行(22s 横穿一次),带上下飘浮
- 💗 柔和粉色光晕 + ✨ 星光 + 🌸 花瓣粒子
- 🔊 点击播放豆包 TTS(火山引擎)预合成的「甜美小源 BV405」音色语音
- 💬 同时弹出粉色对话气泡
- 🛟 音频加载失败时自动回退到浏览器内置语音合成(Web Speech API)
- ⚡ 语音音频预生成、本地缓存,点击即时播放、无网络延迟
📁 目录结构
dsh-fairy/
├── client.js # 浏览器端:花仙子渲染 + 动画 + 点击播放
├── host.js # Host 端:读取本地音频文件并通过私有 RPC 提供给浏览器
├── fairy-voice.mp3 # 豆包 TTS 预生成语音(运行 scripts/generate-voice.sh 生成,不入库)
├── scripts/
│ └── generate-voice.sh # 一键调用豆包 TTS 生成语音文件
└── README.md
🚀 安装使用
1. 生成语音文件
插件依赖一个本地 mp3 语音文件,通过豆包(火山引擎)TTS API 生成:
bash scripts/generate-voice.sh
脚本默认生成到当前目录的 fairy-voice.mp3。
需要火山引擎 TTS 的
APP_ID和ACCESS_TOKEN(开通地址),可通过环境变量DOUBAO_APP_ID/DOUBAO_ACCESS_TOKEN传入。
2. 配置音频路径
编辑 host.js 顶部的 AUDIO_PATH,指向生成的 fairy-voice.mp3 绝对路径:
const AUDIO_PATH = '/Users/yourname/dsh-fairy/fairy-voice.mp3'
3. 在 DSH 中定义并运行插件
在 DSH 会话中,把 host.js 与 client.js 的内容分别作为动态 Cordis 插件的
code.host 与 code.client 提交给 cordis_define,再用 cordis_run 激活:
cordis_define(plugin: { kind: 'new', idPrefix: 'fairy' },
name: '花仙子桌宠',
code: { host: <host.js 内容>, client: <client.js 内容> })
cordis_run(pluginId: 'fairy-x', packageId: 'pkg-x', mode: 'run')
授权通过后,花仙子就会出现在页面上方飞行 🎉
⚙️ 自定义
| 想改什么 | 改哪里 |
|---|---|
| 台词 | client.js 的 MESSAGE + 重新运行生成脚本 |
| 音色 | scripts/generate-voice.sh 的 VOICE_TYPE(如 BV104_streaming 温柔淑女、BV115_streaming 古风少御) |
| 飞行速度 | client.js 中 fairy-dsh-fly 动画的 22s |
| 飞行高度 | client.js 中 fairy-dsh-bob / .fairy-dsh-fly 的 top 值(vh) |
| 大小 | client.js 中 .fairy-dsh-body 的 font-size |
可用豆包音色(部分)
| 音色 | voice_type | 特点 |
|---|---|---|
| 甜美小源 | BV405_streaming | 默认,甜美可爱 |
| 温柔淑女 | BV104_streaming | 温柔文艺 |
| 古风少御 | BV115_streaming | 古风韵味 |
| 通用女声 | BV001_streaming | 通用场景 |
| 灿灿 2.0 | BV700_V2_streaming | 22 种情感 |
📄 License
MIT