前言¶
在 DSH 里做结对编程、评审或站会时,常见做法是另开录音应用、再用手动或在线服务转写,最后把文稿贴回工作区。音频往往要上传第三方,纪要还要再拷一层。下面介绍社区插件 dsh-meeting-notes(npm:@iceleaf/dsh-meeting-notes):在 DSH 侧栏完成「混音录音 → 本机 ASR → 可选一键纪要」,转写走 DSH 的 ctx.speechToText,默认不联网、不上传音频。
这是什么¶
dsh-meeting-notes 由维护者 iceleaf916 发布,当前版本 v0.2.1(MIT)。它是 DSH Web 侧栏插件,入口名为「会议记录」:主区负责录音、转写与文稿阅读;左侧列会议列表,右侧看转写或纪要;设置集中在右上角齿轮弹窗。
归类上在 SkillHub 目录中常与「模型推理」相关——识别与 Qwen3-ASR 推理在本机完成;纪要阶段再调用 DSH 大模型整理文稿。
核心功能¶
录音与混音¶
- 默认同时采集 系统音频(macOS ScreenCaptureKit)与 麦克风(AVAudioEngine),逐样本相加混音,输出 16 kHz 单声道 PCM,落盘为 WAV。
- 采集后端目前仅实现 macOS(需 macOS 13+)。Linux / Windows 上 Host 会明确提示暂不支持录制;存储、转写、纪要等与平台无关的部分仍可用。
- 首次录音会调用
swiftc编译recorder/辅助程序(需 Xcode Command Line Tools)。系统需授予 DeepSeek Harness 屏幕录制(系统声)与 麦克风 权限。
转写模式与模型¶
两种模式可在配置中切换:
- 录音结束后转写(默认):停止后后台整段转写,录音期间预热本地模型。
- 实时转写:按静音点切段,边说边出字;预览识别约每 3.5 秒刷新。
识别复用 DSH 的 ctx.speechToText,完全本机离线。设置页 识别模型列表 中可下载、切换、查看准备进度。内置两种 provider(列表按 DSH 动态生成,后续接入的 ASR 也会出现在此):
| 模型 | 说明 |
|---|---|
| SenseVoiceSmall (INT8) | DSH 语音输入插件提供,约 1 GB,支持实时,速度快 |
| Qwen3-ASR-0.6B (INT8) | 本插件自带(qwen3.js + worker,依赖 sherpa-onnx-node),约 1.15 GB,中文/方言/中英混说更稳;非流式、单次窗口约 30 秒,更适合结束后转写 |
默认语言 zh;SenseVoice 对英文术语、产品名会原样保留。Qwen3 模型文件默认在 ~/.dsh/speech-to-text/qwen3-asr-0.6b/,可用 qwen3ModelDir 覆盖;下载源可选 ModelScope(国内推荐)或 HF-Mirror。
存储与纪要¶
- 默认目录
~/dsh-meetings/,界面可改;每场会议一个子目录,编号形如20261110-140322-a1b2。 - 每场会议典型文件:
meeting.json(元数据与分段)、audio.wav、transcript.md([00:01:23] 文本格式)、minutes.md(仅点击「生成会议纪要」后由模型写入)。 - 「生成会议纪要」非自动:Host 将会议目录注册为 DSH 工作区、新建会话,让模型读
transcript.md并写minutes.md,客户端跳转到该会话,可继续追问修改。同一路径重复点生成不会重复注册工作区,但会新建会话。
依赖与环境¶
安装与运行前建议核对:
- DSH(Web profile),Host 提供
webServer;纪要需要workspaceRegistry与sessionController(Desktop 版默认具备)。 - SenseVoice:需启用 DSH 实验语音插件
@deepseek-ai/dsh-experimental-speech-to-text与-sensevoice,并在设置页完成模型准备。 - Qwen3-ASR:由本插件注册 provider,依赖
sherpa-onnx-node^2.0.1(含 macOS arm64 ONNX 运行时)。 - 客户端仅 React(由 DSH 模块表提供)与浏览器 API,插件侧无独立构建步骤。
安装与启用¶
从 npm 安装(资料中的官方命令):
dsh plugin --profile web add @iceleaf/dsh-meeting-notes
# Desktop 版把 web 换成 desktop
装完后重启 DSH 或刷新页面,左侧栏出现「会议记录」。首次录音会自动编译录音辅助程序;首次识别请在设置页「识别模型」下载并准备所选模型(Qwen3 首次约 1.15 GB)。
社区目录页:SkillHub · dsh-meeting-notes
源码与完整说明:GitHub · iceleaf916/dsh-meeting-notes
典型用法¶
按 README 描述的可复现流程:
- 打开侧栏「会议记录」,在设置中确认存储目录、转写模式(结束后 / 实时)、
providerId、是否采集系统声与麦克风、切块秒数等(对应POST /config字段:storageDir、transcribeMode、language、providerId、captureSystemAudio、captureMicrophone、chunkSeconds)。 - 在识别模型列表选好模型并完成「下载并准备」;SenseVoice 未就绪时插件会提示,不会静默失败。
- 填写标题后开始录音(
POST /recordings);录制中可通过 SSEGET /recordings/events看电平与实时分段。 - 停止录音(
POST /recordings/stop):音频写入会议目录,after模式下转写在后台继续。 - 在页面查看
transcript.md、回放audio.wav(支持 Range)。 - 需要纪要时点击「生成会议纪要」(
POST /meetings/<id>/minutes),跳转到新会话,等待模型写入minutes.md后再在同会话中修改或追问。
需要可对已有会议 POST /meetings/<id>/transcribe 重新转写,或 DELETE /meetings/<id> 删除整场目录。
适用场景与注意¶
适合谁
- 已在 macOS 上用 DSH 开会或录屏讲解,希望系统声与麦克风一并留存、转写与纪要留在本机工作流里的开发者。
- 对离线 ASR 有要求、愿意为本机模型占用约 1–1.15 GB 磁盘的用户。
- 需要把单场会议目录注册成工作区、用同一会话迭代纪要的场景。
务必注意
- 插件以当前 DSH 进程权限运行;安装前建议阅读 仓库源码 与 MIT 许可证,自行评估录音与本地模型风险。
- 录制仅限 macOS;在非 macOS 上不要指望完成混音采集。
- SenseVoice 对专业术语、远场小音量识别有限;实时预览比正式分段粗糙。
- Qwen3-ASR 更适合结束后转写;UI 会标注实时延迟较高。
- 生成纪要耗时取决于所用大模型;页面只负责跳转会话,不阻塞等待
minutes.md写完。 - DSH 社区插件目录(SkillHub)为独立站点,与 DeepSeek / 幻方无官方从属关系;本插件 GitHub 星标数为 0(以仓库页面为准),不代表质量结论,仅作生态事实。
结尾¶
dsh-meeting-notes 把会议链路的「采集(macOS)→ 离线转写 → 可选 DSH 纪要会话」收进同一侧栏,与「音频上云再贴回 DSH」相比,路径更短、数据默认留在本机。若你使用 Web 或 Desktop profile,可按上文命令安装,在 macOS 上从识别模型准备做起,再试一场短录音验证转写与纪要跳转是否符合预期。
- 目录页:https://www.skillhub.cn/plugins/iceleaf916/dsh-meeting-notes
- GitHub:https://github.com/iceleaf916/dsh-meeting-notes