dsh-phononspeak:DSH 智能体本地捷克语语音通道

前言

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
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜