dsh-plugin-meeting:本地听会、转写与纪要

前言

在 DSH 里做智能体或工作流时,会议内容往往只能靠人工记笔记,或把录屏丢给云端 ASR 再贴回对话。前者费力且难对齐发言人与议题,后者通常要把整段音频上传,识别与纠错也经常在第三方完成。若你主要在 Windows 上参加线上会议,又已经用 DSH 配好了默认模型,希望系统播放的会议声音留在本机、只把识别后的文字交给已有模型做领域纠错和问答,drliuhuan/dsh-plugin-meeting 针对的是这条链路。

这是什么

dsh-plugin-meeting 是 DeepSeek Harness 下的工作流类 Web UI 插件,维护者为 drliuhuan。它从 Windows 默认渲染设备的系统音频入手,本地用 SenseVoice 转写,再让你在 DSH 里配置的模型按会议领域做校对、可选翻译,并维护滚动摘要、按需生成纪要与带来源标注的问答。音频不离开本机;进入模型的仅是识别与纠错后的文本(README 明确说明:Only recognized text reaches the model you already configured in DSH)。

插件在 SkillHub 目录的分类为工作流;GitHub 仓库当前星标为 0,许可证 MIT,package.json 中版本为 0.2.0。

核心功能

下面按数据流说明已文档记载的能力,不展开未在 README 中出现的行为。

音频采集与本地识别

  • 通过 WASAPI loopback 抓取默认渲染端点上的会议声音,无需虚拟声卡、无需浏览器媒体权限或共享屏幕选音轨。
  • 音频经降混与重采样到 16 kHz,配合能量 VAD 切分语句;可选 CAM++ 本地声纹聚类(约 27 MB),将连续发言合并并给出「发言人 1/2/3」类建议标签(非身份识别,可改名与组织)。
  • 离线识别依赖 DSH 可选的 Voice Input 包(SenseVoice,首次使用约 240 MB 模型下载)。
  • 可选单独采集麦克风,标签为 自己;文档建议戴耳机以降低回声重复。

领域感知纠错与翻译

模型侧 correction 支持 medical、technology、gaming、finance、legal、education、manufacturing、marketing、research、custom 等领域,并结合会议主题与可选术语表。逐行翻译默认关闭,可按会议开启 English、简体中文、日语或韩语。

议程与个人讲词

支持上传或粘贴、拖拽议程:txt、md、csv、json,以及 PDF、Word、PPT、Excel、ODF 与常见图片格式。Word/PPT/ODF 直接读文本;PDF、旧版 Office 与图片在本地用 DSH 的 LibreOffice kit 渲染并用 Windows OCR 读取。点击 Apply 后由配置的 DSH 模型解析出时间、发言人、单位、议题等结构化表格,并推断会议主题与领域;可点击议程条固定当前项,点击发言人芯片改派该轮发言。

持久化个人资料写在 ~/.dsh/meetings/profile.json(我的姓名、角色、会议领域),不随单场会议或会话丢失。

若议程中出现与保存姓名一致的发言人,插件会为该用户自己的环节生成 我的讲词 与 我的串词(非通用主持稿,不为其他发言人写稿);指令可在「生成提示词」中编辑并重新生成,Markdown 结果随会议存储并在刷新后保留。

串词(Cue cards) 不做一次性写全:会议进行中,在用户自己的环节约两分钟前,结合议程与已识别内容即时生成;主持与发言/嘉宾角色得到的卡片形态不同,也可在面板为任意己方议程项手动索要卡片。

纪要、问答与界面

  • 右侧面板打开时 DSH 壳层左移,监听时页眉图标绿色呼吸。
  • 原始 ASR 可折叠查看,纠错失败可重试。
  • 纪要按需生成(结论、讨论、决策、行动项、风险等),不按定时器自动生成;议程会进入 prompt,会议结束可有终版纪要。
  • Q&A 基于纪要与 transcript,引用 [mm:ss],可选 ctx.web 搜索来源。
  • 历史落在 ~/.dsh/meetings/<id>/。

架构示意(摘自 README):

system audio -> WASAPI loopback (native helper) -> downmix/resample 16 kHz
  -> energy VAD utterances -> CAM++ speaker embedding + online clustering
  -> SenseVoice (local) -> DSH LLM (domain correction + translation) -> SSE
  -> rolling summary (LLM) and Q&A (minutes + transcript + optional web search)

原生采集辅助为 native/LoopbackCapture.cs(C# / .NET Framework 4.x),发行包内带预编译 native/LoopbackCapture.exe。

环境与依赖

使用前需满足 README 中的 Requirements:

  • Windows 10/11 x64。
  • DSH 0.2.1+,并启用官方 Voice Input bundle:@deepseek-ai/dsh-experimental-voice-input-bundle。
  • 已在 DSH 中配置默认模型与凭据。
  • Q&A 联网检索为可选:需配置 DSH 的 web-search provider。
  • Node 引擎要求 >=22(见 package.json)。

安装与启用

插件以本地路径加入 DSH,安装命令须使用 README 原文:

dsh plugin --profile desktop add D:\path\to\dsh-plugin-meeting

将 D:\path\to\dsh-plugin-meeting 换成你机器上插件目录的实际路径。随后在 DSH 插件管理中启用 Voice Input 与 Meeting Assistant,从 Session 页眉打开会议助手;首次在设置中点击 Download and prepare model(约 240 MB)。若启用发言人标签,CAM++ 模型(约 27 MB)会在首次使用时下载。

说明:DSH 社区目录(如 SkillHub)是独立站点,与 DeepSeek / 幻方无官方从属关系;安装前请自行查看仓库源码与 MIT 许可证。插件以当前 dsh 进程权限运行,具备读写 ~/.dsh/meetings/ 与调用本机模型、原生采集程序的能力。

典型用法

当日首次打开:三步初始化

当天尚无会议记录时,打开面板会走三步:姓名 / 组织 / 角色 → 议程上传(含 PPT 等,页面可渲染为图像与提取文本一并交给模型)→ 可编辑确认表(起止时间、发言人、组织、议题可改,可增删行;麦克风采集默认勾选)。确认后,主持人或首个议程环节负责人可在不开始会议的情况下立即拿到首张串词(开场或致谢)。设置中可用「重新初始化会议」重跑该流程。

讲词与串词

  1. 打开设置 → 我的信息,填写 我的姓名(可选组织)并保存。
  2. 上传或粘贴议程;若议程中至少有一名发言人与保存姓名一致,自动生成 我的讲词 与 我的串词。
  3. 在 讲词串词 页阅读或重生成;编辑 生成提示词 后点 用这个提示词重新生成,留空则用内置默认。

未保存姓名,或姓名未出现在议程中时,不会为无关角色消耗模型调用生成讲稿。

更完整的中文说明、架构、隐私与排障见仓库内 README.zh.md。

适用场景与注意

适合在 Windows 桌面 DSH 上参加线上会议、需要本地转写、领域术语纠错、个人讲词/串词辅助,以及会中会后基于 transcript 与纪要提问的场景。不适合非 Windows 环境;也不应在未审阅源码的情况下假定音频与 OCR 处理无任何本机侧风险。

开发自检命令(供维护者参考):

npm run check
npm run selftest
node scripts/build-native.mjs --check

链接

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜