Install
openclaw skills install keyue-call通过百度 AIOB 的获取 Token 与实时任务接口创建外呼任务。适用于:立即拨打电话、定时提醒电话(例如 5 分钟后拨打)、以及需要把用户意图整理为 dialogVar.name、dialogVar.owner_name 和 dialogVar.user_intent 后再发起外呼的场景;也适合通过脚本自动化...
openclaw skills install keyue-call用于稳定地创建“立即外呼”与“延时外呼”任务。
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 发起请求(命令行参数可覆盖配置文件中的默认值)。cron 做精确定时触发。采用配置优先模式。
示例(拨打配置文件中的默认手机号):
python3 scripts/create_realtime_call.py --config config.json
示例(仅覆盖被叫手机号):
python3 scripts/create_realtime_call.py --config config.json --mobile "13333333333"
当用户表达“打电话给张三,告诉他下午三点开会”这类需求时:
name = "张三"owner_name = "李四"(表示是谁发起这通电话;若上下文明确且用户希望话术体现发起人身份,则优先补齐)user_intent = "下午三点开会"示例:
python3 scripts/create_realtime_call.py \
--config config.json \
--mobile "13333333333" \
--name "张三" \
--user-intent "下午三点开会"
适用于:
变量提取建议:
name:被称呼的人名;若用户没有明确姓名,可留空或使用默认值owner_name:外呼任务发起人的姓名或身份称呼,用于在话术里体现“这是谁让打来的电话”;若上下文明确且用户有这个需求,优先传递user_intent:真正要传达的内容,保留原意,尽量简洁使用 OpenClaw cron 进行一次性调度。
实现模式:
schedule.kind = "at"),触发时间为当前时间 + 5 分钟。agentTurn 执行本技能流程。设置 --stop-date "yyyy-MM-dd HH:mm:ss",超过截止时间后 AIOB 不再继续拨打。
当用户直接说自然语言时,优先按 references/extraction-rules.md 解析,不要让用户自己组织 JSON。
推荐支持这类表达:
执行策略:
config.json 默认手机号。name。owner_name。user_intent。python3 scripts/create_realtime_call.py --config config.json [--mobile ...] [--name ...] [--owner-name ...] [--user-intent ...]
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,回复里可顺手提示一次更完整的用法,帮助用户学会这个能力。
推荐提示风格:
示例:
如果本次已经明确提供了 name 或 user_intent,就不要重复教育用户。
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:配置优先、支持参数覆盖的外呼脚本。