LBXC-666/dsh-voice-input ↗★ 2

@lbxc/dsh-voice-input

DeepSeek Harness Web GUI 语音输入插件:在输入框发送键左侧添加麦克风按钮,支持浏览器本地识别、OpenAI 兼容语音转写接口和自定义 JSON 接口,配置可导入/导出。 适合偏好语音输入、需配置转写接口的用户。

パッケージ
@lbxc/dsh-voice-input
互換性
未検証
バージョン
1.0.0
ライセンス
MIT
最終更新
2026/08/17

インストール

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:LBXC-666/dsh-voice-input

ドキュメント

README 全文を読む ↗

2. 首次使用:导入 / 配置 API(必做)

插件不内置转写服务,首次使用二选一:

  1. 导入配置:设置 → 语音输入 → 「导入 / 导出 API 配置」,粘贴 JSON 或选择 config.example.json;
  2. 手动配置:选择接口模式和快速预设,填写 API Key / 地址 / 模型。

3. 快速配置

进入 设置 → 语音输入。

方式 A:浏览器本地识别(零配置)

接口模式选「浏览器本地识别」,语言填 zh-CN。仅 Chrome / Edge。

方式 B:OpenAI 兼容接口

预设接口地址模型
OpenAI Whisperhttps://api.openai.com/v1/audio/transcriptionswhisper-1
Groq Whisperhttps://api.groq.com/openai/v1/audio/transcriptionswhisper-large-v3
SiliconFlow SenseVoicehttps://api.siliconflow.cn/v1/audio/transcriptionsFunAudioLLM/SenseVoiceSmall
本地 faster-whisperhttp://127.0.0.1:8000/v1/audio/transcriptionswhisper-1

方式 C:自定义 JSON 接口

模板占位符:{{audio}}(base64)、{{format}}(MIME)、{{model}}、{{language}};用「取值路径」提取结果文本。

方式 D:实时流式接口(推荐日常使用)

本地鉴权代理会跟随 dsh web 自动启动:只要插件已安装,重启电脑后启动 dsh web 时,插件的 node 半身会自动拉起代理并做健康检查;代理已存在则直接复用,dsh 停服时由插件启动的代理会一并停止。日志写入 ~/.dsh/logs/dsh-voice-input-proxy.log。

插件自动启动的代理使用当前环境变量;DASHSCOPE_API_KEY 需要在 dsh web 的启动环境中配置。如果 dsh web 本身没有配置开机自启,请先让 dsh web 随系统启动,代理才会跟随启动。

手动启动仅用于调试或独立使用:


### 方式 A:浏览器本地识别(零配置)

接口模式选「浏览器本地识别」,语言填 `zh-CN`。仅 Chrome / Edge。

### 方式 D:实时流式接口(推荐日常使用)

**本地鉴权代理会跟随 dsh web 自动启动**:只要插件已安装,重启电脑后启动 dsh web 时,插件的 node 半身会自动拉起代理并做健康检查;代理已存在则直接复用,dsh 停服时由插件启动的代理会一并停止。日志写入 `~/.dsh/logs/dsh-voice-input-proxy.log`。

> 插件自动启动的代理使用当前环境变量;`DASHSCOPE_API_KEY` 需要在 dsh web 的启动环境中配置。如果 dsh web 本身没有配置开机自启,请先让 dsh web 随系统启动,代理才会跟随启动。

手动启动仅用于调试或独立使用:

```bash

## 4. 使用方式

### 语音输入

- **按住右 Alt 说话,松手结束**:录音中按钮显示声纹动画,实时识别文字在按钮上方滚动;
- 或点击 🎤 开始,再点停止;
- 识别结果自动插入输入框并聚焦。

### AI 优化按钮

1. **只要输入框有文字,✨ 按钮就显示**;文本清空(发送)后隐藏,手动修改文字不会隐藏;
2. **左键 ✨**:执行「左键模式」(默认一轮纠错);
3. **右键 ✨**:执行「右键模式」(默认一轮纠错 + 二轮格式化);
4. **自动优化开关**:打开后,每次语音转写完成都会**自动**按「自动优化模式」优化,直接进入下一步处理,不需要任何快捷键,也不会在前台显示额外按钮;优化结果会**原位替换刚转写的原文**,不保留原始转写(已有输入框内容不受影响),优化什么内容由「自动优化模式」决定(一轮纠错 / 二轮格式化 / 一轮+二轮);
5. **↶ 回退按钮**:优化前自动保存原文快照,一键恢复未优化文本;
6. 优化结果**逐字写回并替换原文本**:自动优化只替换刚转写的原文,手动优化替换整个输入框;AI 优化期间(等待模型返回与写回过程)文本框内会有**反复扫过文字的流光扫描动画**——优先只在“实际有文字的区域”逐行扫过,测量失败或文本过长时自动回退为整行扫过;
7. 除语音输入的右 Alt 按住说话外,不再注册任何优化快捷键。

配置位置:设置 → 语音输入 → 文本整理(各分类可折叠):

| 字段 | 说明 |
|---|---|
| 模型接口地址 | 例如 `https://api.deepseek.com/v1` 或 `https://dashscope.aliyuncs.com/compatible-mode/v1` |
| 模型 | 例如 `deepseek-chat`、`qwen-plus` |
| API Key | 留空则复用语音识别的 API Key |
| 左键模式 / 右键模式 / 自动优化模式 | 可选:一轮纠错、二轮格式化、一轮 + 二轮 |
| 自动优化开关 | 默认关闭;打开后转写完成自动执行「自动优化模式」,无需快捷键 |
| 一轮提示词(纠错) | 只纠正错别字/口语化,支持 `{{context}}` / `{{text}}` |
| 二轮提示词(固定格式) | 生成固定格式,不注入上下文;支持 `{{text}}` |
| 模型思考档位 | 关闭 / 低 / 中 / 高,默认**低**:低档思考可显著提高输出准确性,关闭最快;兼容 DeepSeek `thinking` 与 DashScope `enable_thinking` |
| 注入当前对话上下文 | 默认开启:最近 2 条用户/助手消息完整注入;超长时只保留结尾 800 字,避免丢失最新结论 |

> 已移除独立的「启用第二轮优化」开关:选择「一轮」就等于只纠错,选择「一轮 + 二轮」就等于先纠错再格式化,模式下拉框已经完整覆盖这两种行为。

默认输出格式:

```text
【目标】

【关键要求】
- 

【补充信息】


5. 导入 / 导出配置

设置 → 语音输入 → 导入 / 导出 API 配置:

  • 粘贴 JSON 导入,或选择 config.example.json 文件导入;
  • 一键复制 / 下载当前配置。

配置字段(节选):

{
  "mode": "openai",
  "preset": "openai",
  "endpoint": "https://api.openai.com/v1/audio/transcriptions",
  "apiKey": "",
  "model": "whisper-1",
  "language": "zh",
  "prompt": "",
  "headers": {},
  "shortcutEnabled": true,
  "customUrl": "",
  "jsonTemplate": "…{{audio}}…",
  "responsePath": "text",
  "realtimeUrl": "ws://127.0.0.1:8787/ws",
  "realtimeModel": "fun-asr-flash-8k-realtime",
  "realtimeApi": "fun-asr",
  "micDeviceId": "",
  "micChannel": "auto",
  "formatterEndpoint": "https://api.deepseek.com/v1",
  "formatterApiKey": "",
  "formatterModel": "deepseek-chat",
  "formatterThinking": "low",
  "formatterWithContext": true,
  "autoOptimizeEnabled": false,
  "clickLeftMode": "round1",
  "clickRightMode": "round1+round2",
  "autoMode": "round1+round2",
  "formatterFixTemplate": "…{{context}}…{{text}}…",
  "formatterFinalTemplate": "…{{text}}…"
}

使用者:

dsh plugin --profile web add github:LBXC-666/dsh-voice-input#v1.0.0