Skills Plugins MCP Prompt Model 导航 博客 资讯 我的中心
工具与能力 #deepseek-harness-plugin#dsh-bundle#dsh-plugin

dsh-voice-kit

DSH 网页端语音输入与朗读套件:Web Speech 识别、Edge 神经音色 TTS。

aaaadrop @aaaadrop ⬇ 1 ★ 1 main

安装

dsh plugin --profile web add github:aaaadrop/dsh-voice-kit
下载安装清单

需要可复现安装时,可在仓库后追加 #commit 固定提交。

DSH 网页端语音输入与朗读套件:Web Speech 识别、Edge 神经音色 TTS。

该插件未提供要点说明,请参考仓库 README。

deepseek-harness-plugindsh-bundledsh-plugin
  1. 安装并启动 DeepSeek Harness:npx @deepseek-ai/dsh web
  2. 在终端执行上面的安装命令(CLI 会解析插件并核验来源)
  3. 用 dsh plugins list 确认已安装,必要时重启 Harness 生效

插件以当前 dsh 进程的权限运行,安装时可能执行代码。请先通读仓库源码与许可证,确认无破坏性命令与越权访问;本站只做索引,不对第三方插件安全性作担保。

代码仓库github.com/aaaadrop/dsh-voice-kit
许可证MIT
主要语言main
下载量1
GitHub 星标1
最近推送2026-08-19
收录日期2026-09-19
分类工具与能力

事实信息来自公开插件目录快照(2026-10-01),介绍文案由本站再加工。

以下为插件仓库 README 全文(原始内容,由公开目录抓取整理)。

# dsh-voice-kit 🎙️

Voice input (Web Speech API) and read-aloud (speechSynthesis) for the
[DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) web GUI.

[中文说明](README.zh.md)

> **Status: v0.3.1, published on npm** — `pnpm typecheck` passes, 35 unit
> tests pass, `pnpm build` emits the ecosystem-standard closure-factory bundle
> (host half + browser half). Voice input and read-aloud are wired against
> the real conversation API (session kit's `inputActions`/`useInput`/
> `useSession`), and read-aloud supports **Microsoft Edge neural voices**
> (host-side synthesis via `msedge-tts`, cached, with automatic fallback to
> the system voice). Verified inside a real DSH Desktop profile. Install:
> `dsh plugin add dsh-voice-kit`.

## Features

- 🎤 **Voice input** — mic button in the composer's left rail; speech is
  transcribed (Chrome/Edge `webkitSpeechRecognition`) and appended to the
  draft. Auto-restarts across Chrome's ~60s session limit; `Esc` cancels.
- 🔊 **Read aloud with neural voices** — per-message button at each assistant
  message tail. Default engine is **Microsoft Edge neural TTS** (晓晓/云希/
  云健/云扬…), synthesized host-side and played back with an ``
  element; falls back to `speechSynthesis` when offline or on failure.
  Markdown and emoji are stripped before speaking; long replies are chunked
  at sentence boundaries (decimals/URLs never split); only one voice at a
  time; the playing message is scrolled into view with an on-screen bubble
  showing what is being read.
- ⚙️ **Settings** — a first-level settings section: voice engine
  (neural/system), voice, rate, pitch, recognition language, toggles —
  persisted in the `voice` settings namespace (registered host-side via
  `@deepseek-ai/dsh-settings`).

## Install

```bash
# from npm (after publish)
dsh plugin add dsh-voice-kit

# or from a local checkout (development)
dsh plugin --profile web add link:/path/to/dsh-voice-kit
```

Restart the harness, refresh the web GUI.

> ⚠️ **Voice input is experimental.** `webkitSpeechRecognition` is a
> Chromium feature and does **not** work inside Electron (DSH Desktop): the
> mic button enters the listening state but no transcript ever lands. It may
> work in Chrome/Edge when DSH is served in a regular browser. **Read-aloud
> works everywhere** (system voice fallback included).

## Development

```bash
pnpm install
pnpm typecheck   # tsc --noEmit
pnpm test        # vitest (pure logic: markdown stripping / chunking)
pnpm build       # tsdown → lib/index.js (host) + lib/client.js (browser)
```

Build pipeline is the ecosystem-standard closure-factory bundle
(`window.__ModuleLoader__.load`) driven by `shared/tsdown.client.ts`
(adapted from the official DeepSeek Harness `packages/client/tsdown.client.ts`,
MIT; `libExternal` option from the dsh-web-ui family bucket, Apache-2.0).

### Wiring status

- [x] Locale registration — 3-arg `ctx.locale.register(ns, locale, dict)` overload.
- [x] Draft insertion — session kit's `inputActions.setDraft(appendDraft(current, text))`
      with `useInput((s) => s.draft)` reads (`src/client/draft.ts`).
- [x] Message text resolution — `conversation.chat.assistant-actions` owner's
      `messageId` + `useSession` snapshot lookup, text blocks only
      (`src/client/message.ts`).
- [ ] **Runtime verification** — install into a real DSH profile
      (`dsh plugin --profile desktop add link:...`) and confirm the three slots
      render in the GUI; adjust composed-prop details if the renderer disagrees.
- [ ] Settings persistence — if the `voice` namespace does not survive a
      restart, register it host-side via `@deepseek-ai/dsh-settings`
      (`installSettingsSection`) in `src/index.ts`.

## Roadmap

- v0.1 — read-aloud (safe, no permissions) + settings scaffold
- v0.2 — voice input with draft insertion (needs the draft API + mic permission)
- v0.3 — auto-send on voice stop, keyboard shortcut, bilingual polish, CI
  compat checks against new DSH rc releases

## License

MIT. The bundled `shared/tsdown.client.ts` adapts official DSH build tooling
(MIT) plus the dsh-web-ui `libExternal` option (Apache-2.0); see the file header.

数据来源:公开的 DeepSeek Harness 插件目录与各插件 GitHub 仓库。本站为独立第三方目录,与 DeepSeek、幻方(High-Flyer)及插件作者均无隶属或背书关系。

每日精选 Skill 推荐,免费送到你邮箱

输入邮箱,每天接收一个精选 AI Agent 技能推荐。完全免费,持续更新。

提交后我们会发送一封确认邮件,点击邮件里的链接才会开始收信。

完全免费,取消任意时间。我们不会发送垃圾邮件。