mcpField
P
phone-call

phone-call

github.com/teamily-ai生产力0274 次安装37 周前更新
代码仓库

关于 phone-call

这是一款通过 fluents.ai 自动执行电话工作流的技能,供处理通话的 Agent 使用,整合 Agent 配置、通话监控、转录分析和结果报告。

主要功能

  1. 01创建面向特定任务的电话 Agent
  2. 02发起并监控通话
  3. 03分析转录并提取信息
  4. 04报告结果和建议的后续步骤
  5. 05复盘失败并寻找改进方向

适用场景

  1. 01致电预约餐厅
  2. 02向联系人确认会议
  3. 03收集客户对产品的反馈
  4. 04执行批量电话呼叫

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/teamily-ai/phone-call-skill --skill phone-call

安装后在 Claude Code 中输入/phone-call确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

.env.example
BEST_PRACTICES.md
LICENSE
README_FOR_AGENTS.md
.gitignore
README.md
requirements.txt
examples/
outbound_reservation.sh
comparison_bad_vs_good.md
references/
examples.md
fluents_api.md
scripts/
analyze_call.py
get_call_result.py
diagnose.py
get_recording.py
make_call.py
make_call_simple.py
phone_call.sh
create_agent.py
test_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
  • ✅ 拨打电话
  • ✅ 等待呼叫完成
  • ✅ 分析对话
  • ✅ 提供成功/失败报告和建议

输出: 清晰的成功/失败报告,并附上提取的信息。


核心功能

此技能提供完整的电话呼叫管理:

  1. ✅ Agent 创建 - 创建特定用途的 AI 电话 Agent
  2. ✅ 呼叫执行 - 发起并监控电话呼叫
  3. ✅ 对话分析 - 分析通话记录并提取关键信息
  4. ✅ 智能报告 - 向用户提供清晰、可操作的摘要
  5. ✅ 持续优化 - 从失败中学习并提升 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"

脚本会处理所有事项:

  1. 根据目的创建经过优化的 Agent
  2. 拨打电话
  3. 等待呼叫完成
  4. 分析并报告结果

高级用法请参阅下方的“完整工作流”。

完整工作流

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. 执行呼叫并监控

发起呼叫并跟踪其进度。

你必须执行的操作:

  1. 使用 fluents.ai API 拨打电话
  2. 等待呼叫完成(不要在通话中途打断)
  3. 监控是否提前断开
  4. 记录通话时长和状态

需要留意的警示信号:

  • ⚠️ 通话在不到 30 秒内结束(可能失败)
  • ⚠️ 未检测到对话
  • ⚠️ 状态:human_disconnected 且断开过快
4. 分析通话结果

重要:必须分析每次通话,以确定成功或失败。

使用分析脚本:

python scripts/analyze_call.py --call-id "call_xxx"

必需的分析:

  1. 任务完成情况检查:

    • ✅ 是否达成目标?(例如,是否确认了预订?)
    • ❌ 如果没有,失败原因是什么?
  2. 对话质量:

    • AI 是否说出了所有必要内容?
    • 对方是否作出了回应?
    • 信息是否得到妥善交流?
  3. 失败模式检测:

    • 通话时间过短(< 30 秒)=可能提前挂断
    • 对话只有一方发言=识别或回应问题
    • 没有确认信息=任务未完成
  4. 提取关键信息:

    • 确认号码
    • 对方提供的其他时间或日期
    • 拒绝或失败的原因
    • 任何待办事项
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 - 用法示例

安全注意事项

  1. 隐私保护:确保你已获得拨打目标号码的许可
  2. 合规性:遵守当地的电话营销和反骚扰法规
  3. 密钥安全:切勿将 API 密钥提交到版本控制系统
  4. 日志管理:妥善管理通话记录,并注意数据安全

使用示例

示例 1:简单通话

用户:“打电话给 13800138000,确认明天下午 3 点的会议”

Claude 将:

  1. 识别电话呼叫意图
  2. 提取信息(号码:13800138000,目的:确认会议)
  3. 创建 Agent 并设置对话脚本
  4. 拨打电话
  5. 等待通话结束
  6. 返回结果:“已致电 13800138000,对方确认参加明天下午 3 点的会议”
示例 2:复杂对话

用户:“给客户打电话,了解他们对产品的反馈”

Claude 将:

  1. 询问客户的电话号码
  2. 创建具有开放式对话能力的 Agent
  3. 设置对话指南(询问产品使用体验并收集反馈)
  4. 拨打电话并进行对话
  5. 由 AI 分析对话内容
  6. 提供结构化反馈报告

故障排除

问题:无法连接到 fluents.ai API
  • 检查 API 密钥是否正确
  • 确认网络连接正常
  • 检查 API 服务状态
问题:对方未接听
  • 确认电话号码格式正确(包括国家代码)
  • 检查接收方是否在服务区域内
  • 查看通话日志以了解详情
问题:语音识别不准确
  • 检查语言设置是否正确
  • 调整语音清晰度参数
  • 考虑环境噪声因素

技术支持

  • fluents.ai 网站:https://fluents.ai
  • API 文档:参见 references/ 目录
  • 报告问题:提交 GitHub Issue

许可证

MIT License - 详情请参见 LICENSE 文件

评论

支持 Markdown