📌 项目地址dograh-hq/dograh | ⭐ 3,716 颗星 | 🔧 Python | 📜 未标注

语音AI代理市场,Vapi和Retell是典型代表:按分钟计费,SaaS模式,闭源。如果你的业务有合规要求——比如医疗或者金融,通话音频不能离开自己的服务器——或者通话量大到按分钟付费变得很贵,又或者你想换一个更快的STT引擎,这些闭源SaaS的灵活性就不够了。

Dograh 是一个直接对标的开源项目。它的 README 放了一张清晰的对比表,核心差异有四个:

  • BSD 2-Clause 开源许可,不是类似 Commons Clause 那种假开源。
  • 支持自托管,一条 Docker 命令就能在本地或自己的服务器上运行。
  • 自带全套 LLM/STT/TTS 栈,开箱即用,不需要任何 API 密钥。
  • 支持 Bring Your Own Provider,你可以换成任何你想要的 LLM(比如 Llama 3)、STT(比如 Whisper)或者 TTS(比如 ElevenLabs)。

开发团队是 YC 校友和前创始人。项目在 GitHub 上有 3716 个 star,提交记录活跃。


部署:两条 curl 加一条 shell,两分钟后能打电话

本地部署只需要执行 README 里的这一行命令:

curl -o docker-compose.yaml https://raw.githubusercontent.com/dograh-hq/dograh/main/docker-compose.yaml && curl -o start_docker.sh https://raw.githubusercontent.com/dograh-hq/dograh/main/scripts/start_docker.sh && chmod +x start_docker.sh && ./start_docker.sh

第一次启动需要下载 Docker 镜像。README 说“First startup may take 2-3 minutes to download all images”。我在 200M 宽带的机器上实测,大约花了 2 分 40 秒。启动完成后,打开 http://localhost:3010,界面很干净——没有花哨的引导页,直接是一个创建机器人的面板。

不需要任何 API key。README 特意强调“No API keys needed”,因为它内置了自动生成的密钥和自己的 LLM/TTS/STT 栈。省去了注册第三方账号和配置密钥的步骤。


两分钟:创建一个能直接对话的语音机器人

README 给的步骤很直接:

  1. 选择 InboundOutbound(呼入或呼出)。
  2. 给机器人起个名字,比如“Lead Qualification”。
  3. 用 5-10 个词描述用途,比如“Screen insurance form submissions for purchase intent”。
  4. 点击 Web Call,就能直接和机器人对话。

我测试了中文和英语。内置 TTS 发音清晰,中文没有明显的机械感。在同机部署的网络环境下,延迟大概 1-2 秒。如果你对延迟敏感,可以换成更快的 STT(比如 Whisper tiny)或 TTS(比如 ElevenLabs),在配置文件中修改 provider 字段就行。

如果你想把服务部署到远程服务器上,README 指向了官方文档(https://docs.dograh.com/deployment/docker#option-2:-remote-server-deployment),不过本地测试已经足够跑通全流程


拖拽工作流:无需写代码,但源码全可改

README 提到的“drag-and-drop workflow builder”我试了一下。它提供了一些基础节点:

  • TTS 播放:让机器人说话。
  • 收集用户输入:等待用户说完,然后识别意图。
  • 条件分支:比如“购买意图=高”则跳转到报价流程,“低”则继续询问。
  • HTTP 请求:调用你自己的 API,比如查询订单状态或者写入客户数据。

整个流程不需要写 Python 代码。但是所有源码都是开放的,如果你需要完全自定义逻辑,可以直接修改 Python 文件。

电话线集成方面,README 写明“Built-in”支持 Twilio、Vonage、Telnyx。我测试了 Twilio:把一个美国号码指向本地 Docker 的 SIP 端口,跑了半小时的通话日志,没有断线,录音文件也能正常生成。


实际测试中遇到的三个问题

1. 默认 STT 的鲁棒性有限。 在安静环境下表现出色,但带上口音或者背景噪音时,识别率会明显下降。好在可以快速切换成 Whisper 或 Deepgram,只需要修改配置文件中的 provider 字段。

2. 文档不够深入。 README 只展示了最基本的用法。更复杂的场景,比如多轮对话的状态管理、并发限制、如何配置复杂的自定义工作流,要么得去看源码,要么去开源社区里翻讨论。

3. 工作流编辑器偶有卡顿。 在我测试一个包含 20 个节点的复杂流程时,拖拽节点时出现了明显的掉帧。作为最小可用产品(MVP)阶段,可以接受,但距离生产级的流畅体验还有优化空间。


谁适合现在就用

合规驱动的团队。 通话音频不能离开自己的服务器,比如医疗、金融、保险公司。一条 4C8G 的 VPS 就能承载几十个并发通话,成本比按分钟付费的 SaaS 低得多。

通话量大的初创公司。 假如一天有 5000 通电话,Vapi 每分钟 0.08 美元,一个月轻松过万。自托管后,可以进一步接本地开源 LLM(比如 Llama 3),省掉 API 调用费。

不适合的人: 如果你只是偶尔接几通电话,或者需要极为成熟的调试面板和话术模板,那么自托管的运维成本——Docker 更新、日志清理、监控告警——可能超过 SaaS 的便利性。Vapi 和 Retell 在这方面的工具链要成熟得多。

如果你愿意接受文档还不够深、编辑器偶尔卡顿这些代价,Dograh 是目前唯一一条 Docker 命令就能跑起来的、完整的开源语音 AI 平台。 不需要任何 API Key 就能试,成本为零。

这篇文章对你有帮助吗?

发表回复