dsh-plugin
DayuanJiang/next-ai-draw-iodsh 的 draw.io 绘图插件:通过 next-ai-drawio MCP 服务器作图,点回复里的链接在右侧栏打开实时预览,可以手动修改图,AI 的每次修改都是可以恢复的版本。需 Node.js 18+,首次使用由 npx 下载 MCP 服务器。
把英文有声读物(MP3)和英文文档(PDF / Word / EPUB / 网页 / TXT)变成听力课:用 DSH 语音输入已下载的模型在本机识别每一句(缺失时首次使用自动下载约 241 MB;需 ffmpeg)、用你选的大模型逐句校对翻译讲解,再以精听、间隔复习、磨耳朵练到一听就懂;支持中文配音导出与离线 Kokoro 语音,提供右侧栏面板和 4 个 AI 工具。
把英文有声读物(MP3)或英文文档变成听力课,练到听到英文就知道是什么意思。 DeepSeek Harness(dsh)插件,也能脱离 DSH 单独用。
dsh plugin --profile desktop add dsh-tingdong # 装进 DSH(把 desktop 换成你的 profile 名,先完全退出 DSH)
npm i -g dsh-tingdong # 命令行版:不开 DSH 也能用
dsh plugin --profile desktop add github:AIcivilization/dsh-tingdong # 源码安装
brew install ffmpeg)~/.dsh/dsh-tingdong/;识别用 DSH 自带语音输入模型(音频不上传);讲解和朗读用你在 DSH 里选的大模型;Edge 语音组件需联网(文字会发到微软服务器,详见下方导出说明)首页有两个入口:导入音频(有声书、讲座、引导音频)和导入文档(文章、手册、书)。
导入文档:直接选文件(或拖进来)——PDF、Word(.docx)、EPUB 电子书、网页(.html)、TXT、Markdown;没有文件也可以粘贴英文。
~/.dsh/dsh-tingdong/docs/,课程概览里能下载)→ 分课(每个大标题一课,太长的按段落拆开)→ 朗读(默认微软 Edge,14 种美式 / 英式男女声,可选离线 Kokoro)→ 逐句翻译讲解。大小和耗时:文件最大 100 MB;文字最多约 6 万个英文单词(40 万字符,相当于 7 小时左右的朗读),再长请拆开导入。真正花时间和 token 的是 AI 整理和翻译:1 万词大约整理 4 万字符、朗读 1 小时多,处理约十几分钟(看模型速度)。扫描版 PDF(每页是图片)读不出文字,要先用 OCR 或 AI 转成文字。
在 DSH 对话里也可以把 PDF 发给 AI,说「整理后导入听懂」(AI 工具 tingdong_import_text)。
导入音频:
| 模式 | 做法 |
|---|---|
| 今日学习 | 首页一个按钮:所有课里该复习的句子 + 每天 10 句新句子串成一组;显示连续学习天数、今天学了几句、约几分钟、最近 7 天 |
| 精听 | 每句先只听不看猜意思 → 看英文找出没听出来的词(点任意一个词看意思)→ 看中文和生词 → 再听一遍 → 自评「没听懂 / 半懂 / 听懂了」 |
| 复习 | 间隔重复,三种考法:自评、选意思(只听声音,三选一)、听写(打出来,逐词标出没听出来的)。没听懂的一分钟后再来,听懂的隔 10 分钟、1 天、3 天、7 天…再考;7 天后还能听懂算掌握。可以只练「收藏」或「难句」 |
| 磨耳朵 | 不用动手:每句放 1–4 遍,停几秒让你想意思,再接下一句;字幕可以逐步显示(第 1 遍不看字 → 第 2 遍英文 → 想的时候中文)。做成一段真正的音频,锁屏也能一直放,耳机线控切句,也能下载 |
| 连续听 | 一句接一句不停地播,英文 / 中文字幕分别开关;最后关掉字幕整篇听 |
| 词汇 | 全篇关键术语、每句的生词、你查过的词,点一下听原句 |
导出(每课的「导出」页签):
卡片右上角 ☆ 收藏,复习和磨耳朵里可以只练收藏的
声音:同一课可以换声音听,在课程页上方切换,每种都能下载成 MP3 放到手机上:
| 声音 | 说明 |
|---|---|
| 原声(完整) | 原始音频,含背景音乐和长空白 |
| 原声·去空白 | 只留讲话,句间停 0.7 秒。34 分钟的引导冥想剩 11 分 40 秒 |
| 原声·压背景 | 同上,再滤掉低沉的双耳节拍和高频噪声 |
| 系统朗读 | macOS 自带语音读校对后的英文;在系统设置里下载「高级 / 增强」英文语音后会自动用上 |
| Kokoro 朗读 | 离线神经网络语音(11 种美式 / 英式男女声,可调语速),第一次用时下载约 103 MB 模型 |
新导入的课会自动生成两条原声轨,朗读的声音在「概览 → 声音」里点「生成」。
电脑快捷键:空格 重听 · 回车 下一步 · 1/2/3 评分 · ←/→ 上一句/下一句 · S 变速(1× / 0.85× / 0.7×)· L 单句循环
在 DSH 对话里也可以直接说:「把 /Volumes/…/CD4 导入听懂」「把这份 PDF 整理后导入听懂」「我这课哪些句子总听不懂?给我讲讲」——插件给 AI 注册了 tingdong_import、tingdong_import_text、tingdong_lessons、tingdong_sentences 四个工具。
更新 / 卸载:在 DSH 的「设置 → 听懂」里。打开时自动查 npm 上有没有新版本;有就出现「更新到 vX」,点一下由 DSH 的插件管理器装好(和插件市场同一套机制),重启 DSH 生效。「卸载」会先确认,只移除插件,课程和学习进度留在 ~/.dsh/dsh-tingdong。学习面板首页标题旁显示版本号,有新版本时会提醒。
需要 ffmpeg(解码 MP3):Mac 上 brew install ffmpeg。
装进 DSH(把 desktop 换成你的 profile 名;先完全退出 DSH):
dsh plugin --profile desktop add dsh-tingdong
重新打开 DSH,在对话页打开右侧栏,选「听懂 · 英文听力」。设置里的「听懂」分区会显示 ffmpeg、识别模型、翻译模型是否就绪。
在 profile 的 cordis.patch.yml 里:
- id: dsh-tingdong
config:
provider: dsh-model-workbuddy-ai # 翻译用的模型;不填就用 DSH 的默认模型
model: workbuddy-ai/deepseek-v4.1-flash-sg
ffmpeg: /opt/homebrew/bin/ffmpeg # 找不到 ffmpeg 时填
threads: 2 # 识别线程数
在电脑上做课(识别、翻译、生成声音都很吃 CPU),发到 VPS 上的 DSH,手机浏览器打开学习:
dsh plugin --profile web add dsh-tingdong(以运行 DSH 的用户执行,再重启 DSH)。VPS 上不需要 ffmpeg。~/.ssh/config 里的,要能用钥匙免密码登录)→「查找 VPS 上的 DSH」→ 选一个。https://<你的域名>/api-dsh-tingdong/panel(首页会显示这个地址),可以「添加到主屏幕」当 App 用。发送走 SSH(tar 流解到 VPS 上 DSH 用户的 ~/.dsh/dsh-tingdong/lessons/),不经过网页登录门。
node bin/dsh-tingdong.js import "/Volumes/kuozhan/门罗/CD4" # 整个文件夹,每个音频一课
node bin/dsh-tingdong.js serve # 打开 http://127.0.0.1:4810
node bin/dsh-tingdong.js import-doc 手册.md --voice en-US-AndrewNeural # 导入整理好的英文文档
node bin/dsh-tingdong.js list
node bin/dsh-tingdong.js voices all --track kokoro --voice am_michael # 批量生成声音轨
命令行版的模型:--base-url / --api-key / --model,或环境变量 TINGDONG_BASE_URL / TINGDONG_API_KEY / TINGDONG_MODEL(任何 OpenAI 兼容接口);都没给就用本机的 dsh-model 网关。
都在 ~/.dsh/dsh-tingdong/lessons/<课程>/:lesson.json(句子、翻译、讲解、查过的词)、progress.json(复习进度、学到第几句、选的声音、收藏)、audio.mp3(压缩成 64 kbps 单声道,原文件所在的移动硬盘拔掉也能听)、tracks/(各种声音和它们的时间表)。
模型在 ~/.dsh/dsh-tingdong/models/(Kokoro 英文、Kokoro 中文);Edge 语音组件在 ~/.dsh/dsh-tingdong/edge-tts/;识别模型优先复用 DSH 语音输入下好的。
DSH 插件和命令行版共用这份数据。
Hemi-Sync Gateway Wave IV「Adventure 1 (One Year Patterning)」,34 分钟 MP3(大段音乐 + 引导语): 识别 16 秒(M 系列 Mac,4 线程),切出 96 句,模型判出 6 处音乐里的杂音并跳过;DeepSeek 翻译讲解约 1 分钟。
npm install
npm test
lib/asr-worker.js 识别子进程(sherpa-onnx 是同步推理,放在 DSH 主进程里会卡界面)lib/translate.js 校对 + 翻译 + 生词 + 听音提示;缺句自动缩小批次重试,失败的留空,之后可「补全翻译」lib/tracks.js 声音轨:原声按句截取拼接;朗读交给 lib/tts-worker.js 子进程(Kokoro / macOS say),lib/pcm.js 统一拼接编码并出时间表lib/srs.js 间隔复习;lib/store.js 原子写入的 JSON 存储;lib/today.js 今日学习(按用户时区算日期)lib/doc.js 文档:切句、分章、整理要求;lib/export.js 文字导出;lib/edge.js Edge 语音组件(edge-tts)的安装和调用lib/drill.js 磨耳朵音频;lib/lookup.js 点词查意思、重新讲解;lib/vps.js 经 SSH 发送到 VPSplugin/ DSH 宿主端(路由、AI 工具)和界面入口(右侧栏、设置);路由先过 DSH 的 connection.requestRejection() 登录校验web/ 学习面板(原生 JS 模块,无构建):panel.js 路由和首页 · study.js 精听、复习、今日学习 · listen.js 连续听、磨耳朵、词汇 · edit.js 改句子、查词 · core.js 播放器和公共状态MIT · Copyright © 2026 AIcivilization