DeskLabs-OpenSource/DeskVoice
效率与系统工具自托管的 AI 语音电话系统,接听 SIP 来电、在通话中调用工具、转人工并在挂断后继续处理任务。
项目介绍
DeskVoice 把 AI 智能体放到电话线上。来电后智能体负责问候和对话,在通话过程中调用工具、必要时向人工发起审批、转接电话,挂断后继续执行摘要、通知等后续任务。适合想在自己的 VPS 上运行 AI 前台或小型客服中心、并自带运营商 SIP 中继的团队。
通话链路上,Asterisk 作为电话边界,通过 ARI 和 AudioSocket 把控制权和音频交给语音进程,语音进程对接 Gemini Live、OpenAI Realtime 或模拟引擎。每次事件写入 Postgres,另一个 routines 进程在挂断后继续工作,Next.js 面板经 Caddy 对外发布(架构说明)。
快速使用
准备:Ubuntu 22.04 及以上的 VPS(也接受 Debian 12+、AlmaLinux 9+、Rocky Linux 9+,但实测程度不一)、可选地一个解析到该 VPS 的域名、一个带号码的 SIP 中继,以及 Gemini 或 OpenAI 的语音密钥(按用量直接付给厂商)。
在 VPS 上执行一条命令,会把项目下载到 ~/DeskVoice 并启动安装器(安装脚本):
curl -fsSL https://raw.githubusercontent.com/DeskLabs-OpenSource/DeskVoice/main/install/get.sh | bash
想先读再运行,可以用等价的手动步骤(安装章节):
git clone https://github.com/DeskLabs-OpenSource/DeskVoice.git && cd DeskVoice && bash install/install.sh
安装器会检查机器和网络,询问域名、公司名、姓名、邮箱和密码,生成全部密钥,拉起服务,创建第一个用户并打印面板地址。SIP 中继、号码、AI 密钥和智能体随后都在界面里配置。
不接密钥、不接运营商,也可以在本机跑一次完整的模拟通话,需要 Docker(模拟演示):
git clone https://github.com/DeskLabs-OpenSource/DeskVoice.git && cd DeskVoice
pnpm install && pnpm demo
从零到第一通电话的完整步骤见首通电话指南。
成熟度与使用约束
README 把能力分成三类:模拟环境中已验证、真实 VPS 上已验证、仍在等待真实运营商通话验证(能力表)。安装、从面板更新、备份、恢复和更新失败自动回滚已在真实 VPS 上跑过;OpenAI Realtime 引擎在真实安装中通过浏览器语音页面验证过。而运营商 SIP 中继接听来电、转人工、带域名的 HTTPS、Gemini Live、webhook 和呼出电话,都还缺少真实运营商场景的验证。
安装在一台 8 GB / 4 vCPU 的 VPS 上验证过;0.3.0 版本、未装 WhatsApp 时,空闲状态约占用 380 MiB 内存和 2.7 GB 磁盘,最小可用规格尚未测量。发布的镜像仅支持 x86_64,ARM 上需用 --build 在本机构建。
WhatsApp 集成依赖 WAHA 这个非官方客户端,从面板安装而非随栈分发,会额外增加约 323 MiB 内存和 3.2 GB 磁盘。没有域名就没有 HTTPS,面板只能在 VPS 内部通过 SSH 隧道访问。
软件采用 MIT 许可、免费且没有付费版本,费用在于 VPS、电话线路和 AI 用量。呼出电话默认关闭,开启后强制每日每线呼出上限、禁止拨打名单、时间窗口、重拨次数限制和录音提示,以符合巴西 Anatel 对批量短通话的规定(巴西合规指南)。每个智能体有单次通话成本上限,面板会显示每通电话的实测成本。
项目不做遥测。README 列出了所有对外连接,包括面板查询 GitHub 发行版和更新代理拉取标签(对外连接清单)。
HotRepo 点评
项目于 2026-11-14 出现在 HotRepo 的 TypeScript 新项目榜中,一小时窗口内增加 2 颗 Star,暂无全语言 GitHub 日榜名次记录。目前的热度落在一个边界清晰的自托管电话系统上,且 README 罕见地逐项注明哪些能力在真实 VPS 上跑过、哪些仅模拟验证。这种如实标注是当前最主要的信号;真实运营商来电和带域名的 HTTPS 尚未验证,是生产采用前需要观察的缺口。
本文由 AI 根据项目 README 生成,更新于 ,以项目官方文档为准。