| name | byted-vms-number-pool |
| version | 2.0.0 |
| description | 火山云通信通用能力层 Skill. 号码池 / 号码 / 资质三类资源管理. 当用户问号码池有哪些、要新建号码池、查/启停号码、提交或查询资质时调用. 业务层 Skill 在预检阶段也会复用本 Skill. |
| license | Apache-2.0 |
| metadata | {"author":"leixin.alex@bytedance.com","homepage":"https://www.volcengine.com/docs/6358/173340?lang=zh","knowledge_base":"references/vms-fundamentals.md","openclaw":{"emoji":"🏷️","requires":{"env":["VOLC_ACCESS_KEY","VOLC_SECRET_KEY"]},"os":["darwin","linux"],"triggers":["号码池","创建号码池","更新号码池","查号码","反查号码池","号码归属","启用号码","停用号码","资质管理","提交资质","上传资质","查资质"]}} |
byted-vms-number-pool · 号码池 / 号码 / 资质
环境变量
按以下优先级解析鉴权 (与其他 vms-* skill 一致):
ARK_SKILL_API_KEY + ARK_SKILL_API_BASE → 火山引擎 arkclaw 企业版. 请先在火山后台页面配置好 AK/SK, 由 arkclaw 注入这两个环境变量 (ARK_SKILL_API_KEY 为 API 密钥, ARK_SKILL_API_BASE 为 API 基础地址), 脚本以 Bearer 鉴权直连该网关, 无需本地签名;
VOLC_ACCESS_KEY + VOLC_SECRET_KEY (兼容 VOLCENGINE_ACCESS_KEY/VOLCENGINE_SECRET_KEY) → 个人版 arkclaw / openclaw / coco / aime / claudecode 等普通 agent, 用户直接把 AK/SK 告诉 agent, 脚本本地做 HMAC-SHA256 (Volc V4) 签名;
- 否则报错并提示用户填入 AK/SK.
命令
python3 scripts/number_pool.py list_pool [--sub-service-type 102] [--name 北京]
python3 scripts/number_pool.py create_pool \
--name "语音通知-默认池" --sub-service-type 102 \
--qualification-id <QualificationId> [--choose-pretty false]
python3 scripts/number_pool.py update_pool \
--number-pool-no <NumberPoolNo> \
[--name "新名称"] [--remark "新备注"] [--qualification-id <NewQualId>]
python3 scripts/number_pool.py list_number --number-pool-no <NumberPoolNo>
python3 scripts/number_pool.py query_number --phone <Phone> [--sub-service-type 201]
python3 scripts/number_pool.py apply_number \
[--number-pool-no <NumberPoolNo>] [--count 5] [--qualification-id <Id>]
python3 scripts/number_pool.py query_apply_record \
[--number-pool-no <NumberPoolNo>] [--sub-service-type 102] \
[--apply-status 7] [--limit 20] [--offset 0]
python3 scripts/number_pool.py toggle_number \
--number-pool-no <NumberPoolNo> --phone-list <PhoneA>,<PhoneB> --enable true
python3 scripts/number_pool.py add_qualification \
--payload '{"Name":"xx有限公司","QualificationType":0,"BusinessType":1,...}'
python3 scripts/number_pool.py upload_qualification_file \
--file-url "https://your-tos.com/license.jpg" \
--qualification-id <QualificationId> \
--file-type 1 --file-name "营业执照"
python3 scripts/number_pool.py query_qualification [--status 1]
python3 scripts/number_pool.py list_qualification \
[--status 1] [--name "广州"] \
[--qualification-type 0] [--business-type 3] \
[--limit 20] [--offset 0]
python3 scripts/number_pool.py update_qualification \
--qualification-id <Id> --payload '{"BusinessType":2}'
何时被业务层 Skill 调用
byted-vms-voice-notify 预检号码池 → list_pool --sub-service-type 102
byted-vms-aicall 预检 → list_pool --sub-service-type 104
byted-vms-secret-number 预检 → list_pool --sub-service-type 201 (或其他隐私号子类型 202~206)
- 业务层只拿到号码 (例如 X 号、A 号) 需要 NumberPoolNo 时 →
query_number --phone <X>,
Agent 拿到返回里的 NumberPoolNo 后再去调用业务层接口 (如
byted-vms-secret-number query_subscription_list / unbind_*).
业务层 Skill 通过 Agent 触发本 Skill 执行命令, 拿回结果后再决定下一步, 不直接 import 本包的 python.
错误兜底
- 资质
Status=0 (待审核) → 提示用户审核约 1 工作日, 期间不能创建号码池.
- 资质
Status=2 (驳回) → 引导用户用 update_qualification 修改后重新提交.
- 没有任何号码池 → 引导用户先
add_qualification → create_pool → 在控制台购号 https://console.volcengine.com/cloud_vms/number .
- 申请号码 / 购号: 平台 未开放 OpenAPI 写入, 用户调
apply_number 时
返回控制台引导, 必须前往 https://console.volcengine.com/cloud_vms/number
页面点击「申请号码」操作, 提交申请单等待平台审核, 审核通过后号码自动入池.
申请进度可用 query_apply_record 接口查询.
- 鉴权失败: 提示检查 AK/SK. 普通 agent (个人版 arkclaw / openclaw / coco / aime / claudecode) 检查
VOLC_ACCESS_KEY/VOLC_SECRET_KEY; 火山引擎 arkclaw 企业版需先在火山后台页面配置好 AK/SK, 再确认 ARK_SKILL_API_KEY/ARK_SKILL_API_BASE 已注入.
📚 基础知识 / 参数传递参考
add_qualification 的 payload 字段对资质类型 (QualificationType) /
业务类型 (BusinessType) / 主体材料字段有强约束, create_pool /
update_pool 的 SubServiceType (101/102/103/104/201~206) 不能混用.
这些通用规范沉淀在本 skill 内置的本地基础知识文档:
references/vms-fundamentals.md
所有 vms-* skill 共用同一份内容. 本地加载无外网依赖, 比拉飞书更快更稳.
飞书原文 (可选): https://bytedance.sg.larkoffice.com/docx/Mv32dc0yooBn7txDxW8lsDdDgYb