byted-vms-cdr-record

byted-vms-cdr-record is a skill for Claude Code, Codex from bytedance/agentkit-samples. It costs 70 tokens per session (1,839 once invoked), scanned A, original, Apache-2.0.

A lookup tool for Volcengine cloud calling records and call recordings. It retrieves information using an exact CallId, the identifier assigned to a call.

In plain words
What is it for?
Find the record for a known CallId and obtain its associated recording URL.
Why use it?
It makes call-record and recording-URL lookups repeatable, while clearly handling cases where only a phone number or another identifier is available.

Skill for Claude CodeCodex ✓ vendor

Which agent this was written for is unclear — built for openclaw. Also seen: built for openclaw.

Good fit Find the record for a known CallId and obtain its associated recording URL.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/bytedance/agentkit-samples/byted-vms-cdr-record
About the project

bytedance/agentkit-samples is a collection of examples and tutorials for Volcengine AgentKit, an AI-agent development platform for building, deploying, and operating agent applications. Developers use the samples to learn agent creation, multi-agent collaboration, memory, retrieval, MCP integrations, media generation, customer service, and other workflows. The catalogue skills provide agent workflows based on these examples.

bytedance/agentkit-samples · 450 stars · on GitHub

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add bytedance/agentkit-samples --skill byted-vms-cdr-record
Clone the repo
git clone --depth 1 https://github.com/bytedance/agentkit-samples

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for byted-vms-cdr-record

README.md
[![agentmods](https://agentmods.dev/badge/skills/bytedance/agentkit-samples/byted-vms-cdr-record/github.svg)](https://agentmods.dev/skills/bytedance/agentkit-samples/byted-vms-cdr-record)
Your own site
<a href="https://agentmods.dev/skills/bytedance/agentkit-samples/byted-vms-cdr-record"><img src="https://agentmods.dev/badge/skills/bytedance/agentkit-samples/byted-vms-cdr-record/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for byted-vms-cdr-record

Your own site · 80×15
<a href="https://agentmods.dev/skills/bytedance/agentkit-samples/byted-vms-cdr-record"><img src="https://agentmods.dev/badge/skills/bytedance/agentkit-samples/byted-vms-cdr-record.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 70 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,839 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00070 $0.01839
Opus 5 $0.00035 $0.00920
Sonnet 5 $0.00014 $0.00368
Haiku 4.5 $0.00007 $0.00184

Measured 5d ago against content hash d4ba865adc8b, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-08, from the pricing page.

Security

Grade A, and why

byted-vms-cdr-record scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.

The scan reads SKILL.md. This mod also ships 2 executable files (scripts/_topclient.py, scripts/cdr_record.py), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/byted-vms-cdr-record/SKILL.md · 113 lines

How it starts

The opening of the file, as written. The whole thing — 113 lines — stays where its author put it; the contents beside it link to each section on GitHub.

byted-vms-cdr-record · 火山云通信话单/录音查询

环境变量

按以下优先级解析鉴权 (与其他 vms-* skill 一致):

  1. ARK_SKILL_API_KEY + ARK_SKILL_API_BASE → 火山引擎 arkclaw 企业版. 请先在火山后台页面配置好 AK/SK, 由 arkclaw 注入这两个环境变量 (ARK_SKILL_API_KEY 为 API 密钥, ARK_SKILL_API_BASE 为 API 基础地址), 脚本以 Bearer 鉴权直连该网关, 无需本地签名;
  2. 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) 签名;
  3. 否则报错并提示用户填入 AK/SK.

重要前置说明 (TOP 限制)

QueryCallRecordMsg / QueryAudioRecordFileUrl 这两个接口在 TOP 网关上有以下硬约束 (实测):

  • 必须传 CallIdList (form-urlencoded), 服务端校验直接报 Required List parameter 'CallIdList' is not present;
  • 不接受按手机号 / 时间区间 / SingleOpenId 反查;
  • SingleBatchAppend 返回的是 SingleOpenId不是 CallId, 这两者是不同字段, 无法相互转换.

因此, 想拿到 CallId 必须依赖以下两条之一:

  1. 平台异步回调: 火山通信会在通话结束时把含 CallId 的话单 push 到业务方配置的回调地址;
  2. 业务侧持久化: 业务后端在收到回调时把 single_open_id ↔ call_id 映射存到自己的存储中, 后续按 SingleOpenId 反查 CallId.

如果用户只有 SingleOpenId 或被叫号码, 没有 CallId, 不要尝试调用本 skill 的 query_cdr, 应明确告知用户该限制并引导其去控制台 https://console.volcengine.com/cloud_vms/cdrList 查看, 或在业务侧用 SingleOpenId 反查 CallId, 又或者改用 query_sip_record (按被叫/主叫 + 时间窗) 查列表.

命令

# 1. 按 callId 精确查话单 (V1, CallIdList 必填, 实际走 form-urlencoded)
python3 scripts/cdr_record.py query_cdr --call-id <CallId> \
    [--business-type voiceNotify|privacyNumber|aicall] \
    [--limit 20] [--offset 0]

# 1.1. 按 callId 批量查话单 (V2, JSON body, 单次最多 100 条)
python3 scripts/cdr_record.py query_cdr_v2 --call-id <CallId1,CallId2,...>

# 2. 按被叫/主叫 + 时间窗列表查话单 (QuerySipRecord, 不需要 CallId)
python3 scripts/cdr_record.py query_sip_record \
    [--callee <CalleePhone>] [--caller <CallerPhone>] \
    [--begin-time-lower "2026-05-22 00:00:00"] \
    [--begin-time-upper "2026-05-28 23:59:59"] \
    [--sub-service-type 102] [--number-pool-no <NumberPoolNo>] \
    [--call-status ANSWERED] [--limit 20] [--offset 0]

# 3. 获取录音文件下载 URL (顶层返回 DownloadUrl, 可直接复制下载)
python3 scripts/cdr_record.py query_record_url --call-id <CallId> \
    [--business-type privacyNumber] [--expire-time 3600] \
    [--save-to ~/Downloads/<CallId>.wav]   # 可选: 直接落到本地

# 4. 获取录音 ASR 转文本下载 URL (V2, 单次最多 100 条)
python3 scripts/cdr_record.py query_asr_url --call-id <CallId1,CallId2,...>

Read the full file on GitHub · 113 lines

Files

What ships with it

4 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 5d ago First seen · 113 lines · 70 tokens per session scan A d4ba865adc8b

Subscribe to this mod's changes

byted-vms-cdr-record is a skill published in the GitHub repository bytedance/agentkit-samples (450 stars, last pushed 4d ago), licensed Apache-2.0. It adds 70 tokens to every session and 1,839 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.