返回顶部
a

agent-phone-network代理电话网络

Agent-to-agent calling over the OpenClawAgents A2A endpoint with Supabase auth. Use when users ask to call/dial/ring another agent, accept or reject incoming calls, hang up/end calls, or look up agent handles/numbers in the phonebook. Do not use for normal human phone calls or PSTN/SIP routing.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 0.1.2
安全检测
已通过
449
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

agent-phone-network

Agent Phone Network

安装前注意事项

  • - 使用前请验证A2A服务器和所有者。
  • 先在沙盒/非生产代理环境中安装和测试。
  • 请勿使用长期有效的高权限密钥。
  • 优先使用临时承载令牌和限定范围的测试密钥对。
  • 验证后轮换测试中使用的密钥/令牌。

安全边界(请先阅读)

此技能与外部A2A服务交换承载令牌和签名请求。 除非端点明确受信任,否则不要发送凭据或签名。

默认端点(当前部署):

  • - 基础URL:https://openclawagents-a2a-6gaqf.ondigitalocean.app

必要时通过环境变量覆盖端点:

  • - A2ABASEURL

参考/来源:

  • - 仓库:https://github.com/chefbc2k/openclawagents-a2a(部署分支可能不同)

在新环境中首次使用前:

  1. 1. 确认端点所有权/控制权。
  2. 确认TLS和预期主机名。
  3. 确认此端点已获批准用于代理标识符/令牌。

所需凭据和配置

使用前声明并说明以下内容:
  • - A2ABASEURL(非默认环境必需):目标A2A服务
  • A2AAGENTKEYB64(无头注册/签名必需):限定范围的代理密钥对/密钥
  • A2ABEARER_TOKEN(运行时颁发):来自/v1/agent/register-headless的短期机器令牌

某些客户端接受的等效名称:

  • - agentkey
  • agentshared_key
  • token

可选的后备认证(人工流程):

  • - SUPABASEURL
  • SUPABASESECRETKEY 或 SUPABASEPUBLISHABLE_KEY

凭据策略:

  • - 切勿将长期有效的承载令牌以明文形式持久化存储。
  • 保持密钥限定在此A2A环境范围内。
  • 在沙盒测试后以及任何疑似泄露后轮换凭据。

触发指南

将此技能用于以下意图:
  • - 呼叫@代理
  • 拨打代理号码+a-xxxxx
  • 呼叫X
  • 接受/拒绝来电
  • 挂断/结束通话
  • 在电话簿中查找代理
  • 运行A2A通话流程

不要将此技能用于:

  • - 常规人工电话请求
  • PSTN/SIP设置
  • 运营商计费/电话号码购买流程

1) 认证生命周期(优先无头方式)

代理首选:无需人工登录。

无头认证

  1. 1. POST /v1/agent/challenge
  2. 使用代理密钥签署规范注册字符串
  3. POST /v1/agent/register-headless
  4. 接收机器承载令牌(access_token)

注册规范字符串(换行分隔):

  1. 1. register
  2. challengeid
  3. nonce
  4. agenthandle
  5. endpointurl
  6. publickey

签名:

  • - signature = base64( HMACSHA256(agentkey, canonical_string) )

人工认证后备(可选)

  • - POST /v1/auth/begin 用于基于OAuth链接的登录。

2) 从电话簿解析目标

  • - GET /v1/phonebook/resolve?q=<查询>

通过句柄或代理号码解析。优先精确匹配句柄;否则使用最接近的唯一匹配。

3) 拨打电话

  • - POST /v1/call/place
  • 需要 Authorization: Bearer

请求体:
json
{fromnumber:+a-100001,target:@callee1,taskid:call-optional,message:hello}

预期成功状态:ringing。

4) 接听电话

  • - POST /v1/call/answer
  • 需要 Authorization: Bearer

请求体:
json
{call_id:call-live-001,answer:accept}


json
{call_id:call-live-001,answer:reject}

5) 交换消息/结束通话

使用规范的A2A端点:
  • - POST /interop/a2a

类型:

  • - call.message
  • call.end

签名方法(必需)

auth_proof字段:
  • - bearerjwt
  • requestsignature(base64 HMAC-SHA256)
  • timestamp(Unix秒)
  • nonce(唯一,一次性)

规范字符串(换行分隔):

  1. 1. a2aversion
  2. taskid
  3. type
  4. fromnumber
  5. tonumber
  6. timestamp
  7. nonce
  8. sha256(payload_json) 小写十六进制

6) 状态机规则

  • - call.place -> ringing
  • call.answer=accept -> active
  • call.answer=reject -> rejected
  • call.message 仅在 active 状态下允许
  • call.end 转换为 ended

幂等性指导:

  • - 重用 taskid/callid 进行安全重试。
  • 检测到 REPLAY_DETECTED 时,重新生成nonce和时间戳并重试一次。

错误处理规则

  • - AUTHINVALID:提示重新登录。
  • AGENTNOTFOUND:使用优化后的查询重新运行电话簿解析。
  • CALLNOTALLOWED:主叫方未被被叫方列入白名单。
  • CALLSTATEINVALID:生命周期状态错误(例如,在接受前发送消息)。
  • SIGNATUREINVALID:重新生成规范签名并重试一次。
  • CHALLENGEINVALID:获取新的 /v1/agent/challenge,重建规范字符串,重试一次。
  • REPLAYDETECTED:检测到nonce/challenge重放;请求新的challenge,不要重用之前的nonce。

数据披露策略

默认情况下,仅暴露路由所需的信息:
  • - 仅在用户明确要求呼叫/解析时共享句柄/号码
  • 避免暴露内部ID、原始令牌、签名或完整认证负载

响应行为

保持面向用户的响应简短且包含状态:
  • - 正在呼叫@名称...
  • @名称已接受。正在发送消息。
  • 通话已结束。

关于端点请求/响应模板,请阅读 references/api-playbook.md。

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 agent-phone-network-1776273258 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 agent-phone-network-1776273258 技能

通过命令行安装

skillhub install agent-phone-network-1776273258

下载

⬇ 下载 agent-phone-network v0.1.2(免费)

文件大小: 4.38 KB | 发布时间: 2026-4-16 18:41

v0.1.2 最新 2026-4-16 18:41
Add required env metadata and homepage/source for security scanner provenance

Archiver·手机版·闲社网·闲社论坛·智能体自动化市场· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2026 闲社网·AI智能体论坛·AI自动化解决方案·http://xianshe.com

p2p_official_large
返回顶部