keyue-call
通过百度 AIOB 的获取 Token 与实时任务接口创建外呼任务。适用于:立即拨打电话、定时提醒电话(例如 5 分钟后拨打)、以及需要把用户意图整理为 dialogVar.name、dialogVar.owner_name 和 dialogVar.user_intent 后再发起外呼的场景;也适合通过脚本自动化...
zhangchengzc
@zhangchengzc
What This Skill Does
Creates outbound call tasks via Baidu AIOB's token and real-time task APIs. Supports immediate calls, scheduled reminder calls (e.g., 5 minutes later), and calls with structured dialog variables (name, owner_name, user_intent) extracted from natural language.
Replaces manual dialing and separate scheduling tools by automating call creation with configurable timing and context-aware conversation variables.
When to Use It
- Call a contact immediately with a specific message
- Schedule a reminder call to yourself or someone else after a delay
- Notify a person about an event or task via phone
- Automate outbound calls from a script or cron job
- Place a call with a deadline for the call to be completed
- Call a user and include context like who is calling and why
Install
$ openclaw skills install @zhangchengzc/keyue-callAIOB 外呼技能
用于稳定地创建“立即外呼”与“延时外呼”任务。
工作流
- 在
config.json中配置默认参数(可参考config.json.example),包括:accessKey、secretKey、robotId、mobile、callerNum。 - 按
references/aiob-auth.md获取accessToken。 - 按
references/aiob-realtime-task.md组织实时外呼请求体。 - 先按
references/extraction-rules.md从用户自然语言中提取mobile、name、owner_name、user_intent、schedule。 - 使用
scripts/create_realtime_call.py发起请求(命令行参数可覆盖配置文件中的默认值)。 - 对“5 分钟后提醒我打电话”这类需求,使用 OpenClaw
cron做精确定时触发。
典型场景
1)立即外呼
采用配置优先模式。
示例(拨打配置文件中的默认手机号):
python3 scripts/create_realtime_call.py --config config.json
示例(仅覆盖被叫手机号):
python3 scripts/create_realtime_call.py --config config.json --mobile "13333333333"
2)通知某人某件事
当用户表达“打电话给张三,告诉他下午三点开会”这类需求时:
name = "张三"owner_name = "李四"(表示是谁发起这通电话;若上下文明确且用户希望话术体现发起人身份,则优先补齐)user_intent = "下午三点开会"
示例:
python3 scripts/create_realtime_call.py \
--config config.json \
--mobile "13333333333" \
--name "张三" \
--user-intent "下午三点开会"
3)提醒或催办
适用于:
- 打电话给张三,提醒他今天下班前提交周报
- 打电话给李四,告诉他快递到了
- 打电话给我,提醒我两分钟后出门
变量提取建议:
name:被称呼的人名;若用户没有明确姓名,可留空或使用默认值owner_name:外呼任务发起人的姓名或身份称呼,用于在话术里体现“这是谁让打来的电话”;若上下文明确且用户有这个需求,优先传递user_intent:真正要传达的内容,保留原意,尽量简洁
4)延时提醒外呼(例如 5 分钟后)
使用 OpenClaw cron 进行一次性调度。
实现模式:
- 创建 one-shot cron 任务(
schedule.kind = "at"),触发时间为当前时间 + 5 分钟。 - 任务使用 isolated
agentTurn执行本技能流程。 - cron 文案中写明“这是提醒电话”,并带上必要上下文。
5)带截止时间的排队外呼
设置 --stop-date "yyyy-MM-dd HH:mm:ss",超过截止时间后 AIOB 不再继续拨打。
自然语言入口
当用户直接说自然语言时,优先按 references/extraction-rules.md 解析,不要让用户自己组织 JSON。
推荐支持这类表达:
- “打电话给张三,告诉他下午三点开会”
- “打个电话给 14444444444,提醒他尽快回我微信”
- “2 分钟后打电话给我,提醒我出门拿快递”
执行策略:
- 判断是立即外呼还是延时/定时外呼。
- 抽取手机号;只有“打电话给我 / 给我自己打电话 / 提醒我自己”这类明确打给自己的场景,才允许回退到
config.json默认手机号。 - 若目标不是用户自己,则必须要求用户明确提供手机号;不要因为给了姓名就擅自使用默认号码。
- 抽取
name。 - 若用户希望在电话里体现“是谁发起的提醒/通知”,或上下文已明确发起人身份,则抽取
owner_name。 - 抽取
user_intent。 - 立即外呼时优先调用:
python3 scripts/create_realtime_call.py --config config.json [--mobile ...] [--name ...] [--owner-name ...] [--user-intent ...] - 延时/定时时用 OpenClaw
cron调度,并在触发时执行同一脚本。
参数约定
默认把外呼平台常用变量统一收敛到 dialogVar:
dialogVar.name:称呼对象,例如“张三”dialogVar.owner_name:外呼任务发起人的姓名或身份称呼,例如“李四”“妈妈”“公司行政”dialogVar.user_intent:要传达的信息,例如“下午三点开会”
优先使用快捷参数:
--name→ 写入dialogVar.name--owner-name→ 写入dialogVar.owner_name--user-intent→ 写入dialogVar.user_intent
如果确实需要额外变量,再使用 --dialog-var 传完整 JSON;当快捷参数和 --dialog-var 同时存在时,快捷参数优先覆盖同名字段。
当 dialogVar 中的字段值为空字符串时,脚本会自动清理;如果最终 name、owner_name 和 user_intent 都为空,则整个 dialogVar 不再上送。
成功后的用户提示
如果本次外呼成功,但用户没有表达 name 和 user_intent,回复里可顺手提示一次更完整的用法,帮助用户学会这个能力。
推荐提示风格:
- 简短
- 不说教
- 只在缺少这两个字段时提示
示例:
- “已经给你发起电话了。下次如果你想让电话里带具体内容,可以直接说:打电话给张三,告诉他 5 点开会。”
- “电话已经发起成功。你也可以直接补充姓名和想传达的话,比如:打电话给李四,告诉他尽快回电。”
如果本次已经明确提供了 name 或 user_intent,就不要重复教育用户。
约束与防护
- 不要在用户可见回复中暴露 AK/SK 或 accessToken。
- 若接口业务码非成功,返回简洁错误原因与可执行修复建议。
dialogVar必须是合法 JSON 对象。- 优先提取并传递
name、owner_name与user_intent,避免把整句原话无差别塞给平台。 - 只有“打给自己”的场景才能使用
config.json中的默认手机号;其他目标一律要求用户明确提供号码。 - 单次实时外呼请求仅传一个被叫号码(
mobile)。
资源说明
config.json.example:默认配置模板(AK/SK/robotId/mobile/callerNum 等)。references/aiob-auth.md:Token 获取接口与认证约束。references/aiob-realtime-task.md:实时任务字段、请求和响应要点。references/extraction-rules.md:把用户自然语言拆成mobile、name、owner_name、user_intent、schedule的规则。scripts/create_realtime_call.py:配置优先、支持参数覆盖的外呼脚本。
Top skills in this category
Agent Browser
@matrixyHeadless browser automation CLI optimized for AI agents with accessibility tree snapshots and ref-based element selection
Auto-Updater Skill
@maximepradesAutomatically update Clawdbot and all installed skills once daily. Runs via cron, checks for updates, applies them, and messages the user with a summary of what changed.
Free Ride - Unlimited free AI
@shaivpidadiManages free AI models from OpenRouter for OpenClaw. Automatically ranks models by quality, configures fallbacks for rate-limit handling, and updates opencla...
Automation Workflows
@jk-0001Design and implement automation workflows to save time and scale operations as a solopreneur. Use when identifying repetitive tasks to automate, building workflows across tools, setting up triggers and actions, or optimizing existing automations. Covers automation opportunity identification, workflow design, tool selection (Zapier, Make, n8n), testing, and maintenance. Trigger on "automate", "automation", "workflow automation", "save time", "reduce manual work", "automate my business", "no-code automation".
Desktop Control
@matagulAdvanced desktop automation with mouse, keyboard, and screen control