概述
安裝
內容詳情
替代品
什麼是CallCenter.js?
CallCenter.js是一個創新的AI語音助手工具,它結合了OpenAI的即時語音API和VoIP技術,讓你的人工智能助手能夠實際撥打電話並與人交談。無論是訂餐、預約還是客戶服務,只需簡單描述你的需求,AI就會幫你完成整個通話過程。如何使用CallCenter.js?
使用非常簡單:1) 配置你的VoIP賬號信息 2) 設置OpenAI API密鑰 3) 通過Claude Code或命令行告訴AI你想要打電話做什麼 4) AI會自動撥號並處理整個對話。你不需要任何編程知識就能使用。適用場景
非常適合日常生活中的各種電話任務:餐廳訂位、外賣訂購、預約服務、客戶諮詢、業務預約等。特別是對於那些不喜歡打電話或者需要多語言支持的用戶來說非常實用。主要功能
如何使用
使用案例
常見問題
相關資源
安裝
{
"mcpServers": {
"callcenter.js": {
"command": "npx",
"args": ["github:gerkensm/callcenter.js-mcp", "--mcp"],
"env": {
"SIP_USERNAME": "your_extension",
"SIP_PASSWORD": "your_password",
"SIP_SERVER_IP": "192.168.1.1",
"OPENAI_API_KEY": "sk-your-key-here",
"USER_NAME": "Your Name"
}
}
}
}
{
"mcpServers": {
"callcenter.js": {
"command": "node",
"args": ["dist/cli.js", "--mcp"],
"cwd": "/path/to/voip-agent"
}
}
}🚀 CallCenter.js MCP + CLI
CallCenter.js MCP + CLI 是一個 MCP 服務器、命令行工具和 API,藉助 VoIP 技術代表你撥打電話。只需告知 Claude 你的需求,它就能自動撥打電話並處理對話。該工具本質上是一個 MCP 服務器,在 OpenAI 的即時語音 API 和你的 VoIP 連接之間架起橋樑,代表你撥打電話。
🚀 快速開始
選項 1:使用 npx 立即運行(無需安裝) ⚡
這是體驗該工具的最快方式:
# 設置環境變量(或創建 .env 文件)
export SIP_USERNAME="your_extension"
export SIP_PASSWORD="your_password"
export SIP_SERVER_IP="192.168.1.1"
export OPENAI_API_KEY="sk-your-key-here"
# 直接從 GitHub 運行(無需安裝!)
npx github:gerkensm/callcenter.js-mcp call "+1234567890" --brief "Call restaurant for reservation" --user-name "Your Name"
或者使用 .env 文件:
# 創建 .env 文件
cat > .env << EOF
SIP_USERNAME=your_extension
SIP_PASSWORD=your_password
SIP_SERVER_IP=192.168.1.1
OPENAI_API_KEY=sk-your-key-here
SIP_PROVIDER=fritz-box
OPENAI_VOICE=alloy
EOF
# 從 GitHub 運行(自動加載 .env 文件)
npx github:gerkensm/callcenter.js-mcp call "+1234567890" --brief "Call restaurant"
注意:首次運行時,若你未安裝 C++ 構建工具,可能會顯示構建警告,但使用 G.711 編解碼器回退仍可正常工作(標準電話音質)。若想獲得更好的音頻質量,建議先安裝構建工具以啟用 G.722 寬帶編解碼器。
選項 2:本地安裝
前提條件
- Node.js 20+
- Python 3.x + 構建工具(用於 G.722 寬帶音頻,可顯著提升通話質量)
- macOS:安裝 Xcode 命令行工具 (
xcode-select --install) - Windows:安裝 Visual Studio 構建工具
- Linux:安裝
build-essential包
- macOS:安裝 Xcode 命令行工具 (
- OpenAI API 密鑰
注意:若未安裝構建工具,系統將自動回退到 G.711(標準電話音質)。G.722 編解碼器的帶寬是 G.711 的兩倍,可實現更清晰、自然的對話。
安裝步驟
# 克隆並安裝
git clone https://github.com/gerkensm/callcenter.js-mcp
cd callcenter.js-mcp
npm install
# 複製示例配置文件
cp config.example.json config.json
配置
編輯 config.json 文件,填入你的設置:
{
"sip": {
"username": "your_sip_username",
"password": "your_sip_password",
"serverIp": "192.168.1.1",
"serverPort": 5060,
"provider": "fritz-box"
},
"ai": {
"openaiApiKey": "sk-your-openai-api-key-here",
"voice": "alloy",
"instructions": "You are a helpful AI assistant making phone calls on behalf of users.",
"userName": "Your Name"
}
}
✨ 主要特性
- 🎙️ 多編解碼器支持:支持 G.722 寬帶(16kHz)和 G.711 回退編解碼器,確保廣泛的兼容性。
- 🤖 AI 驅動的對話:利用 OpenAI 的即時語音 API 進行實際通話,並使用 o3-mini 模型(OpenAI 的推理模型)生成指令。
- 🌐 擴展的 SIP 支持:為常見的 SIP 提供商提供配置(已在 Fritz!Box 上測試,其他提供商為實驗性支持)。
- 🔧 智能配置:自動檢測提供商要求並優化設置。
- 📞 企業級支持:支持高級 SIP 功能(STUN/TURN、會話定時器、傳輸回退)。
- 🔄 強大的連接管理:具備自動重連功能和智能錯誤處理機制。
- ✅ 內置驗證:全面的配置驗證和網絡測試。
- 🎯 提供商配置文件:為流行的 SIP 系統提供預配置設置。
- 🔌 MCP 服務器:可與 Claude Code 和其他 MCP 客戶端集成。
- 📚 TypeScript API:提供用於構建語音應用程序的編程庫。
- 📝 通話摘要處理:使用 o3-mini 模型處理自然語言通話指令。
- 🎵 可選的通話錄音:支持立體聲 WAV 錄音,可分離主叫方和 AI 的聲音。
📦 安裝指南
選項 1:使用 npx 立即運行(無需安裝) ⚡
# 設置環境變量(或創建 .env 文件)
export SIP_USERNAME="your_extension"
export SIP_PASSWORD="your_password"
export SIP_SERVER_IP="192.168.1.1"
export OPENAI_API_KEY="sk-your-key-here"
# 直接從 GitHub 運行(無需安裝!)
npx github:gerkensm/callcenter.js-mcp call "+1234567890" --brief "Call restaurant for reservation" --user-name "Your Name"
或者使用 .env 文件:
# 創建 .env 文件
cat > .env << EOF
SIP_USERNAME=your_extension
SIP_PASSWORD=your_password
SIP_SERVER_IP=192.168.1.1
OPENAI_API_KEY=sk-your-key-here
SIP_PROVIDER=fritz-box
OPENAI_VOICE=alloy
EOF
# 從 GitHub 運行(自動加載 .env 文件)
npx github:gerkensm/callcenter.js-mcp call "+1234567890" --brief "Call restaurant"
選項 2:本地安裝
前提條件
- Node.js 20+
- Python 3.x + 構建工具(用於 G.722 寬帶音頻,可顯著提升通話質量)
- macOS:安裝 Xcode 命令行工具 (
xcode-select --install) - Windows:安裝 Visual Studio 構建工具
- Linux:安裝
build-essential包
- macOS:安裝 Xcode 命令行工具 (
- OpenAI API 密鑰
安裝步驟
# 克隆並安裝
git clone https://github.com/gerkensm/callcenter.js-mcp
cd callcenter.js-mcp
npm install
# 複製示例配置文件
cp config.example.json config.json
💻 使用示例
基礎用法
import { makeCall, createAgent } from 'callcenter.js';
// 簡單通話示例
const result = await makeCall({
number: '+1234567890',
brief: 'Call Bocca di Bacco and book a table for 2 at 19:30 for Torben',
userName: 'Torben',
config: 'config.json'
});
console.log(`Call duration: ${result.duration}s`);
console.log(`Transcript: ${result.transcript}`);
高級用法
// 高級用法:使用代理實例
const agent = await createAgent('config.json');
agent.on('callEnded', () => {
console.log('Call finished!');
});
await agent.makeCall({
targetNumber: '+1234567890',
duration: 300
});
📚 詳細文檔
1. MCP 服務器(Claude Code 集成) ⭐
這是最常用的用法,可與 Claude Code 無縫集成,實現 AI 驅動的通話。非常適合讓你的編碼代理聯繫庫作者,反饋文檔問題!😄
使用 npx 快速設置(推薦)
選項 1:使用 Claude Code CLI(最簡單)
# 運行前請替換為你的實際憑證:
claude mcp add --env SIP_USERNAME=your_actual_extension \
--env SIP,PASSWORD="your_actual_password" \
--env SIP_SERVER_IP=192.168.1.1 \
--env OPENAI_API_KEY="sk-your_actual_openai_key" \
--env USER_NAME="Your Actual Name" \
-- callcenter.js npx -- github:gerkensm/callcenter.js-mcp --mcp
⚠️ 重要提示:請將佔位符值替換為你的實際 SIP 憑證和 OpenAI API 密鑰,否則服務器將無法連接。
選項 2:手動配置 在 Claude Code 的 MCP 設置中進行配置,自動從 GitHub 拉取:
{
"mcpServers": {
"callcenter.js": {
"command": "npx",
"args": ["github:gerkensm/callcenter.js-mcp", "--mcp"],
"env": {
"SIP_USERNAME": "your_extension",
"SIP_PASSWORD": "your_password",
"SIP_SERVER_IP": "192.168.1.1",
"OPENAI_API_KEY": "sk-your-key-here",
"USER_NAME": "Your Name"
}
}
}
}
替代方案:本地安裝
若你需要進行本地開發或更喜歡本地安裝方式:
npm start --mcp
或者使用本地安裝進行配置:
{
"mcpServers": {
"callcenter.js": {
"command": "node",
"args": ["dist/cli.js", "--mcp"],
"cwd": "/path/to/voip-agent"
}
}
}
可用的 MCP 工具:
simple_call- 自動生成指令進行通話advanced_call- 可對參數進行精細控制的通話
在 Claude Code 中的使用示例:
"Can you call Bocca di Bacco restaurant and book a table for 2 people tonight at 7:30pm? My name is John Doe." Claude 將自動使用 MCP 服務器為你撥打電話!
2. 命令行界面
當你需要通過 curl -X POST 擺脫社交義務,或者實現 ai-human-sort 算法時,命令行界面是你的理想選擇!😄
💡 建議使用 --brief 而非 --instructions 以獲得更好的效果!
--brief 選項使用 OpenAI 的 o3-mini 模型,根據你的簡單描述生成複雜的指令,而 --instructions 則直接將你的文本發送到即時語音 API。由於即時語音 API 更注重速度而非複雜性,因此 --brief 通常能產生更好的通話效果。
# ✅ 推薦:使用 brief 實現自然語言目標
npm start call "+1234567890" --brief "Call the restaurant and book a table for 2 at 7pm tonight" --user-name "John Doe"
# ✅ 推薦:brief 適用於任何類型的通話
npm start call "+1234567890" --brief "Call to check appointment availability for John Doe"
# ⚠️ 僅在需要特定自定義行為時使用 instructions
npm start call "+1234567890" --instructions "You must follow this exact script: Say hello, ask for manager, then hang up"
# 其他使用 brief 的示例
npm start call "+1234567890" --record "meeting.wav" --duration 300 --brief "Conference call to discuss project status"
npm start call "+1234567890" --log-level verbose --brief "Test call to verify connectivity"
CLI 選項
npm start call <number> [options]
Options:
-c, --config <path> Configuration file path (default: config.json)
-d, --duration <seconds> Maximum call duration in seconds (default: 600)
-v, --verbose Verbose mode - show all debug information
-q, --quiet Quiet mode - show only transcripts, errors, and warnings
--log-level <level> Set log level (quiet|error|warn|info|debug|verbose) (default: info)
--no-colors Disable colored output
--no-timestamp Disable timestamps in logs
--record [filename] Enable stereo call recording (optional filename)
--brief <text> Call brief to generate instructions from (RECOMMENDED)
--instructions <text> Direct AI instructions (use only for specific custom behavior)
--user-name <name> Your name for the AI to use when calling
--help Display help information
3. 編程 API
import { makeCall, createAgent } from 'callcenter.js';
// 簡單通話示例
const result = await makeCall({
number: '+1234567890',
brief: 'Call Bocca di Bacco and book a table for 2 at 19:30 for Torben',
userName: 'Torben',
config: 'config.json'
});
console.log(`Call duration: ${result.duration}s`);
console.log(`Transcript: ${result.transcript}`);
// 高級用法:使用代理實例
const agent = await createAgent('config.json');
agent.on('callEnded', () => {
console.log('Call finished!');
});
await agent.makeCall({
targetNumber: '+1234567890',
duration: 300
});
🔧 技術細節
編解碼器優先級和協商
- G.722(首選) - 16kHz 寬帶,提供卓越的語音質量。
- G.711 μ-law(回退) - 8kHz 窄帶,具備普遍的兼容性。
- G.711 A-law(回退) - 8kHz 窄帶,是歐洲標準。
G.722 實現
- 原生 C++ 插件:確保最佳性能。
- 基於參考實現:源自 CMU 和 Sippy Software。
- 自動回退:若編譯失敗,自動回退到 G.711。
- 即時編碼/解碼:低延遲。
可選的通話錄音
- 立體聲 WAV 格式:主叫方聲音在左聲道,AI 聲音在右聲道。
- 可選的文件名指定。
- 同步音頻流:確保完美對齊。
- 高質量 PCM 錄音:以原生採樣率進行錄製。
測試音頻質量
# 測試編解碼器可用性
npm run test:codecs
# 若需要,不使用 G.722 進行構建
npm run build:no-g722
AI 通話摘要處理
重要性:即時語音 API 需要更完善的指令
OpenAI 的即時語音 API 優化了速度,但在處理複雜的目標導向任務時,若沒有非常具體的指令,可能會遇到困難。以下是具體問題:
- ❌ 效果不佳的情況:
# 模糊的摘要 - 即時語音 API 會感到困惑且缺乏重點
npm start call "+1234567890" --brief "Call the restaurant and book a table"
- ❌ 繁瑣且易出錯的情況:
# 每次手動編寫詳細指令
npm start call "+1234567890" --instructions "You are calling on behalf of John Doe to make a restaurant reservation for 2 people at Bocca di Bacco for tonight at 7pm. You should start by greeting them professionally, then clearly state your purpose. Ask about availability for 7pm, and if not available, ask for alternative times between 6-8pm. Confirm the booking details including date, time, party size, and get a confirmation number if possible. If you reach voicemail, leave a professional message with callback information..."
- ✅ 效果出色的情況:
# 簡單的摘要 - o3 模型生成複雜的指令
npm start call "+1234567890" --brief "Call Bocca di Bacco and book a table for 2 at 7pm tonight" --user-name "John Doe"
工作原理
系統使用 OpenAI 的 o3-mini 推理模型(最新的小型推理模型,智能且快速),根據你的簡單摘要自動生成詳細、複雜的指令。o3-mini 模型的工作流程如下:
- 分析摘要:理解目標。
- 創建對話狀態:構建流程邏輯。
- 生成特定指令:針對通話的每個階段。
- 處理邊緣情況:如語音信箱、異議和替代方案。
- 調整語言和語氣:根據上下文進行調整。
- 提供回退策略:應對意外情況。
前後對比示例
你的簡單輸入:
"Call Bocca di Bacco and book a table for 2 at 7pm tonight"
o3-mini 生成的內容(節選):
## 個性與語氣
身份:我是代表 John Doe 進行餐廳預訂的助理。
任務:我負責為今晚 7 點在 Bocca di Bacco 預訂 2 人的餐桌。
語氣:專業、熱情且尊重。
## 指令
1. 立即開啟對話:“您好,我是代表 John Doe 打電話的助理。”
2. 重複關鍵信息:確認時間和細節。
3. 處理異議:禮貌回應並提供 6 - 8 點之間的替代時間。
...
## 對話狀態
[
{
"id": "1_greeting",
"description": "問候並介紹通話目的",
"instructions": ["自我介紹為助理", "立即提及預訂請求"],
"examples": ["您好,我是代表 John Doe 打電話的助理。我想為今晚 7 點預訂 2 人的餐桌。"]
}
]
自動調整
o3-mini 摘要處理器會自動:
- 檢測語言:根據你的摘要,以相應語言生成指令。
- 創建對話流程:包含邏輯狀態和轉換。
- 處理文化背景:適應不同國家的餐廳文化(如德國、美國、日本)。
- 生成合適的示例:使用真實的短語(無佔位符)。
- 提供語音信箱腳本:當無人接聽時使用。
- 規劃應對異議的策略:提供替代解決方案。
使用建議
- 95% 的通話使用
--brief:更便捷且效果更佳。 - 僅在需要特定自定義行為時使用
--instructions。 - 摘要處理:適用於預訂、預約、商務通話、客戶服務等場景。
- 直接指令:適用於高度專業化的場景、測試或已完善提示信息的情況。
高級功能
智能連接管理
- 自動重連:採用指數退避算法,並針對不同提供商進行錯誤處理。
- 傳輸回退:根據情況自動從 UDP 切換到 TCP 再到 TLS。
- 提供商感知的錯誤恢復:針對 Fritz Box、Asterisk 和 Cisco 等不同提供商採用不同的恢復策略。
- 網絡變化處理:適應網絡連接的變化。
增強的 SIP 協議支持
- STUN/TURN 集成:為雲部署和企業部署提供 NAT 穿透功能。
- 會話定時器(RFC 4028):確保長時間通話的連接穩定性。
- PRACK 支持(RFC 3262):為企業系統提供可靠的臨時響應。
- 多傳輸方式:支持 UDP、TCP、TLS,並具備智能回退機制。
配置智能
- 提供商自動檢測:根據 SIP 域名/IP 識別提供商。
- 需求驗證:確保滿足所有提供商特定的需求。
- 網絡測試:對 SIP 服務器和 STUN 服務器進行實際的連接測試。
- 優化建議:提供可操作的建議,以提升性能。
📄 許可證
本項目採用 MIT 許可證,詳情請參閱 LICENSE 文件。
第三方組件
- G.722 編解碼器:採用公共領域和 BSD 許可的實現。
- SIP 協議:基於 sipjs-udp(MIT 許可)。
- 依賴項:採用各種開源許可證(詳見 package.json)。
📋 配置驗證
在撥打電話之前,請驗證你的配置:
# 基本驗證
npm run validate config.json
# 詳細驗證,包含網絡連接測試
npm run validate:detailed
# 獲取針對問題的具體修復建議
npm run validate:fix
# 測試不同提供商的示例配置
npm run validate:fritz-box # AVM Fritz!Box
npm run validate:asterisk # Asterisk PBX
npm run validate:cisco # Cisco CUCM
npm run validate:3cx # 3CX Phone System
npm run validate:generic # 通用 SIP 提供商
驗證器將檢查以下內容:
- ✅ 配置語法和必填字段
- ✅ 特定提供商的要求
- ✅ 與 SIP 服務器的網絡連接
- ✅ STUN 服務器的可達性
- ✅ 編解碼器可用性(G.722/G.711)
- ✅ 提供商兼容性得分
🌐 SIP 提供商兼容性
✅ 實際測試過的提供商
- AVM Fritz!Box - 德國路由器品牌,內置 VoIP/SIP 電話系統 ✅ 可用(唯一實際測試過的提供商)
🤷 基於推測的配置(有根據的猜測)
- Asterisk PBX - 開源 PBX(FreePBX、Elastix 等) 🤷 未測試
- Cisco CUCM - 企業統一通信系統 🤷 未測試
- 3CX Phone System - 流行的商業 PBX 🤷 未測試
- 通用 SIP 提供商 - 符合標準的 SIP 中繼 🤷 未測試
🔧 特定提供商的功能
提供商配置文件基於研究和文檔,而非實際測試:
| 提供商 | 傳輸方式 | NAT 穿透 | 會話定時器 | PRACK | 保活機制 |
|---|---|---|---|---|---|
| Fritz Box | UDP | 無需 | 可選 | 禁用 | 重新註冊 |
| Asterisk | UDP/TCP | STUN | 支持 | 可選 | OPTIONS ping |
| Cisco CUCM | 首選 TCP | 需要 STUN | 必需 | 必需 | OPTIONS ping |
| 3CX | TCP/UDP | STUN | 支持 | 可選 | 重新註冊 |
📝 配置示例
項目包含所有主要提供商的即用型配置:
config.example.json- AVM Fritz!Box(家庭/中小企業默認配置)config.asterisk.example.json- Asterisk PBX 高級功能配置config.cisco.example.json- Cisco CUCM 企業級設置config.3cx.example.json- 3CX 電話系統 配置config.generic.example.json- 通用 SIP 提供商 模板
🛠️ 開發與測試
構建命令
# 完整構建(TypeScript + 原生插件)
npm run build
# 分別構建組件
npm run build:native # 僅構建原生 G.722 插件
npm run build:ts # 僅進行 TypeScript 編譯
# 開發模式,支持熱重載
npm run dev
# 清理所有構建產物
npm run clean
配置測試
# 驗證任何配置文件
npm run validate path/to/config.json
# 使用不同提供商進行測試
npm run validate -- --provider asterisk config.json
# 獲取詳細的網絡診斷信息
npm run validate -- --detailed --network config.json
# 顯示問題的修復建議
npm run validate -- --fix-suggestions config.json
項目結構
src/
├── voice-agent.ts # 主協調模塊,與連接管理器交互
├── connection-manager.ts # 智能連接處理和重連機制
├── sip-client.ts # 增強的 SIP 協議,支持不同提供商
├── audio-bridge.ts # RTP 流和編解碼器管理
├── openai-client.ts # OpenAI 即時語音 API 集成
├── call-brief-processor.ts # o3-mini 模型通話摘要處理
├── mcp-server.ts # MCP(模型上下文協議)服務器
├── validation.ts # 配置驗證引擎
├── config.ts # 增強的配置加載,支持提供商配置文件
├── logger.ts # 全面的日誌記錄,捕獲通話記錄
├── index.ts # 主編程 API 導出
├── providers/
│ └── profiles.ts # 特定提供商的配置數據庫
├── testing/
│ └── network-tester.ts # 實際的網絡連接測試
├── codecs/ # 編解碼器抽象層
│ ├── g722.ts # G.722 寬帶實現
│ └── g711.ts # G.711 回退編解碼器
└── cli.ts # 命令行界面
scripts/
└── validate-config.js # 全面的驗證 CLI 工具
config.*.example.json # 特定提供商的示例配置
📊 驗證與診斷
內置的驗證系統提供全面的分析:
配置報告示例
🔍 CallCenter.js 配置驗證器
📋 提供商: AVM Fritz!Box(自動檢測)
🎯 提供商兼容性得分: 100%
✅ 配置有效,可立即使用!
🌐 網絡連接:
✅ SIP 服務器: 可達(延遲 12ms)
✅ G.722 編解碼器: 可用,可提供高質量音頻
💡 優化建議:
💡 G.722 寬帶編解碼器可用(已啟用)
💡 延遲極低 - 本地網絡性能最優
🚀 下一步: npm start call "<number>"
網絡診斷
- 實際的 SIP 服務器測試:進行實際的 UDP/TCP 連接測試。
- STUN 服務器驗證:測試 NAT 穿透能力。
- 延遲測量:評估網絡性能。
- 特定提供商的建議:根據檢測到的問題提供針對性建議。
🔧 故障排除
配置問題
- 首先運行驗證:
npm run validate:detailed
- 檢查提供商兼容性:
npm run validate -- --provider fritz-box config.json
- 獲取特定的修復建議:
npm run validate:fix
網絡連接問題
- Fritz Box:通常在本地網絡上使用 UDP 即可正常工作。
- 雲/企業環境:可能需要 STUN 服務器進行 NAT 穿透。
- 防火牆問題:確保 SIP 端口(5060)和 RTP 端口開放。
音頻質量問題
- 驗證 G.722 是否可用:
npm run test:codecs
- 檢查日誌中的編解碼器協商情況:
✅ 所選編解碼器: PT 9 (G722/8000)
- 網絡問題:高延遲/數據包丟失會影響音頻質量。
構建問題
- 原生編譯失敗:
# 先安裝構建工具,然後:
npm run build:no-g722 # 僅回退到 G.711
- 特定提供商的問題:查看針對你所使用提供商的驗證建議。
MCP 集成問題
- 服務器無法啟動:
# 檢查端口衝突或配置問題
npm start --mcp
- Claude Code 無法連接:
- 驗證 Claude Code 設置中的 MCP 服務器配置。
- 確保工作目錄路徑正確。
- 確保服務器正在運行且可訪問。
⚠️ 重要免責聲明
本項目是一個基於創意的項目!🚀 這意味著:
- ✅ 在 Fritz!Box 上可用 - 這是實際測試過的環境。
- 🤷 其他提供商 - 盡力使其更具通用性,但無法保證。
- 🤷 高級功能 - 基於研究提出的想法,但實際效果未知。
- ⚠️ 效果因人而異 - 你的設置可能與我的不同。
- ⚠️ 無保修 - 請自行承擔使用風險。
對你的影響
- Fritz Box 用戶:應該可以正常使用!✅
- 其他提供商用戶:配置文件是基於研究的有根據的猜測,可能有效,也可能無效。
- 企業用戶:嘗試添加了重要的功能,但無法保證其正確性。
- 問題與拉取請求:歡迎提交拉取請求,但無法保證能修復無法復現或測試的問題。
貢獻建議
- ✅ 在你的環境中測試:並分享使用情況。
- ✅ 分享可用的配置:如果你成功讓其他提供商正常工作。
- ✅ 修復問題:並提交拉取請求。
- ✅ 反饋假設錯誤:如果你發現對提供商的假設存在錯誤。
驗證工具可能有助於調試問題,但實際能否撥打電話才是真正的測試。
🤝 貢獻指南
- 分叉倉庫。
- 創建功能分支。
- 為新提供商添加/更新驗證。
- 使用
npm run validate:detailed進行測試。 - 提交拉取請求。
📞 支持
- 配置問題:使用
npm run validate:detailed進行診斷。 - 提供商支持:查看上述兼容性矩陣。
- 構建問題:參考故障排除部分。
- 功能請求:可以在 GitHub 上創建問題,但近期可能不會得到關注。更歡迎提交拉取請求!
準備好開始了嗎? 複製一個示例配置,運行 npm run validate:detailed,然後開始進行 AI 驅動的語音通話!🚀
替代品
















