DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

jiaqinzhang123 /

peon-voice

Topic repository only

给 DeepSeek Harness 用的语音 + 主题音乐插件:在 agent 会话生命周期事件上播放随机语音提示,并按主题播放网易云音乐背景乐。

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@55645b83

peon-voice — 语音主题包插件(DSH)

给 DeepSeek Harness 用的语音 + 主题音乐插件:在 agent 会话生命周期事件上播放随机语音提示,并按主题播放网易云音乐背景乐。

  • 🎙️ 语音包:新会话(问候)、收到消息(应答)、一轮完成(完成)、agent 向你提问(提问)时随机播放对应语音,多条随机且避免连播同一条
  • 🎵 主题包:切换主题时自动切换对应语音包,并播放该主题关键词搜到的网易云歌单
  • 🔊 网易云音乐:匿名接口获取免费歌曲并后台顺序播放,不可播 VIP 歌曲(自动跳过);歌单全部播完或连续多首无法播放时自动切换到新歌单;播放语音时背景乐自动闪避(duck)
  • 🖥️ 双端实现:Host 端(Node,注册 /peon/* HTTP 路由)+ Client 端(浏览器,轮询事件队列并播放)
  • 🔄 每次启动重置:播放状态不持久化,每次打开 DSH 都会重新随机挑选歌单(主题/语音包选择会保留)

目录结构

peon-voice/
├── lib/
│   ├── index.js        # Host 端:事件监听、语音/主题扫描、HTTP 路由
│   ├── client.js       # Client 端:浏览器 UI + 音频播放(__ModuleLoader__ 模块)
│   └── netease.js      # 网易云客户端(匿名歌单搜索、流媒体代理)
├── voice-packs/        # 语音包(每个子目录一个包)
│   ├── orc/            # 兽人男声 · Orc Peon
│   └── female/         # 日语动漫萌音 · 女生
├── theme-packs/        # 主题包(每个子目录一个主题)
│   ├── orc-epic/       # 兽人史诗
│   └── anime/          # 日系动漫
└── package.json

安装

把本仓库放到 DSH profiles 的 node_modules 下(或通过路径引用),然后在你的 cordis 配置(如 cordis.patch.yml)中注册该插件条目即可,例如:

plugins:
  peon-voice: {}

插件启动后会注册 /peon/* 路由;浏览器端会在 DSH Web 界面加载并开始播放。路径默认指向仓库内的 voice-packs/ 与 theme-packs/,克隆即用。

语音包格式

voice-packs/<pack-id>/ 下一个目录即一个语音包,文件名以类型开头即可(.mp3/.wav 均可,数字后缀随意):

文件名 触发时机
greeting-* 问候音:打开应用 / 新会话 / 切换工作区(可多条随机)
ack-* 应答音:收到消息时(可多条随机)
done-* 完成音:一轮对话完成时
question-* 提问音:agent 向你提问时

可选 pack.json:{"label": "显示名"}(不写则用目录名)。放好音频后在应用里切换到这个语音包即可,无需重启。

主题包格式

theme-packs/<theme-id>/pack.json:

{
  "label": "日系动漫",
  "voice": "female",
  "music": { "keywords": ["动漫主题曲", "二次元主题曲"] }
}
  • label:界面显示名
  • voice:切换该主题时自动切换的语音包 id
  • music.keywords:用于在网易云搜索歌单的关键词(每次从评分最高的若干歌单中随机选一个播放)

环境变量

所有路径都可通过环境变量覆盖,默认值开箱即用:

变量 默认值 说明
PEON_VOICE_PACKS <仓库>/voice-packs 语音包根目录
PEON_VOICE_THEMES <仓库>/theme-packs 主题包根目录
PEON_VOICE_STORE ~/.dsh/peon-voice-pack.json 当前选中语音包/主题的持久化
PEON_VOICE_DEBUG_LOG ~/.dsh/peon-voice-debug.log 调试日志

HTTP 路由

路由 说明
GET /peon/events 拉取并清空事件队列(Client 轮询)
GET /peon/audio?kind= 从当前语音包随机返回一条音频
GET /peon/packs · POST /peon/pack 列出 / 切换语音包
GET /peon/themes · POST /peon/theme 列出 / 切换主题(同时切换语音包)
GET /peon/music/playlist · GET /peon/music/stream?id= 主题歌单 / 歌曲流媒体代理
POST /peon/music/leader 心跳/竞选播放者,返回全局音乐状态
POST /peon/music/action 队列化一条播放命令(由播放者执行)
POST /peon/music/report 播放者上报播放状态(全局镜像)
GET /peon/status 插件状态总览

播放行为

  • 歌单内顺序播放,全部播放完毕自动切换到该主题的新随机歌单
  • VIP 受限歌曲播放失败时自动跳过;连续 3 首失败(歌单基本全是 VIP)自动切换新歌单
  • 手动「切歌」仍为随机(不重复上一首),手动「切歌单」立即换一个新歌单
  • 播放状态(当前歌单/曲目)不持久化:每次打开 DSH 都是新的随机歌单
  • 多窗口/多标签全局统一:同时开多个会话(多个浏览器上下文)时,由 Host 仲裁出唯一播放者实际播放音乐,其余上下文静默并镜像同一播放状态(歌单/曲目/播放/暂停、主题与语音包切换全部同步);播放者窗口关闭后自动移交并续播同一曲目。语音提示保持各上下文独立触发,不做全局统一。

免责声明

  • 语音素材版权归原版权方所有:兽人苦工 / 人类农民语音出自《魔兽争霸 III》(© Blizzard Entertainment),女生语音包素材版权归原作者所有。本仓库仅供个人娱乐学习使用,请勿商用。
  • 网易云音乐接口为非官方匿名实现(公开 /api 端点),仅作个人使用;VIP 歌曲不可播放,请遵守网易云音乐服务条款。
DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout
—/ 5

No ratings yet

Manifest verification required

Commit 55645b83c724

Community comments

No comments yet. Be the first to write one.