关于 phone-call
这是一款通过 fluents.ai 自动执行电话工作流的技能,供处理通话的 Agent 使用,整合 Agent 配置、通话监控、转录分析和结果报告。
主要功能
- 01创建面向特定任务的电话 Agent
- 02发起并监控通话
- 03分析转录并提取信息
- 04报告结果和建议的后续步骤
- 05复盘失败并寻找改进方向
适用场景
- 01致电预约餐厅
- 02向联系人确认会议
- 03收集客户对产品的反馈
- 04执行批量电话呼叫
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ teamily-ai/ phone-call-skill --skill phone-call安装后在 Claude Code 中输入/phone-call确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
.env.exampleBEST_PRACTICES.mdLICENSEREADME_FOR_AGENTS.md.gitignoreREADME.mdrequirements.txtexamples/outbound_reservation.shcomparison_bad_vs_good.mdreferences/examples.mdfluents_api.mdscripts/analyze_call.pyget_call_result.pydiagnose.pyget_recording.pymake_call.pymake_call_simple.pyphone_call.shcreate_agent.pytest_connection.py详细介绍
电话呼叫技能
一项智能 AI 技能,可管理完整的电话呼叫工作流:创建 Agent、执行呼叫、分析对话并提供可操作的洞见。
🚀 快速使用
供调用此技能的 AI Agent 使用:
# Single command to make a complete phone call:
scripts/phone_call.sh \
--to "+16576102352" \
--purpose "Make dinner reservation for 2 people tonight at 8 PM. Name: John Smith"
功能:
- ✅ 创建经过优化的 AI Agent
- ✅ 拨打电话
- ✅ 等待呼叫完成
- ✅ 分析对话
- ✅ 提供成功/失败报告和建议
输出: 清晰的成功/失败报告,并附上提取的信息。
核心功能
此技能提供完整的电话呼叫管理:
- ✅ Agent 创建 - 创建特定用途的 AI 电话 Agent
- ✅ 呼叫执行 - 发起并监控电话呼叫
- ✅ 对话分析 - 分析通话记录并提取关键信息
- ✅ 智能报告 - 向用户提供清晰、可操作的摘要
- ✅ 持续优化 - 从失败中学习并提升 Agent 的表现
何时使用此技能
用户希望执行以下操作时,请使用此技能:
- 给某人打电话(餐厅、客户、供应商等)
- 为特定任务创建自动化电话 Agent
- 批量拨打电话
- 让 AI Agent 通过电话沟通
- 分析通话记录并提取洞见
- 获取电话对话的智能摘要
快速入门 - 供 AI Agent 使用
简单用法:
# Navigate to skill directory
cd ~/.openclaw/workspace/skills/phone-call
# Make a call (automatic agent creation)
./scripts/phone_call.sh \
--to "+1234567890" \
--purpose "Make a dinner reservation for 2 people tonight at 8 PM"
# Analyze results
./scripts/phone_call.sh --analyze "call-id-xxx"
脚本会处理所有事项:
- 根据目的创建经过优化的 Agent
- 拨打电话
- 等待呼叫完成
- 分析并报告结果
高级用法请参阅下方的“完整工作流”。
完整工作流
1. 了解用户意图并收集信息
用户请求拨打电话时,提取并确认以下信息:
必需信息:
- 电话号码:目标联系人(含国家代码)
- 呼叫目标:具体目的(例如“晚上 8 点预订 2 人餐桌”“确认会议”)
- 关键信息:完成任务所需的全部信息
- 语言:语言偏好
- 紧急程度:时间敏感性
用户请求示例:
- “拨打 +1-657-610-2352,预订今晚晚上 8 点的 2 人餐桌”
- “在这家餐厅预订晚餐”
- “致电客户,确认明天下午 3 点的会议”
你必须执行的操作:
- 从用户处提取所有必需信息
- 继续操作前询问缺失的信息
- 确认完整的任务目标
2. 创建智能电话 Agent
创建针对特定任务进行优化且具备适当安全措施的 Agent。
📚 重要:请阅读 BEST_PRACTICES.md,了解创建高效 Agent 的详细指南!
最常见的失败原因是身份混淆,尤其是在外呼时。Agent 必须理解:
- 谁给谁打电话(外呼时,是你给对方打电话)
- 哪些话不能说(例如,外呼时绝不能说“我能为您做些什么?”)
- 具体的对话流程(而不是含糊的目标)
Agent 配置要求:
- 明确的目标:清楚说明要完成的事项
- 任务完成标准:Agent 必须知道何时任务已完成
- 失败处理:无法完成任务时该如何处理
- 超时设置:适当的 idle_time 和 call_duration
- 对话安全措施:“任务确认完成前不要挂断”
关键设置:
{
"prompt": "Clear, step-by-step instructions + completion criteria",
"idle_time_seconds": 15,
"endpointing_sensitivity": "relaxed",
"ask_if_human_present_on_idle": true,
"noise_suppression": true,
"conversation_speed": 1.0
}
3. 执行呼叫并监控
发起呼叫并跟踪其进度。
你必须执行的操作:
- 使用 fluents.ai API 拨打电话
- 等待呼叫完成(不要在通话中途打断)
- 监控是否提前断开
- 记录通话时长和状态
需要留意的警示信号:
- ⚠️ 通话在不到 30 秒内结束(可能失败)
- ⚠️ 未检测到对话
- ⚠️ 状态:
human_disconnected且断开过快
4. 分析通话结果
重要:必须分析每次通话,以确定成功或失败。
使用分析脚本:
python scripts/analyze_call.py --call-id "call_xxx"
必需的分析:
-
任务完成情况检查:
- ✅ 是否达成目标?(例如,是否确认了预订?)
- ❌ 如果没有,失败原因是什么?
-
对话质量:
- AI 是否说出了所有必要内容?
- 对方是否作出了回应?
- 信息是否得到妥善交流?
-
失败模式检测:
- 通话时间过短(< 30 秒)=可能提前挂断
- 对话只有一方发言=识别或回应问题
- 没有确认信息=任务未完成
-
提取关键信息:
- 确认号码
- 对方提供的其他时间或日期
- 拒绝或失败的原因
- 任何待办事项
5. 向用户提供智能报告
重要:始终向用户提供清晰且可执行的摘要。
报告必须包含:
✅ 成功报告格式:
✅ Task Completed Successfully!
Reservation Details:
- Restaurant: [Name]
- Date: Tonight
- Time: 8:00 PM
- Party size: 2 people
- Name: John Smith
- Confirmation: [if provided]
Call Duration: 1m 45s
❌ 失败报告格式:
❌ Task Failed - [Reason]
What Happened:
- Call duration: 15 seconds
- Issue: Restaurant hung up immediately
- Transcript: [show what was said]
Root Cause Analysis:
- [Specific problem identified]
Recommended Actions:
1. [Specific next step]
2. [Alternative approach]
3. [When to retry]
📊 始终包含:
- 明确标示成功或失败
- 已完成(或未完成)的事项
- 提取的关键信息
- 后续步骤或待办事项
- 是否建议重试
6. 优化与学习
每次通话后,找出可改进之处:
如果通话失败:
- 分析失败原因
- 提出 Agent 改进建议
- 建议重试时间
- 考虑其他方法
如果通话成功:
- 记录哪些做法效果良好
- Agent 是否可以更高效?
- 哪些模式促成了成功?
常见优化措施:
- 调整 idle_time,以提高耐心
- 改进提示词的清晰度
- 添加噪声抑制
- 调整对话速度
- 更换语音或语气
- 添加带延迟的重试逻辑
环境设置
1. 安装依赖项
pip install -r requirements.txt
2. 配置 API 密钥
创建 .env 文件:
FLUENTS_API_KEY=your_api_key_here
FLUENTS_API_URL=https://api.fluents.ai
WEBHOOK_URL=https://your-webhook.com/callback
3. 测试连接
python scripts/test_connection.py
API 文档
有关 fluents.ai API 的详细文档,请参阅:
references/fluents_api.md- 完整 API 文档references/examples.md- 用法示例
安全注意事项
- 隐私保护:确保你已获得拨打目标号码的许可
- 合规性:遵守当地的电话营销和反骚扰法规
- 密钥安全:切勿将 API 密钥提交到版本控制系统
- 日志管理:妥善管理通话记录,并注意数据安全
使用示例
示例 1:简单通话
用户:“打电话给 13800138000,确认明天下午 3 点的会议”
Claude 将:
- 识别电话呼叫意图
- 提取信息(号码:13800138000,目的:确认会议)
- 创建 Agent 并设置对话脚本
- 拨打电话
- 等待通话结束
- 返回结果:“已致电 13800138000,对方确认参加明天下午 3 点的会议”
示例 2:复杂对话
用户:“给客户打电话,了解他们对产品的反馈”
Claude 将:
- 询问客户的电话号码
- 创建具有开放式对话能力的 Agent
- 设置对话指南(询问产品使用体验并收集反馈)
- 拨打电话并进行对话
- 由 AI 分析对话内容
- 提供结构化反馈报告
故障排除
问题:无法连接到 fluents.ai API
- 检查 API 密钥是否正确
- 确认网络连接正常
- 检查 API 服务状态
问题:对方未接听
- 确认电话号码格式正确(包括国家代码)
- 检查接收方是否在服务区域内
- 查看通话日志以了解详情
问题:语音识别不准确
- 检查语言设置是否正确
- 调整语音清晰度参数
- 考虑环境噪声因素
技术支持
- fluents.ai 网站:https://fluents.ai
- API 文档:参见
references/目录 - 报告问题:提交 GitHub Issue
许可证
MIT License - 详情请参见 LICENSE 文件