AVA-AI-Voice-Agent-for-Asterisk
AVA-AI-Voice-Agent-for-Asterisk 是一款专为 Asterisk 和 FreePBX 电话系统打造的开源 AI 语音助手。它利用 Audiosocket/RTP 技术,将传统电话网络与现代人工智能无缝连接,让企业能够轻松构建智能客服、自动应答或语音交互系统。
该工具主要解决了传统电话系统难以集成先进 AI 能力的痛点。过去,开发者若想为 Asterisk 添加语音识别、大模型对话或语音合成功能,往往需要复杂的定制开发。而 AVA 提供了一套模块化架构,允许用户自由组合不同的语音识别(STT)、大语言模型(LLM)和语音合成(TTS)服务商,并内置了六套经过验证的企业级基准配置,大幅降低了部署门槛和维护成本。
这款工具非常适合拥有 Asterisk/FreePBX 环境的系统管理员、通信开发者以及希望升级现有呼叫中心的企业技术团队。其独特的技术亮点在于灵活的“混合匹配”管道设计,支持按需切换底层 AI 供应商,同时提供直观的 Admin UI 管理面板,仅需几分钟即可通过 Docker 完成部署并发起测试通话。无论是希望实现本地化私有部署,还是快速对接云端 AI 服务,AVA 都能提供稳定且高效的解决方案。
使用场景
某中型物流公司的客服团队每天需处理数百通关于货物状态查询和异常报备的电话,传统人工坐席难以应对高峰时段的并发压力。
没有 AVA-AI-Voice-Agent-for-Asterisk 时
- 现有 Asterisk 电话系统仅能播放固定录音或进行简单的按键导航,无法理解客户自然的语言描述(如“我的包裹卡在转运中心了”)。
- 引入商业智能语音方案成本高昂,且被绑定在特定的云服务商上,无法灵活切换更便宜或效果更好的语音识别(STT)与大模型(LLM)供应商。
- 开发自定义集成需要深入修改 Asterisk 底层源码,部署周期长达数周,且缺乏可视化的管理界面来监控对话质量。
- 夜间或非工作时间无人值守,导致紧急物流异常无法及时记录,客户满意度大幅下降。
使用 AVA-AI-Voice-Agent-for-Asterisk 后
- 利用其模块化架构,公司快速集成了本地部署的 Whisper 模型进行高精度语音转文字,并连接私有化大模型,让电话机器人能像真人一样理解复杂的物流诉求。
- 通过灵活的提供商混合搭配功能,技术团队在不中断服务的情况下,将 TTS 引擎从云端切换至本地 GPU 推理,每月节省了大量 API 调用成本。
- 借助开箱即用的 Admin UI 和预置的企业级基线配置,运维人员在两天内就完成了从安装到上线的全流程,并能实时查看通话日志与系统健康状态。
- 实现了 7x24 小时自动应答,机器人不仅能查询状态,还能直接调用内部 API 创建工单,将夜间漏接率降为零。
AVA-AI-Voice-Agent-for-Asterisk 将传统的固定电话系统瞬间升级为具备自然语言交互能力的智能中枢,以极低的成本实现了企业级语音助手的落地。
运行环境要求
- Linux
- 非必需
- 若需本地 AI 推理,推荐 NVIDIA GPU
- CPU 模式下推荐使用 Qwen 2.5-1.5B 模型(约 940MB)
未说明(Preflight 脚本包含 RAM 检查,但具体数值未在 README 中列出)

快速开始
Asterisk/FreePBX向けの最も強力で柔軟なオープンソースAI音声エージェント。STT、LLM、TTSプロバイダーを自由に組み合わせられるモジュラー型パイプラインアーキテクチャと、企業導入向けに検証済みの6つの本番稼働可能なゴールデンベースラインを備えています。
📖 目次
- 🚀 クイックスタート
- 🎉 新機能
- 🌟 なぜAsterisk AI音声エージェントなのか?
- ✨ 機能
- 🎥 デモ
- 🛠️ AI駆動アクション
- 🩺 エージェントCLIツール
- ⚙️ 設定
- 🏗️ プロジェクトアーキテクチャ
- 📊 必要条件
- 🗺️ ドキュメント
- 🤝 貢献
- 💬 コミュニティ
- 📝 ライセンス
🚀 クイックスタート
管理UIを2分で起動しましょう。
完全な初回通話成功までの手順(ダイヤルプラン + トランスポート選択 + 検証)については、以下をご参照ください:
1. プレフライトチェックを実行(必須)
# リポジトリをクローン
git clone https://github.com/hkjarral/Asterisk-AI-Voice-Agent.git
cd Asterisk-AI-Voice-Agent
# 自動修正付きのプレフライトを実行(.envファイル作成、JWT_SECRET生成)
sudo ./preflight.sh --apply-fixes
重要: プレフライトは
.envファイルを作成し、安全なJWT_SECRETを生成します。必ず最初に実行してください!
2. 管理UIを起動
# 管理UIコンテナを起動
docker compose -p asterisk-ai-voice-agent up -d --build --force-recreate admin_ui
3. ダッシュボードにアクセス
ブラウザで開いてください:
- ローカル:
http://localhost:3003 - リモートサーバー:
http://<server-ip>:3003
デフォルトログイン: admin / admin
セットアップウィザードに従ってプロバイダーを設定し、テスト通話をかけてみてください。
⚠️ セキュリティ: 管理UIはネットワーク上でアクセス可能です。デフォルトパスワードを直ちに変更し、本番環境ではファイアウォール、VPN、またはリバースプロキシを使用してポート3003へのアクセスを制限してください。
4. インストールの確認
GPUユーザー: 地方でのAI推論にNVIDIA GPUをお持ちの場合、ビルド前にGPU用のComposeオーバーレイ(
docker-compose.gpu.yml)を適用するための手順は、docs/LOCAL_ONLY_SETUP.md をご参照ください。
# ai_engineを起動(ヘルスチェックに必要)
docker compose -p asterisk-ai-voice-agent up -d --build ai_engine
# ai_engineのヘルス状態を確認
curl http://localhost:15000/health
# 期待されるレスポンス: {"status":"healthy"}
# ログを確認してエラーがないか確認
docker compose -p asterisk-ai-voice-agent logs ai_engine | tail -20
5. Asteriskとの接続
ウィザードがAsteriskサーバー用の必要なダイヤルプラン設定を生成します。
トランスポートの選択は構成依存であり、「パイプライン対フルエージェント」という単純な区分ではありません。有効なマトリックスについては以下をご参照ください:
🔧 高度なセットアップ(CLI)
コマンドラインを好むユーザー、またはヘッドレスでのセットアップが必要な場合にご利用ください。
オプションA:インタラクティブCLI
./install.sh
agent setup
注:レガシーな
agent init、agent doctor、agent troubleshootコマンドは、CLI v6.4.0では非表示のエイリアスとして引き続き利用可能です。
オプションB:手動セットアップ
# 環境を設定
cp .env.example .env
# APIキーを記入して.envを編集
# サービスを起動
docker compose -p asterisk-ai-voice-agent up -d
Asteriskダイヤルプランの設定
以下の内容をFreePBXのextensions_custom.confに追加してください:
[from-ai-agent]
exten => s,1,NoOp(Asterisk AI Voice Agent)
; 通話ごとのオーバーライドは任意です:
; - AI_PROVIDERはプロバイダーやパイプラインを選択します(指定しない場合はai-agent.yamlのdefault_providerが使用されます)
; - AI_CONTEXTはコンテキストやキャラクターを選択します(指定しない場合はデフォルトコンテキストが使用されます)
same => n,Set(AI_PROVIDER=google_live)
same => n,Set(AI_CONTEXT=sales-agent)
same => n,Stasis(asterisk-ai-voice-agent)
same => n,Hangup()
注意:
AI_PROVIDERは省略可能です。未設定の場合、エンジンは通常の優先順位(コンテキストプロバイダー → default_provider)に従います。AI_CONTEXTも省略可能です。デフォルトのプロバイダーやパイプラインを変えずに挨拶文やキャラクターを変更したい場合に使用します。- チャネル変数の優先順位や例については、docs/FreePBX-Integration-Guide.md をご参照ください。
エージェントをテスト
ヘルスチェック:
agent check
ログの確認:
docker compose -p asterisk-ai-voice-agent logs -f ai_engine
🎉 v6.4.1の新機能
最新の更新内容
⚡ CPU遅延最適化 — ストリーミングLLM→TTSオーバーラップ(v6.4.1)
- 文単位のストリーミング: LLMトークンは文の区切りで分割され、各文が即座に合成・再生されます。これにより、全体の応答を待つ必要がなくなり、パイプライン構成では体感遅延が3〜10秒から2秒未満へ短縮されます。
- パイプラインフィラーオーディオ: LLMが思考を始める前に、エージェント自身の声で「少々お待ちください」などの即時応答フレーズが再生されます。フレーズは管理UIでカスタマイズ可能です。
- CPU推奨モデルとしてQwen 2.5-1.5B Instruct: 新しい940MBのモデルはCPU上で約15〜30トークン/秒の処理速度を実現します(Phi-3は約0.8トークン/秒)。セットアップウィザードでは「⚡ CPU推奨」バッジが自動的に表示されます。
- PCMからµ-lawへの直接変換: 全5つのTTSバックエンドで一時的なWAVファイルのやり取りが不要になり、応答ごとに10〜50ミリ秒の時間短縮が可能になりました。
- プレフライトの強化: Buildx検出、RAM/ディスク/ネットワークチェック、GPUインストールは
--apply-fixesオプションに限定され、すべてのランタイムポートが検証済みです。
📞 已参与转接流媒体与筛选(v6.4.0)
- 三种筛选模式:
basic_tts(来电者ID播报)、ai_briefing(实验性AI对话摘要)、caller_recording(录制来电者自报姓名/事由) - 流媒体传输:ExternalMedia RTP助手消除了转接提示音对外部共享存储的依赖
- 供应商无关工具引导:动态向LLM提供商暴露已配置的转接目标,防止出现幻觉扩展名
- 在线坐席UI:重新设计了紧凑布局,并支持自动轮询以检查坐席可用性
🗣️ 俄语语音后端(v6.4.0)
- Sherpa离线STT:基于VAD门控的离线转换器模式,采用Silero VAD、可配置阈值、预滚动填充及调试诊断功能。设置
SHERPA_MODEL_TYPE=offline即可启用。 - T-one STT:原生俄语电信ASR,使用流式CTC流水线结合束搜索/贪婪解码。需添加
--build-arg INCLUDE_TONE=true参数。 - Silero TTS:多语言TTS(俄语、英语、德语、西班牙语、法语、乌克兰语),提供原生8kHz电信输出和多种发音人选择。需添加
--build-arg INCLUDE_SILERO=true参数。
🎧 管理员UI(v6.4.0)
- 全屏面板:系统拓扑、通话统计和通话历史可切换最大化/最小化,并支持Esc键操作
- 对话时间戳:通话记录UI中每条消息均显示时间戳,并对LLM负载进行净化处理
- HTTP工具通配符:JSONPath
[*]数组提取现可在输出变量中正确工作
之前在v6.3.2中的内容
- Microsoft Azure语音服务STT与TTS管道适配器
- MiniMax LLM M2.7通过OpenAI兼容API
- 管理员UI中的通话录音回放
- Azure SSRF防范措施、PII日志记录规范
完整发布说明请参阅CHANGELOG.md。
以前的版本
v6.3.1 - 本地AI服务器与安全机制
- 后端启用/重建流程、模型生命周期用户体验、GPU操作便捷性、CPU优先入门流程
- 结构化的本地工具网关、挂断安全机制、工具调用解析稳健性
agent check --local/--remoteCLI验证命令
v6.1.1 - 呼叫中心配置与在线坐席转接
- 呼叫中心配置覆盖文件(
ai-agent.local.yaml)、在线坐席转接工具 - ViciDial兼容性、Admin UI中的Asterisk配置发现功能
- OpenAI Realtime GA API、邮件系统全面升级、NAT/GPU支持
v5.3.1 - 阶段性工具与稳定性
- 呼叫前HTTP查询、呼叫中HTTP工具以及呼叫后Webhook(里程碑24)
- Deepgram Voice Agent语言配置
- ExternalMedia RTP问候语截断修复
v4.4.3 - 跨平台支持
- 🌍 预检脚本:系统兼容性检查工具,带自动修复模式。
- 🔧 管理员UI修复:模型页面、提供商页面、仪表盘改进。
- 🛠️ 开发者体验:代码拆分、ESLint + Prettier集成。
v4.4.2 - 本地AI增强
- 🎤 新STT后端:Kroko ASR、Sherpa-ONNX。
- 🔊 Kokoro TTS:高质量神经网络TTS。
- 🔄 模型管理:可通过仪表盘动态切换后端。
- 📚 文档:新增LOCAL_ONLY_SETUP.md指南。
v4.4.1 - 管理员UI
- 🖥️ 管理员UI:现代化Web界面(http://localhost:3003)。
- 🎙️ ElevenLabs对话式AI:优质音质提供商。
- 🎵 背景音乐:AI通话期间播放环境音乐。
v4.3 - 完整工具支持与文档更新
- 🔧 完整工具支持:适用于所有类型的管道。
- 📚 文档全面更新:结构重新组织。
- 💬 Discord社区:官方服务器整合。
v4.2 - Google Live API与增强安装
- 🤖 Google Live API:Gemini 2.0 Flash集成。
- 🚀 交互式安装:
agent init向导(同时保留agent quickstart以保持向后兼容性)。
v4.1 - 工具调用与Agent CLI
- 🔧 工具调用系统:转接电话、发送邮件。
- 🩺 Agent CLI工具:
doctor、troubleshoot、demo。
🌟 为什么选择Asterisk AI语音代理?
| 特性 | 优势 |
|---|---|
| Asterisk原生 | 直接与您现有的Asterisk/FreePBX配合使用——无需外部电信运营商。 |
| 真正的开源 | MIT许可证,完全透明且可控。 |
| 模块化架构 | 可选择云端、本地或混合部署——根据需要灵活搭配不同提供商。 |
| 生产就绪 | 经过实战检验的基础配置,以通话历史为先的调试方式。 |
| 经济高效 | 本地混合部署的成本约为0.001–0.003美元/分钟(仅LLM费用)。 |
| 隐私优先 | 在使用云端智能的同时,将音频数据保留在本地。 |
✨ 功能
6种黄金基准配置
OpenAI实时(推荐快速入门)
- 现代云端AI,实现自然流畅的对话(响应时间小于2秒)。
- 配置文件:
config/ai-agent.golden-openai.yaml - 最适合:企业级部署、快速搭建。
Deepgram Voice Agent(企业级云服务)
- 先进的思考阶段,适用于复杂推理任务(响应时间小于3秒)。
- 配置文件:
config/ai-agent.golden-deepgram.yaml - 最适合:Deepgram生态系统、高级功能。
Google Live API(多模态AI)
- Gemini Live(Flash)具备多模态能力(响应时间小于2秒)。
- 配置文件:
config/ai-agent.golden-google-live.yaml - 最适合:Google生态系统、高级AI功能。
ElevenLabs Agent(优质音质)
- ElevenLabs对话式AI,提供高品质语音(响应时间小于2秒)。
- 配置文件:
config/ai-agent.golden-elevenlabs.yaml - 最适合:注重音质、追求自然对话体验。
本地混合(隐私导向)
- 本地STT/TTS结合云端LLM(OpenAI),音频全程本地保存。
- 配置文件:
config/ai-agent.golden-local-hybrid.yaml - 最适合:保护音频隐私、控制成本、满足合规要求。
Telnyx AI推理(经济高效多模型)
- 本地STT/TTS结合Telnyx LLM,支持53+种模型(GPT-4o、Claude、Llama等)。
- OpenAI兼容API,价格极具竞争力。
- 配置文件:
config/ai-agent.golden-telnyx.yaml - 最适合:模型灵活性、成本优化、多供应商接入。
其他LLM提供商
- MiniMax LLM(高性能、高性价比)
- 本地STT/TTS结合MiniMax M2.7 LLM,具备更强的推理与编码能力。
- OpenAI兼容API,支持工具调用功能。
- 模型包括:
MiniMax-M2.7(默认,最新旗舰版)、MiniMax-M2.7-highspeed(低延迟版)、MiniMax-M2.5、MiniMax-M2.5-highspeed。 - 激活方法:在
.env文件中设置MINIMAX_API_KEY,然后在config/ai-agent.yaml中配置providers.minimax_llm(确保minimax_llm部分的enabled: true)。 - 最适合:长上下文对话、高性价比高性能LLM。
完全本地(可选)
AVA 还支持完全本地模式(100% 本地部署,不使用云 API)。支持三种拓扑结构:
| 拓扑 | 延迟 | 适用场景 |
|---|---|---|
| 仅 CPU | 5-15秒/轮次 | 隐私保护、测试 |
| GPU(同一台机器) | 0.5-2秒/轮次 | 本地生产环境 |
| 分体式服务器(远程 GPU) | 1-3秒/轮次 | PBX 部署在 VPS 上 + GPU 专用机 |
GPU 设置使用带有 CUDA 支持的 docker-compose.gpu.yml 覆盖层与 llama.cpp 结合。社区验证:RTX 4090 可实现约 1.0 秒的端到端延迟。
- 查看:docs/LOCAL_ONLY_SETUP.md(所有本地拓扑的官方指南)
- 硬件建议:docs/HARDWARE_REQUIREMENTS.md
🏠 自托管 LLM 与 Ollama(无需 API 密钥)
使用 Ollama 运行您自己的本地 LLM——非常适合注重隐私的部署场景:
# 在 ai-agent.yaml 中
active_pipeline: local_hybrid
pipelines:
local_hybrid:
stt: local_stt
llm: ollama_llm
tts: local_tts
功能:
- 无需 API 密钥——完全自托管于您的网络中
- 工具调用支持,适用于兼容模型(Llama 3.2、Mistral、Qwen)
- 本地 Vosk STT + 您的 Ollama LLM + 本地 Piper TTS
- 完全隐私——所有处理均在本地完成
要求:
- Mac Mini、游戏 PC 或已安装 Ollama 的服务器
- 8GB+ 内存(推荐 16GB+ 以运行更大模型)
- 请参阅 docs/OLLAMA_SETUP.md 获取设置指南
推荐模型:
| 模型 | 大小 | 工具调用 |
|---|---|---|
llama3.2 |
2GB | ✅ 是 |
mistral |
4GB | ✅ 是 |
qwen2.5 |
4.7GB | ✅ 是 |
技术特性
- 工具调用系统:AI 驱动的操作(转接、发送邮件)适用于任何提供商。
- Agent CLI 工具:包括
setup、check、rca、update、version等命令(旧别名:init、doctor、troubleshoot)。 - 模块化管道系统:独立选择 STT、LLM 和 TTS 提供商。
- 双传输支持:AudioSocket(默认配置在
config/ai-agent.yaml中)和 ExternalMedia RTP(两者均支持——详见传输矩阵)。 - 流媒体优先下游:尽可能采用流媒体播放,并自动回退至文件播放以提高可靠性。
- 高性能架构:分离
ai_engine和local_ai_server容器。 - 可观测性:内置通话历史记录用于逐通调试,以及可选的
/metrics数据抓取。 - 状态管理:SessionStore 提供集中式、类型化的通话状态管理。
- 打断支持:可配置门控的中断处理机制。
🖥️ 管理 UI
现代化的 Web 界面,用于配置和系统管理。
快速入门:
docker compose -p asterisk-ai-voice-agent up -d --build --force-recreate admin_ui
# 访问地址:http://localhost:3003
# 默认登录:admin / admin(请立即修改!)
主要功能:
- 设置向导:可视化提供商配置。
- 仪表盘:实时系统指标、容器状态及 Asterisk 连接指示。
- Asterisk 设置:ARI 状态实时显示、模块检查清单、带指导修复命令的配置审计。
- 实时日志:基于 WebSocket 的日志流。
- YAML 编辑器:基于 Monaco 的编辑器,具备验证功能。
🎥 演示视频
📞 现场试用!(仅限美国)
只需一个电话,即可体验我们已投入生产的配置:
拨打:(925) 736-6718
- 按 5 → Google Live API(多模态 AI,结合 Gemini 2.0)
- 按 6 → Deepgram Voice Agent(企业级云端服务,包含 Think 阶段)
- 按 7 → OpenAI Realtime API(现代云端 AI,最自然)
- 按 8 → 本地混合管道(注重隐私,音频全程本地处理)
- 按 9 → ElevenLabs Agent(圣诞老人语音,配有背景音乐)
- 按 10 → 完全本地管道(100% 本地部署,基于 CPU)
🛠️ AI 驱动的操作
您的 AI 代理可通过工具调用执行真实的电话操作。
统一呼叫转接
来电者:“请帮我转接到销售团队”
客服:“我马上为您转接至销售团队。”
[转接至销售队列,并播放队列音乐]
支持的目标:
- 分机:直接 SIP/PJSIP 端点转接。
- 队列:ACD 队列转接,并播报等待位置。
- 振铃组:多个座席同时振铃。
呼叫控制与语音信箱
- 取消转接:“其实,取消刚才的转接吧”(在振铃过程中)。
- 挂断电话:以礼貌告别结束通话。
- 语音信箱:将呼叫转至语音信箱。
邮件集成
- 自动通话摘要:管理员会收到完整的通话记录和元数据。
- 来电者请求通话记录:“请把这次通话的记录发给我。”
| 工具 | 描述 | 状态 |
|---|---|---|
transfer |
转接至分机、队列或振铃组 | ✅ |
cancel_transfer |
取消正在进行的转接(振铃期间) | ✅ |
hangup_call |
优雅地结束通话并致以告别 | ✅ |
leave_voicemail |
将呼叫者转至语音信箱 | ✅ |
send_email_summary |
自动将通话摘要发送给管理员 | ⚙️ 默认关闭 |
request_transcript |
来电者主动请求发送通话记录 | ⚙️ 默认关闭 |
HTTP 工具(呼叫前/中/后)示例
# 在 ai-agent.yaml 中
tools:
pre_call_lookup:
kind: generic_http_lookup
phase: pre_call
enabled: true
is_global: false
post_call_webhook:
kind: generic_webhook
phase: post_call
enabled: true
is_global: false
in_call_tools:
intent_router:
kind: in_call_http_lookup
enabled: true
is_global: false
contexts:
default:
pre_call_tools:
- pre_call_lookup
tools:
- intent_router
- hangup_call
post_call_tools:
- post_call_webhook
🩺 Agent CLI 工具
专为运维和部署设计的生产就绪 CLI。
安装:
curl -sSL https://raw.githubusercontent.com/hkjarral/Asterisk-AI-Voice-Agent/main/scripts/install-cli.sh | bash
命令:
agent setup # 交互式设置向导(推荐)
agent check # 标准诊断报告(寻求帮助时可分享此输出)
agent check --local # 验证本机上的本地 AI 服务器(STT、LLM、TTS)
agent check --remote <ip> # 验证远程 GPU 机器上的本地 AI 服务器
agent update # 拉取最新代码并根据需要重建/重启
agent rca --call <call_id> # 通话后根本原因分析(使用通话历史查找 call_id)
agent version # 版本信息
⚙ 配置
三文件配置
config/ai-agent.yaml- 黄金基准配置(已加入 Git 跟踪,由上游维护)。config/ai-agent.local.yaml- 运维人员覆盖配置(被 .gitignore 忽略)。启动时,此处的所有键值会与基础文件进行深度合并;所有 Admin UI 和 CLI 的写入操作都会保存到这里,因此上游更新不会产生冲突。.env- 秘密信息和 API 密钥(被 .gitignore 忽略)。
.env 示例:
OPENAI_API_KEY=sk-your-key-here
DEEPGRAM_API_KEY=your-key-here
ASTERISK_ARI_USERNAME=asterisk
ASTERISK_ARI_PASSWORD=your-password
可选:指标监控(自建 Prometheus)
引擎在 http://<engine-host>:15000/metrics 暴露 Prometheus 格式的指标。
每次通话的调试可通过 Admin UI → Call History 进行。
🏗 项目架构
采用双容器架构以提升性能和可扩展性:
ai_engine(轻量级编排器):通过 ARI 连接 Asterisk,管理通话生命周期。local_ai_server(可选):运行本地 STT/LLM/TTS 模型(Vosk、Faster Whisper、Whisper.cpp、Sherpa、Kroko、Piper、Kokoro、MeloTTS、llama.cpp)。
graph LR
A[Asterisk Server] <-->|ARI, RTP| B[ai_engine]
B <-->|API| C[AI Provider]
B <-->|WS| D[local_ai_server]
style A fill:#f9f,stroke:#333,stroke-width:2px
style B fill:#bbf,stroke:#333,stroke-width:2px
style C fill:#bfb,stroke:#333,stroke-width:2px
style D fill:#fbf,stroke:#333,stroke-width:2px
📊 系统要求
平台要求
| 要求 | 详情 |
|---|---|
| 架构 | 仅支持 x86_64 (AMD64) |
| 操作系统 | 带有 systemd 的 Linux |
| 支持的发行版 | Ubuntu 20.04+、Debian 11+、RHEL/Rocky/Alma 8+、Fedora 38+、Sangoma Linux |
注意: 目前不支持 ARM64(Apple Silicon、Raspberry Pi)。完整兼容性矩阵请参阅 Supported Platforms。
最低系统要求
| 类型 | CPU | 内存 | GPU | 磁盘 |
|---|---|---|---|---|
| 云端(OpenAI/Deepgram) | 2 核以上 | 4GB | 无 | 1GB |
| 本地混合(云端 LLM) | 4 核以上 | 8GB+ | 无 | 2GB |
| 全本地(CPU) | 4 核以上(2020 年及以上型号) | 8-16GB | 无 | 5GB |
| 全本地(GPU) | 4 核以上 | 8-16GB | RTX 3060+ | 10GB |
软件要求
- Docker + Docker Compose v2
- 启用了 ARI 的 Asterisk 18+
- FreePBX(推荐)或原生 Asterisk
预检自动化
preflight.sh 脚本负责初始设置:
- 根据
.env.example文件填充.env,并结合您的设置; - 提示您输入 Asterisk 配置目录的位置;
- 设置
ASTERISK_UID/ASTERISK_GID以匹配主机权限(解决媒体访问问题); - 重复运行预检脚本通常可以解决权限问题。
🗺 文档
入门指南
配置与运维
开发与社区
🤝 贡献方式
您无需具备编程知识。 我们的 AI 助手 AVA 会为您编写代码——只需描述您想构建的内容即可。
🚀 三步开始贡献
git clone -b develop https://github.com/hkjarral/Asterisk-AI-Voice-Agent.git
cd Asterisk-AI-Voice-Agent
./scripts/setup-contributor.sh
然后在 Windsurf 中打开项目,并输入:“我想贡献”
📖 指南
| 指南 | 适用人群 |
|---|---|
| 运营人员贡献指南 | 第一次贡献者(无需 GitHub 经验) |
| 贡献指南 | 完整的贡献指南和工作流程 |
| 编码规范 | 所有贡献的代码标准 |
| 路线图 | 下一步要做的工作(13+ 项适合初学者的任务) |
🔧 构建新功能
| 领域 | 指南 | 模板 |
|---|---|---|
| 完整代理提供者 | 指南 | 模板 |
| 流水线适配器(STT/LLM/TTS) | 指南 | 模板 |
| 通话前钩子 | 指南 | 模板 |
| 通话中钩子 | 指南 | 模板 |
| 通话后钩子 | 指南 | 模板 |
👩💻 针对开发者
贡献者
![]() hkjarral 架构、代码 |
![]() Abhishek Telnyx LLM 提供商 |
![]() turgutguvercin NumPy 重采样器 |
![]() Scarjit 代码 |
![]() egorky Azure STT/TTS 提供商 |
![]() alemstrom 文档 — PBX 设置 |
![]() gcsuri 代码 — Google 日历 |
![]() octo-patch MiniMax LLM 提供商 |
![]() neilruaro-camb CAMB AI TTS 提供商 |
![]() aoi-dev-0411 转录搜索、健康徽章 |
完整贡献者列表请参阅 CONTRIBUTORS.md,关于我们如何认可贡献,请查看 表彰计划。
💬 社区
- Discord 服务器 - 支持与讨论
- GitHub Issues - 错误报告
- GitHub Discussions - 通用交流
📝 许可证
本项目采用 MIT 许可证。详情请参阅 LICENSE 文件。
💖 支持本项目
Asterisk AI 语音代理是 免费且开源 的。如果它为您节省了成本,不妨考虑支持开发:
您的支持将用于:
- 🐛 更快地修复错误和响应问题
- ✨ 新的提供商集成和功能
- 📚 更完善的文档和教程
如果您觉得本项目有用,请为它点亮一颗星 ⭐️!
星标历史
版本历史
v6.4.12026/04/10v6.4.02026/03/28v6.3.22026/03/12v6.3.12026/03/01v6.2.12026/02/20v6.2.02026/02/14v6.1.12026/02/10v6.0.02026/02/07v5.3.12026/02/01v5.2.52026/01/28v5.2.42026/01/26v5.2.32026/01/26v5.2.22026/01/26v5.2.12026/01/26v5.1.72026/01/24v5.1.62026/01/20v5.1.52026/01/19v5.1.42026/01/16v5.1.32026/01/16v5.1.22026/01/16常见问题
相似工具推荐
openclaw
OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
opencode
OpenCode 是一款开源的 AI 编程助手(Coding Agent),旨在像一位智能搭档一样融入您的开发流程。它不仅仅是一个代码补全插件,而是一个能够理解项目上下文、自主规划任务并执行复杂编码操作的智能体。无论是生成全新功能、重构现有代码,还是排查难以定位的 Bug,OpenCode 都能通过自然语言交互高效完成,显著减少开发者在重复性劳动和上下文切换上的时间消耗。 这款工具专为软件开发者、工程师及技术研究人员设计,特别适合希望利用大模型能力来提升编码效率、加速原型开发或处理遗留代码维护的专业人群。其核心亮点在于完全开源的架构,这意味着用户可以审查代码逻辑、自定义行为策略,甚至私有化部署以保障数据安全,彻底打破了传统闭源 AI 助手的“黑盒”限制。 在技术体验上,OpenCode 提供了灵活的终端界面(Terminal UI)和正在测试中的桌面应用程序,支持 macOS、Windows 及 Linux 全平台。它兼容多种包管理工具,安装便捷,并能无缝集成到现有的开发环境中。无论您是追求极致控制权的资深极客,还是渴望提升产出的独立开发者,OpenCode 都提供了一个透明、可信
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
gemini-cli
gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。











