前言¶
DeepSeek Harness(DSH)里的智能体往往一次任务要跑几分钟。若一直盯着界面等结果,手很难留在正在做的活上;需要你做决定时,又容易错过提问。常见做法是切回窗口看日志,或依赖云端 TTS 把长答案念完——前者打断工作,后者要 API、文本会上传。
下面介绍社区插件 dsh-phononspeak(维护者 meliodascz89):在本地合成语音,默认面向捷克语场景,只覆盖两类时刻——用一两句话朗读答案摘要,以及在需要你回到电脑前时用语音、通知和界面横幅提醒你。不念推理过程、不读代码块和长列表,也不把待合成文本送出本机。
这是什么¶
dsh-phononspeak 是 DSH 的客户端类 bundle 插件(npm 包名 dsh-phononspeak,当前资料中版本 0.1.0,MIT 许可证)。它在 Harness 内注册 host 侧能力(cordis.patch.yml → phononspeak),并通过 package.json 的 dsh.client 注入 Web 客户端:独立 Settings 页、浮动迷你播放器、工具卡片与克隆音色管理。
智能体通过单一工具 dsh_phononspeak 与插件交互;音频经 Harness 同源、支持 Range 的 URL 在页面播放,可暂停与 seek。
核心功能¶
两类用途(刻意收窄范围)¶
| 场景 | 行为 | 价值 |
|---|---|---|
| 朗读答案 | 模型调用 action=summary,传入 1–3 句捷克语摘要并播报 |
手不必离开当前工作,仍能听到结果 |
| 唤回注意 | 需要批准或回答时:action=attention,配合短句、macOS 通知(osascript)与界面横幅「Jsem tady」 |
不必盯屏,也不容易漏掉问题 |
可选 autoSummary:每次回答后自动摘要并朗读,同时在 system prompt 中启用对应说明。
面向播报的文本处理¶
合成前会去掉 Markdown 与代码围栏(被去掉的块会告知,而非静默跳过),URL 与路径转成可读词,去掉 emoji;数字、日期、金额与单位按捷克语性别读法处理,缩写展开,英文术语音译。结果按句切分,单句最长约 220 字符。
队列、优先级与停止¶
队列优先级:attention > question > summary > manual > test,同一时刻不重叠播报。action=stop 会中止正在进行的合成、结束播放器进程、清空队列与重复定时器;停止前的任务不会恢复。
注意力呼叫与确认¶
attention 可配置每 15、30 或 60 秒重复,直到你 action=ack 确认。
四套本地引擎¶
默认 engine=auto 依次尝试:supertonic → piper → pocket → say。仅使用本机已具备能力的引擎。开启 commercialMode 且未允许个人 allowPersonalVoice 时,链中会拒绝 macOS say(含显式 engine=say)。
- Supertonic 3(默认链首选)
- Piper
- Pocket TTS Czech(可选从 wav 克隆音色,UI 要求确认权利后再存路径)
- macOS
say
各引擎许可证在 UI 中展示;无云端 TTS、无 API key、不上传文本。
自带 UI¶
Settings 页 Phononspeak、浮动迷你播放器、专用工具卡片、克隆音色管理;首次安装 Web 半部分后需重载 Harness 窗口以加载客户端模块。
安装与启用¶
插件通过 plugin_manager 以 bundle 方式安装,不要凭仓库名自行拼接其它 CLI 命令。
本地开发目录(路径必须为绝对路径):
plugin_manager action="install_bundle" target="/absolute/path/to/dsh-phononspeak"
从 Git 安装(须使用完整 40 位 commit SHA):
plugin_manager action="install_bundle" target="git+https://github.com/meliodascz89/dsh-phononspeak.git#<40-hex-commit>"
仓库地址:https://github.com/meliodascz89/dsh-phononspeak。也可从该仓库 GitHub Pages 提供的 format-1 index.json 插件市场条目安装(git 源须 pin 到 commit SHA;index URL 须为最终地址,重定向会导致拉取失败)。
bundle 安装后在当前 profile 生效。若 Web 半部分为首次安装,请重载 Harness 窗口。
环境要求¶
| 要求 | 说明 |
|---|---|
@deepseek-ai/dsh-tools >=0.1.1-rc.2 <0.3.0 |
包声明的 peer 范围;不满足时 loader 会静默跳过插件 |
| Node.js >= 22 | package.json 的 engines.node |
| macOS | say、afplay、osascript 完整可用;Linux / Windows 仅页面播放器与非 Apple 引擎 |
| Python 3.10+ 与 venv | 仅 Supertonic 与 Pocket TTS Czech 需要;Piper 与 say 不需要 Python |
首次运行默认 autoProvision 开启时,若无可用引擎,host 会在后台准备 Supertonic(Python venv + 模型,约 0.5 GB 下载);Settings 与 GET /dsh-phononspeak/setup 可查看进度,离线时最多约每小时尝试一次。无网络时使用已安装的 Piper / macOS say 等,并报告各引擎不可用的原因。
安装后可用工具检查状态:
dsh_phononspeak action=status
典型用法¶
工具 dsh_phononspeak¶
必填参数 action;可选 text、voice、engine。
| action | 作用 |
|---|---|
summary |
朗读 1–3 句捷克语答案摘要(插件主要用途) |
attention |
唤回用户:语音 + 通知 + 横幅,可重复直至确认 |
speak |
主动播报其它文本 |
stop |
中止合成与播放,清空队列 |
status |
配置、引擎可用性、队列与当前播放 |
voices |
各引擎扁平音色列表 |
install |
为某引擎准备环境(异步,进度需轮询) |
ack |
确认待处理的 attention,停止重复 |
成功入队时返回 JSON 示例(字段以 README 为准):
{
"ok": true,
"kind": "summary",
"id": "ps-1761480000000-a1b2c3",
"engine": "auto",
"voice": "M1",
"segments": 2,
"shortened": false,
"text": "Přepis je hotový a titulky jsou uložené.",
"output": "browser"
}
segments 为切分句数,text 为规范化后实际入队文本,shortened 表示是否被 maxChars 截断。实际发声引擎可在 GET /dsh-phononspeak/state 的 lastEngine 等字段中查看(详见仓库文档)。
适用场景与注意¶
适合谁:在 DSH 上跑长时间任务、希望本地、捷克语优先地听摘要或被唤回做决定的开发者;需要完整 macOS 通知与 say 链的用户应在 macOS 上使用。
生态说明:DSH 采用「一切皆插件」思路;SkillHub 目录页 为社区收录,与 DeepSeek / 幻方无官方从属关系。
安全与许可:插件以当前 DSH 进程权限运行,会调用本机 Python、播放器与(在 macOS 上)osascript。安装前请阅读 GitHub 源码 与 MIT 许可证,并确认 TTS 引擎及克隆音色的授权要求。Git 依赖包无 prepare / install 生命周期脚本,需使用仓库中预构建的 lib/*.js;peer 范围与运行时版本不一致时插件不会启动且可能无日志提示。
结尾¶
dsh-phononspeak 把智能体语音收窄为「摘要播报」和「注意力呼叫」,四套引擎本地排队、可 stop,并自带 Settings 与播放器 UI。若你的 Harness 工作流以捷克语为主、又不想依赖云端 TTS,可按上文 bundle 命令安装并在智能体侧使用 dsh_phononspeak。
- 目录页:https://www.skillhub.cn/plugins/meliodascz89/dsh-phononspeak
- GitHub:https://github.com/meliodascz89/dsh-phononspeak