npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

dsh-voice-kit

v0.4.0

Published

Voice input (Web Speech API) and read-aloud (speechSynthesis) for the DeepSeek Harness web GUI — DSH 语音输入 + 回复朗读套件

Downloads

843

Readme

dsh-voice-kit 🎙️

DeepSeek Harness Web GUI 的语音输入回复朗读套件。

English

状态:v0.4.0 已发布 npmpnpm typecheck 通过、239 个单测通过、 pnpm build 产出生态标准 closure-factory bundle(宿主半区 + 浏览器半区)。 已在真实 DSH Desktop profile 里验证通过。安装:dsh plugin add dsh-voice-kit

功能

  • 🎤 语音输入 — 输入框左侧麦克风按钮;录音后经宿主侧 STT 转写并追加进草稿(不覆盖已有输入)。 支持浏览器 Web Speech API(Chrome/Edge)与宿主侧 OpenAI 兼容转写服务(如硅基流动 SenseVoice) 两种后端,Esc 取消、可随时停止。
  • 🔊 回复朗读(三种引擎) — 每条 assistant 消息尾部朗读按钮:
    • 微软神经语音(免费,晓晓/云希/云健/云扬…)— 宿主侧经 msedge-tts 合成,带缓存;被墙网络经系统代理隧道自动连通
    • 云端神经语音(硅基流动 CosyVoice2 等 OpenAI 兼容 audio/speech,境内直连、无需代理)— 复用语音识别密钥
    • 系统语音 — 完全离线兜底,任何环境都可用
    • 朗读前剥离 markdown / emoji;长回复按句子边界流式分块——首块约 1 秒内出声,后续边播边预取;同一时刻只读一条;播放中消息自动滚到视野中央并弹气泡显示正在读的内容;再次点击立即停止。
  • ⚙️ 设置 — 一级设置页:语音引擎(三种)、云端服务一键预设、音色、语速、音调、识别语言、引擎可用性探测(Edge 是否能连点一下就显示)、密钥状态(只显示「已保存/未设置」,绝不回显值)。

新手教程(5 分钟上手)

1. 安装

# 从 npm 安装(推荐)
dsh plugin add dsh-voice-kit

# 或本地开发安装
dsh plugin --profile desktop add link:/path/to/dsh-voice-kit

重启 DSH Desktop 并刷新 Web GUI。

2. 让回复朗读出声(选一种引擎)

打开设置 → 语音 → 回复朗读

  • 立刻可用的:选「系统语音」→ 点 🔊 就有声音(离线,音质一般)。
  • 免费且好听:选「微软神经语音」→ 设置页会显示「❌ Edge 不可达 / ✅ Edge 可达」。若不可达,打开你的科学上网代理(插件会自动走系统代理),回来点 🔊 即可听到晓晓音色。
  • 不依赖代理、音质接近豆包:选「云端神经语音」→ 点「硅基流动 CosyVoice2」一键预设 → 若你已配过语音识别密钥,直接点「试听」;没配过就填一次密钥(TTS 会复用同一个)。

💡 云端 TTS 与语音识别共用同一个密钥:先配好语音输入,朗读就无需再填。

3. 用语音输入说话

打开输入框左侧的 🎤:

  • 状态栏若提示「需在设置里配置识别服务」,去 设置 → 语音 → 语音输入 选「宿主侧转写」,配好硅基流动地址 + 密钥。
  • 点 🎤 开始说话,说完再点一次停止(或 Esc),转写文字自动追加进输入框。
  • 也可点「麦克风自检」先确认权限/设备/格式正常。

4. 常见问题

| 问题 | 处理 | |---|---| | 朗读没声音 | 检查引擎是否可达;微软语音需代理,云端语音需密钥,系统语音永远可用 | | 段落太长出声慢 | 已优化到约 1 秒内出声;若仍慢请更新插件到 0.4.0 | | 密钥「已保存」但没生效 | 密钥存宿主端,重启后再试「试听」 | | 语音输入无转写 | 确认已配置宿主侧识别服务 |

安装

# npm 发布后
dsh plugin add dsh-voice-kit

# 本地开发
dsh plugin --profile desktop add link:/path/to/dsh-voice-kit

重启 harness 并刷新 Web GUI。

开发

pnpm install
pnpm typecheck   # tsc --noEmit
pnpm test        # vitest(纯逻辑:markdown 剥离 / 分块 / 并发流式预取)
pnpm build       # tsdown → lib/index.js(宿主)+ lib/client.js(浏览器)

构建链路采用生态标准 closure-factory bundle (window.__ModuleLoader__.load),由 shared/tsdown.client.ts 驱动 (改编自官方 DeepSeek Harness packages/client/tsdown.client.ts,MIT; libExternal 选项来自 dsh-web-ui 全家桶,Apache-2.0,见文件头注明)。

License

MIT。内置的 shared/tsdown.client.ts 改编自官方 DSH 构建工具(MIT)与 dsh-web-ui 的 libExternal 选项(Apache-2.0),详见文件头。