news 2026/8/29 11:25:11

Dograh快速入门:从Docker Compose到第一个AI电话助手的完整教程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Dograh快速入门:从Docker Compose到第一个AI电话助手的完整教程

Dograh快速入门:从Docker Compose到第一个AI电话助手的完整教程

【免费下载链接】dograhOpen source voice AI platform. Self-hosted alternative to Vapi and Retell. On Prem, BYOK across Speech to Speech or LLM/STT/TTS, with a visual workflow builder, MCP native and telephony support.项目地址: https://gitcode.com/GitHub_Trending/do/dograh

Dograh是一个开源、可自托管的语音AI平台,被誉为 Vapi 和 Retell 的自托管替代方案。通过 Docker Compose 一条命令即可在本地或服务器上部署完整的语音AI基础设施,再用可视化工作流编辑器在 5 分钟内创建你的第一个 AI 电话助手——支持 LLM/STT/TTS 或端到端 Speech-to-Speech 模型,自带 MCP 集成与电话线路(Twilio、Vonage、Telnyx 等)支持,数据完全掌握在自己手里。

本文将从零开始,带你走完「Docker Compose 部署 → 创建语音助手 → 浏览器实测 → 接入真实电话」的全流程。🚀

为什么选择 Dograh 部署语音AI?

对比维度Dograh商业SaaS方案
开源协议BSD 2-Clause,100% 开源闭源
自托管✅ 一条 Docker 命令❌ 仅 SaaS
模型选择BYOK,任意 LLM/STT/TTS 提供商受限于平台集成
数据主权你的基础设施,你的规则平台云端
供应商锁定

核心卖点:零 API Key 门槛。Dograh 自带自动生成的密钥和完整的 LLM/TTS/STT 技术栈,开箱即用;想换成自己的模型密钥(BYOK)随时可以切换。

部署前准备:系统与端口检查

开始之前,先确认环境满足以下最低要求(详见 prerequisites.mdx 文档目录下的说明):

  • 内存:8 GB(其中 4 GB 分配给 Docker)
  • 磁盘:10 GB 可用空间
  • CPU:2 核(x86_64 或 ARM64 均可)
  • 系统:macOS 10.15+ / Windows 10/11(WSL2)/ Linux
  • 软件:Docker 20.10+(Docker Compose 已内置)

同时确认这些端口未被占用:3010(Web UI)、8000(API)、5432(PostgreSQL)、6379(Redis)、9000/9001(MinIO 对象存储)。

# Linux/macOS 检查端口占用 lsof -i :3010

💡 如果使用 Docker Desktop,记得在Settings → Resources中至少分配 4 GB 内存、2 个 CPU。

第一步:Docker Compose 一键部署 Dograh

打开终端,执行下面这条命令(它会自动下载docker-compose.yaml和启动脚本,生成必要的密钥与.env文件,然后拉起全部服务):

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

这条命令背后做了几件关键的事:

  1. 下载最新的 docker-compose.yaml 编排文件
  2. 自动创建OSS_JWT_SECRETREDIS_PASSWORD等凭据到.env
  3. 启动 PostgreSQL、Redis、MinIO、API、UI 等全部服务
  4. 自动拉取最新镜像

⏱️ 首次启动需要 2-3 分钟下载镜像。不想收集匿名遥测数据的话,在执行前设置ENABLE_TELEMETRY=false即可。

Windows 用户使用 PowerShell 版本(脚本见scripts/start_docker.ps1):

Invoke-WebRequest -OutFile docker-compose.yaml https://raw.githubusercontent.com/dograh-hq/dograh/main/docker-compose.yaml; Invoke-WebRequest -OutFile start_docker.ps1 https://raw.githubusercontent.com/dograh-hq/dograh/main/scripts/start_docker.ps1; .\start_docker.ps1

部署完成后,浏览器打开http://localhost:3010即可进入控制台。

第二步:创建你的第一个 AI 语音助手

进入控制台后,创建一个新 Agent,只需填写三项内容:

  1. Call Type(呼叫方向):选Inbound(用户打给 AI)或Outbound(AI 主动外呼)
  2. Use Case(用例):用 5-10 个词描述场景,例如「客服咨询」「保险线索筛选」
  3. Activity Description(活动描述):详细描述助手的任务,它会被送入 LLM 生成完整的工作流提示词——描述越具体,生成的对话流越贴合你的需求

点击Create Agent后,系统会直接进入可视化工作流编辑器。

第三步:看懂可视化工作流编辑器

Dograh 的核心是拖拽式工作流画布:LLM 会自动为你的用例生成一张包含Start Call(开始呼叫)→ Agent 节点 → End Call(结束呼叫)的流程图,节点之间用路径(pathway)连接。

点开任意节点就能编辑它的 Prompt 提示词,还有几个高频开关值得了解:

  • Allow Interruption:是否允许用户打断 AI 说话
  • Add Global Prompt:附加全局指令(语气、异议处理等,作用于整个流程)
  • Detect Voicemail:检测到语音信箱自动挂断
  • Delayed Start:开场前加入延迟

你不需要现在就理解所有节点类型——生成的 Agent 开箱即能跑通,先听它说话,再回头微调提示词。

第四步:在浏览器里实测你的 AI 电话助手

这是最快验证效果的方式:Web Call(网页通话)。无需电话号码、无需配置任何电话线路,直接在浏览器中通过麦克风完成完整链路:语音识别(STT)→ LLM 推理 → 语音合成(TTS),体验与真实电话一致。

通话过程中你可以实时观察:

  • 实时转写文本:对话逐句上屏
  • 节点跳转:Agent 在工作流图中移动的过程
  • 工具调用:Agent 调用外部工具的全过程

不满意?直接打开对应节点修改提示词,保存后重新发起 Web Call 即可听到变化——无需重新部署、无需重启。想快速迭代文本逻辑,还可以用Test Chat以文字模式对话,甚至编辑/重放某一轮用户发言让 Agent 重新生成后续回复。

进阶:接入真实电话线路 📞

浏览器测试满意后,下一步就是接真实号码。以接入最快的 Twilio 为例:

  1. 在 Twilio 注册账号并购买一个号码(试用账户自带免费测试额度)
  2. 复制Account SIDAuth Token
  3. 在 Dograh 中打开Telephony → Add Configuration,选择 Twilio 提供商,粘贴凭据
  4. 务必勾选「Set as default for outbound calls」(否则 API 触发呼叫会报错)
  5. 添加你购买的电话号码,并指定呼入时路由到的工作流

之后就可以从你的后端通过 API 触发外呼:电话响起、AI 接听、实时对话——呼入方向同理,经 Twilio Webhook 反向路由到 Dograh 工作流。此外平台还支持 Vonage、Telnyx、Plivo、Vobiz、Cloudonix 及 Asterisk ARI 等提供商。

可选优化:换用自己的模型或嵌入网站

BYOK 模型配置:在Models页面可以切换「Dograh 托管 / BYOK / Speech-to-Speech」三种模式,填入自己的 API Key 后选择模型、音色、语速并保存:

嵌入网站:不想走电话线路?在 Agent 设置页找到Add to Website,开启嵌入、选择 Floating Widget 等模式,复制一段脚本标签贴到任意网页,访客即可点击按钮直接与语音 AI 通话:

常见问题速查 🛠️

问题解决方法
端口被占用lsof -i :3010找到进程后kill -9 <PID>;或docker stop $(docker ps -q)停止所有容器
通话接通但没声音 /iceConnectionState: failed网络 NAT 较严格,需启用 TURN 中继:用scripts/setup_local.sh重新初始化(选启用 coturn),再执行docker compose --profile local-turn up
停止/清理所有数据docker compose down(加-v同时删除数据卷)

更多排查细节参考仓库中的docs/getting-started/troubleshooting.mdx

下一步学什么?

部署成功只是起点,按官方文档路径继续深入:

  • 📖 docs/getting-started/first-agent.mdx:5 分钟构建第一个 Agent 的完整步骤
  • 📖docs/voice-agent/introduction:工作流图模型与全部节点类型
  • 📖docs/voice-agent/api-trigger:从后端 API 触发外呼
  • 📖docs/getting-started/add-tools-and-knowledge-base:给 Agent 加工具和知识库
  • 🔌api/mcp_server/:MCP 服务器源码,可让 Claude Code、Cursor 等编程助手直接在你的工作区创建和编辑工作流

至此,你已经从一条 Docker Compose 命令,走到了能接真实电话的开源 AI 语音助手。剩下的,就是让它为你干活了。

【免费下载链接】dograhOpen source voice AI platform. Self-hosted alternative to Vapi and Retell. On Prem, BYOK across Speech to Speech or LLM/STT/TTS, with a visual workflow builder, MCP native and telephony support.项目地址: https://gitcode.com/GitHub_Trending/do/dograh

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/29 11:25:10

数模国赛元胞自动机实战:从MATLAB实现到经典模型解析

1. 项目概述&#xff1a;从零到一&#xff0c;构建你的数模国赛元胞自动机工具箱如果你正在为数学建模国赛&#xff08;MCM/ICM&#xff09;做准备&#xff0c;并且看到了“元胞自动机”这个听起来有点玄乎的词&#xff0c;心里正犯嘀咕&#xff1a;这玩意儿到底是个啥&#xf…

作者头像 李华
网站建设 2026/8/29 11:25:08

大模型跨领域知识融合:本地部署与RAG工程实践

这次我们来看一个偏“判断”层面的 AI 话题&#xff0c;但它完全可以落到工程层面来验证&#xff1a;AI 无边界融合多领域知识。 Dario 在公开讨论中多次强调一个判断——AI 的能力正在脱离单一领域的限制&#xff0c;同一个模型体系可以同时处理编程、数学、法律、医学、创意…

作者头像 李华
网站建设 2026/8/29 11:25:05

Python数据可视化进阶:掌握matplotlib图形布局与输出控制

1. 从“画出来”到“画对地方”&#xff1a;为什么函数曲线输出位置控制是建模基本功 在数学建模和数据分析的日常工作中&#xff0c;用Python画函数曲线图几乎是每个从业者的必备技能。我们经常看到这样的场景&#xff1a;新手同学兴冲冲地写了几行 matplotlib 代码&#xf…

作者头像 李华
网站建设 2026/8/29 11:23:49

PaddleOCR 本地部署快速上手:5分钟跑通多语言 OCR 与文档解析

PaddleOCR 本地部署快速上手&#xff1a;5分钟跑通多语言 OCR 与文档解析 【免费下载链接】PaddleOCR Turn any PDF or image document into structured data for your AI. A powerful, lightweight OCR toolkit that bridges the gap between images/PDFs and LLMs. Supports …

作者头像 李华
网站建设 2026/8/29 11:23:45

uv 三步装完依赖:移动开发项目初始化指南

uv 三步装完依赖&#xff1a;移动开发项目初始化指南 【免费下载链接】uv An extremely fast Python package and project manager, written in Rust. 项目地址: https://gitcode.com/GitHub_Trending/uv/uv Python 装依赖慢、环境乱、工具链碎&#xff0c;是移动端开发…

作者头像 李华
网站建设 2026/8/29 11:23:44

typeof与instanceof原理详解:从类型标签到原型链,前端面试必考

先把话说在前面&#xff1a;typeof 和 instanceof 这两个操作符&#xff0c;前端面试基本逢面必考&#xff0c;尤其是初、中级岗位。很多人刷题的时候觉得这题简单——typeof 返回字符串嘛&#xff0c;instanceof 检查原型链嘛——但真到面试现场&#xff0c;面试官一旦开始连环…

作者头像 李华