Back to home

SnowfallC

dsh-mobile-voice-call

App-free mobile voice calls with existing DeepSeek Harness sessions.

Stars
1
Language
JavaScript
Created
Aug 17, 2026
Updated
Aug 17, 2026

Introduction

DSH Mobile Voice Call

DSH Mobile Voice Call

不用下载 App,手机或 Pad 扫个码,就能直接在网页上跟 DeepSeek 娘打电话。既可以随时跟她聊几句,也能让她继续调用 DSH 工具,帮你操作电脑、整理文件。

Compatibility CI

English · 安装指南 · DSHFind

工作方式

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;配对后使用 HttpOnlySameSite=Strict Cookie。

截图

手机浏览器中正在进行的 DeepSeek 语音通话

DSH 手机通话扫码配对窗口,二维码已遮挡

安装与启动

前置条件

  • 已经能够正常启动 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/。下载完成后无需每次重装。
  • 手动接入已有组件:可通过 whisperExecutablePathwhisperModelPathhojoPythonPathhojoModelDirectory 指向已有文件,跳过相应自动安装。

模型和 CPU 依赖需要一定下载时间与磁盘空间,具体速度取决于 GitHub、Hugging Face 和 Python 包源的网络状况。准备完成后,点击右下角“手机通话”,扫码并选择会话即可开始说话;结束后请在电脑端撤销链接。

浏览器要求与限制

  • 页面必须通过 HTTPS 打开;Quick Tunnel 已满足这一要求。
  • 浏览器需要支持麦克风采集与 Web Audio,不要求提供网页语音合成。建议使用新版 Android Chrome 或 iOS Safari。
  • 请勿停留在微信、QQ、飞书或系统扫码器的内置浏览器中;扫码后用右上角菜单选择“在浏览器中打开”。
  • 语音识别由电脑上的 whisper.cpp 本地完成,不依赖 Android 的 SpeechRecognition,原始录音不会提交给 DeepSeek。不过录音仍会经过 Cloudflare 隧道从手机传回电脑,因此不属于端到端加密链路。
  • 当前采用轮流说话模式,不是真正的全双工音频电话;工具确认等高风险操作仍建议回到电脑端处理。
  • 正在运行的会话会显示为不可选择,以免两个客户端同时向同一轮次写入。

本地语音配置

默认配置适用于 Windows x64。whisperExecutablePathwhisperModelPathauto 时自动安装;也可改为已有的 whisper-cli 与 GGML 模型路径。whisperThreads 控制转写线程数,默认值为 8

语音合成默认使用 Hojo-TTS-Light 80M,并通过随插件提供的合成参考音频克隆一条偏可爱、略带傲娇感的中文声线。首次启动会在 DSH 缓存目录建立隔离的 Python 3.12 环境,并下载约 348 MB 的模型及 CPU 推理依赖;无需手动配置系统 Python。可通过 hojoReferenceAudioPathhojoReferenceText 使用自己的参考音频与逐字稿,通过 hojoThreads 调整 CPU 线程数,也可用 hojoModelDirectoryhojoPythonPath 指向现有环境。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 内核仓库中留下补丁。

友情链接