Back to home@franksong2702

dsh-dictate

Context-aware dictation for DeepSeek Harness — live Composer transcription, model polish, and user-controlled sending.

Stars
0
Language
TypeScript
Created
Aug 16, 2026
Updated
Aug 18, 2026
GitHub repo

Introduction

dsh-dictate

声音波形进入 Composer 并转化为文字

深度融入 DeepSeek Harness Composer 的上下文感知语音输入。边说边看,停下可编辑,可用当前 Session 润色,发送权始终由用户控制。

它不是实时语音对话插件:不会朗读模型回复,也不会启动双向语音会话。它把听写变成 Composer 的一种原生输入方式,让用户保留审阅、修改和发送文字的主动权。

核心优势

  • Composer 原生融合:麦克风直接位于 Composer 工具栏;识别中的最终文字和临时文字显示在 Composer 上方,而不是出现在独立悬浮组件中。
  • 免鼠标录音快捷键:可在设置中启用;光标位于 Composer 时,macOS 单击右 Command,Windows/Linux 单击右 Control,按一次开始、再按一次结束。
  • 上下文词汇提取:所选模型会根据当前 Session 和 Composer 提取相关词汇,提高语音识别和转写润色的准确度;模型不可用时使用规则词汇。
  • 上下文模型润色:可以选择当前 DSH 可用模型,并参考当前 Session 最近 6 条可见用户/Assistant 文本润色转写。
  • 安全的自动发送:只有用户明确点击结束录音才获得自动发送授权;浏览器自行结束识别时只填入 Composer。
  • 默认可检查、可编辑:模型润色和自动发送均默认关闭。用户可以先检查转写,再决定是否发送。
  • 清晰的隐私范围:润色不读取系统提示词、工具调用、工具结果、图片或 Assistant 推理内容;上下文最多 12 KB。
  • 无需配置 ASR Key:使用 Chrome 或 Edge 的 Web Speech API,音频不经过 DSH 服务端。

界面

麦克风直接出现在 DSH Composer 工具栏中。录音时,Composer 上方会显示实时转写状态;停止后只把最终文字写入输入框一次。

模型润色

语音转写经过模型润色后写入 Composer

这段真实演示体现了插件最有代表性的流程:边说边显示实时转写,停止后由所选模型结合最近的 Session 文本整理用词和标点,再把结果写入 Composer。演示关闭了自动发送,因此用户仍可检查和编辑。

其他使用方式

  • 默认流程:模型润色和自动发送均保持关闭;停止录音后,原始转写会留在 Composer 中供用户检查和编辑。
  • 自动发送:模型润色保持关闭;用户主动停止录音后,原始转写会直接提交给 DSH。浏览器自行结束识别时不会自动发送。
  • 模型润色并自动发送:插件会等待模型润色完成,再把润色后的文字提交给 DSH;润色失败时使用原始转写。

DSH Composer 工具栏中的语音输入按钮

语言、中英混合识别优化、Composer 录音快捷键、模型润色和自动发送统一放在“设置 → 插件 → 插件配置 → 上下文语音输入”中,不增加独立设置 Tab。

语音输入插件配置,包含识别语言、自动发送和模型润色

使用流程

  1. 单击 Composer 工具栏中的麦克风开始录音;如果启用了快捷键,也可以在 Composer 文本框聚焦时单击右 Command(macOS)或右 Control(Windows/Linux)。
  2. 说话过程中查看不会再变化的最终文字,以及仍可能修正的临时文字。临时文字不会写入正式草稿。
  3. 再次单击麦克风或同一个右侧修饰键结束录音;插件只把最终文字写入 Composer 一次。
  4. 如果启用了模型润色,插件会等待所选模型完成润色,再把结果填入 Composer。润色失败时保留原始转写。
  5. 如果启用了自动发送,只有这次由用户主动结束的录音会自动提交;否则文字留在 Composer 中供用户编辑。

转写完成提示会在 3 秒后自动消失。内容写入 Composer 或发送后,状态区域不会重复保留正文预览。

配置与数据范围

  • 在“设置 → 插件 → 插件配置”的“上下文语音输入”卡片中选择识别语言;设置保存在当前浏览器中。
  • 选择普通话、粤语或繁体中文时,可以启用“优化中英混合识别”。插件会从当前 Session 最近的可见用户/Assistant 文本和 Composer 草稿中提取受限的临时词汇;系统提示词、工具调用、工具结果、图片和 Assistant 推理内容不会参与提取。
  • 浏览器支持 contextual phrases 时,插件会优先保留完整专有短语、剔除重叠碎片,并按 Composer、最近上下文和重复次数分配 2–6 的临时权重;不支持或拒绝短语增强时自动使用普通识别,不中断录音。
  • 启用模型润色时,所选模型会在录音前后台提取当前 Session 和 Composer 中可追溯的相关词汇,并与规则词汇合并;同一批临时词汇会作为提示连同原始转写和最近的会话文本发送给所选模型提供商。词汇只用于本次录音,不会持久化;录音启动不等待后台提取。
  • “启用 Composer 录音快捷键”默认关闭。快捷键只在当前 Composer 文本框聚焦时生效,与其他按键组合、长按重复或输入法组合状态均不会触发。
  • “启用模型润色”默认关闭。开启后,从当前 DSH 可用模型列表中选择一个模型。
  • 模型润色会发送原始转写和当前 Session 最近 6 条可见用户/Assistant 文本给所选模型的提供商。
  • “自动发送转写结果(Beta)”默认关闭。用户主动结束录音后,自动发送全部文字。识别或润色结果可能有误,建议保持关闭,并在 Composer 中检查后手动发送。
  • Web Speech API 的音频由浏览器语音服务处理,不经过 DSH 服务端。

兼容性与 Alpha 限制

  • 当前面向 DSH 0.1.0-rc.6
  • 需要 Chrome 或 Edge 的 Web Speech API,并在首次使用时授予浏览器麦克风权限。
  • 中英混合识别优化依赖浏览器及当前语音识别服务对 Web Speech contextual phrases 的支持;不支持时仍保留现有识别与模型润色流程。
  • 当前 DSH 尚未为外部插件开放自定义辅助模型请求的 Session 日志事件。插件辅助模型调用(词汇提取与润色)使用自己的受信 RPC,不会写入 DSH Session 日志;上游提供相应扩展点后应迁移到可重建的日志事件。

安装

下载 GitHub Release 中的 dsh-dictate-0.4.0-alpha.1.tgz,安装到 Web profile,然后重启对应的 dsh web 进程:

dsh plugin --profile web add ./dsh-dictate-0.4.0-alpha.1.tgz

开发

pnpm install
pnpm test
pnpm run typecheck
pnpm run test:package
pnpm pack