Back to home@yangkunlun

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_IDACCESS_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.jsclient.js 的内容分别作为动态 Cordis 插件的 code.hostcode.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.jsMESSAGE + 重新运行生成脚本
音色scripts/generate-voice.shVOICE_TYPE(如 BV104_streaming 温柔淑女、BV115_streaming 古风少御)
飞行速度client.jsfairy-dsh-fly 动画的 22s
飞行高度client.jsfairy-dsh-bob / .fairy-dsh-flytop 值(vh)
大小client.js.fairy-dsh-bodyfont-size

可用豆包音色(部分)

音色voice_type特点
甜美小源BV405_streaming默认,甜美可爱
温柔淑女BV104_streaming温柔文艺
古风少御BV115_streaming古风韵味
通用女声BV001_streaming通用场景
灿灿 2.0BV700_V2_streaming22 种情感

📄 License

MIT