安装
npx -y @deepseek-ai/dsh plugin --profile web add github:SnowfallC/dsh-mobile-voice-call此安装命令根据 GitHub 仓库地址生成,是未经验证的安装起点。
README
维护者编写的文档快照。

DSH Mobile Voice Call
这个插件解决的问题很直接:电脑上的 DSH 已经有会话了,我只是想拿起手机继续说,不想再装一个 App,也不想为了临时远程准备服务器、公网 IP 或域名。打开 DSH、扫描二维码、选择已有会话,就可以直接开始语音通话。
工作方式
DSH 本身就是 Web 应用,所以手机远程没有必要再做一套 APK。这个插件只通过 DSH 官方的插件组合机制接入,不修改内核;手机端也只是一个针对通话收窄过的 Web 页面,已有会话、归档状态、语言和主题仍然跟着 DSH 走。这样 DSH 后续更新时,插件需要维护的只是很薄的一层适配。
电脑端负责运行 DSH、本地桥接、whisper.cpp 和 Hojo-TTS-Light,Cloudflare Quick Tunnel 只提供临时 HTTPS 地址。手机浏览器采集录音并播放结果;录音回到电脑后由 whisper.cpp 本地转写,再通过 DSH 原生会话 RPC 发送。DeepSeek 的回复由电脑上的 Hojo-TTS-Light 合成为 WAV 后传回手机自动播放。Hojo 还没准备好或暂时不可用时,会回退到 Windows 系统语音。
- 只显示已有、空闲的顶层会话,不提供完整文字聊天界面。
- 选中会话后立即请求麦克风权限并开始通话。
- 支持暂停收音、打断朗读、挂断及取消正在进行的轮次。
- 自动隐藏 DSH 中已经归档的会话。
- 自动跟随 DSH 的中英文设置与浅色/深色主题。
- 一次性配对 Token 置于 URL Fragment;配对后使用
HttpOnly、SameSite=StrictCookie。
截图


安装与启动
前置条件
- 已经能够正常启动 DSH Web profile。
- 默认自动安装面向 Windows x64。
- 如需使用 Hojo-TTS-Light,请确保
uv已安装并可从PATH调用;不需要另外安装或配置系统 Python。
从 GitHub 安装
在 DSH 源码仓库中执行:
pnpm dsh plugin --profile web add "github:SnowfallC/dsh-mobile-voice-call"
pnpm dsh web
从本地目录安装
git clone https://github.com/SnowfallC/dsh-mobile-voice-call.git "C:/path/to/dsh-mobile-voice-call"
cd "C:/path/to/deepseek-harness"
pnpm dsh plugin --profile web add "C:/path/to/dsh-mobile-voice-call"
pnpm dsh web
语音识别与 TTS 的首次安装
这两部分都不用手工下载模型,但首次运行需要联网:
- 语音识别(whisper.cpp):DSH 启动插件时会下载官方 Windows x64 构建(约 8 MB)和多语言
small模型(约 466 MiB),校验固定体积与 SHA-256 后再启用。这个步骤完成前不会生成可用的通话链接,后续启动直接复用缓存。 - 语音合成(Hojo-TTS-Light 80M):打开“手机通话”面板后才开始后台预热。插件通过
uv建立隔离的 Python 3.12 环境,安装固定版本的 CPU 推理依赖,再下载约 348 MB 的模型和官方推理脚本。二维码和配对不需要等它完成;手机接通时如果仍在准备,会显示“语音引擎预热中,请稍候”。安装失败时会回退到 Windows 系统语音。 - 缓存位置:默认位于
$DSH_HOME/cache/dsh-mobile-voice-call/;未设置DSH_HOME时通常是%USERPROFILE%/.dsh/cache/dsh-mobile-voice-call/。下载完成后无需每次重装。 - 手动接入已有组件:可通过
whisperExecutablePath、whisperModelPath、hojoPythonPath和hojoModelDirectory指向已有文件,跳过相应自动安装。
模型和 CPU 依赖需要一定下载时间与磁盘空间,具体速度取决于 GitHub、Hugging Face 和 Python 包源的网络状况。准备完成后,点击右下角“手机通话”,扫码并选择会话即可开始说话;结束后请在电脑端撤销链接。
浏览器要求与限制
- 页面必须通过 HTTPS 打开;Quick Tunnel 已满足这一要求。
- 浏览器需要支持麦克风采集与 Web Audio,不要求提供网页语音合成。建议使用新版 Android Chrome 或 iOS Safari。
- 请勿停留在微信、QQ、飞书或系统扫码器的内置浏览器中;扫码后用右上角菜单选择“在浏览器中打开”。
- 语音识别由电脑上的 whisper.cpp 本地完成,不依赖 Android 的
SpeechRecognition,原始录音不会提交给 DeepSeek。不过录音仍会经过 Cloudflare 隧道从手机传回电脑,因此不属于端到端加密链路。 - 当前采用轮流说话模式,不是真正的全双工音频电话;工具确认等高风险操作仍建议回到电脑端处理。
- 正在运行的会话会显示为不可选择,以免两个客户端同时向同一轮次写入。
本地语音配置
默认配置适用于 Windows x64。whisperExecutablePath 和 whisperModelPath 为 auto 时自动安装;也可改为已有的 whisper-cli 与 GGML 模型路径。whisperThreads 控制转写线程数,默认值为 8。
语音合成默认使用 Hojo-TTS-Light 80M,并通过随插件提供的合成参考音频克隆一条偏可爱、略带傲娇感的中文声线。首次启动会在 DSH 缓存目录建立隔离的 Python 3.12 环境,并下载约 348 MB 的模型及 CPU 推理依赖;无需手动配置系统 Python。可通过 hojoReferenceAudioPath 和 hojoReferenceText 使用自己的参考音频与逐字稿,通过 hojoThreads 调整 CPU 线程数,也可用 hojoModelDirectory 或 hojoPythonPath 指向现有环境。Hojo 尚未就绪或合成失败时会回退到 Windows 系统语音。自动下载的模型与官方推理源码均固定版本、体积与 SHA-256 校验。
80M 引擎采用按需加载:启动 DSH 时只准备轻量后备语音,打开“手机通话”面板后才在后台预热 Hojo。模型只在本次 DSH 进程中加载一次,关闭面板不会反复占用初始化时间。朗读前还会移除中英文圆括号及其中内容,避免动作、语气或角色扮演说明被念出;会话中显示的原始回复不受影响。
朗读按句号、问号和感叹号分段。插件每 250 毫秒读取 DSH 原生 assistant/chunk,完整句子一出现便提交合成并开始播放,无需等待整轮回复结束;Hojo 单模型仍按安全队列生成后续句子。Hojo 当前不提供逐帧音频流,因此这里实现的是句级流式播放。回复文字会随对应语音开始播放而显示,默认使用 8 个 CPU 线程。
每次接通会话后,插件只在第一条语音消息前加入一次通话说明,要求后续回复采用自然、简短、适合朗读的表达,并避免自行添加括号动作、角色扮演旁白或舞台说明;连续通话不会重复注入同一段文字。Markdown 清理只发生在本地朗读前,不会改写会话中的原始回复。
[!WARNING] 本功能属于实验性功能,流量经 Cloudflare 中转,临时隧道不提供固定地址或服务等级保证。请勿处理敏感任务,使用后立即撤销链接。
开发
pnpm install
pnpm check
pnpm test
配置项见 cordis.patch.yml。安全问题请参阅 SECURITY.md。代码采用 MIT License。
卸载
pnpm dsh plugin --profile web remove dsh-mobile-voice-call
随后重启 DSH。插件不会在 DSH 内核仓库中留下补丁。
友情链接
项目文件与信号
以下项目是目录快照中检测到的公开仓库信号。
仓库信息
- 开发语言
- JavaScript
- 许可证
- MIT
- 最后更新
- 2026年8月17日 09:13
谨慎安装
请检查源代码、权限、生命周期脚本、依赖与网络访问;不受信任的插件应先在隔离环境中测试。