一键导入
byted-volcengine-finops
火山引擎费用中心账单分析技能,根据用户场景,使用 Python SDK 查询账单明细、成本账单明细、账号汇总、产品汇总与分账账单,支持按账期、分摊月、日期、产品、账号、实例、分拆项进行多维度的账单分析。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
火山引擎费用中心账单分析技能,根据用户场景,使用 Python SDK 查询账单明细、成本账单明细、账号汇总、产品汇总与分账账单,支持按账期、分摊月、日期、产品、账号、实例、分拆项进行多维度的账单分析。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
火山引擎资源巡检、水位评估、容量建议、趋势判断与预算优化 Skill。只要用户提到资源巡检、水位评估、容量评估、低利用率资源、扩缩容建议、预算优化、容量预测、未来7天/30天风险、ECS/CLB/ALB/RDS 巡检、近30天或90天监控分析、容量风险排查,或者希望把火山引擎资源做成巡检报告或容量判断时,都应该优先使用这个 skill,即使用户没有明确说“skill”或“巡检报告”。
面向代码变更、配置变更、扩容缩容、网络策略调整、入口切换等场景做变更风险分析。只要用户在问“这个变更风险有多大”“这个变更会影响什么”“上下游会波及哪些服务/资源”之类的问题,就应该使用这个 skill;即使用户只给了自然语言变更说明,也要主动尝试结合 topology.json 推断影响范围,并输出风险结论与文字化的上下游影响描述。
面向日常运维巡检场景,对告警、体检等信息进行按日采集、结构化沉淀和周期输出(日报/周报/月报)。
Guide a user conversationally through generating a new ad video from a template video and a user-provided product image. The host agent performs video understanding, detailed analysis, and rewrite planning; BytePlus Seedance is used only for final video generation with local product images as generation references.
Manages Volcano Engine ContextSearch control-plane operations, and searches/chats with configured Context Search data-plane endpoints. Use when the user mentions ContextSearch on Volcano Engine, console operations, AgenticSearch setup, or context-aware search/chat.
通过本地 Python CLI 和 OpenAPI 客户端管理、排查火山云手机资源。适用于查询实例和资源、截图、执行命令、查看任务、检查应用、主机和机房容量、标签、DNS、路由,以及操作已授权的测试云手机实例。
| name | byted-volcengine-finops |
| description | 火山引擎费用中心账单分析技能,根据用户场景,使用 Python SDK 查询账单明细、成本账单明细、账号汇总、产品汇总与分账账单,支持按账期、分摊月、日期、产品、账号、实例、分拆项进行多维度的账单分析。 |
这个 Skill 用于通过火山引擎 Python SDK 查询费用中心账单数据,并围绕账期、分摊月、日期、实例、产品、账号、分账维度做汇总分析。
当用户要求:
ListBillOverviewByCategory 查询账号维度账单总览ListBillOverviewByProd 查询单产品、多产品、全量产品月度账单ListBillDetail 查询账单明细ListAmortizedCostBillDetail 查询成本账单明细ListSplitBillDetail 查询分账账单AK/SK.env 文件配置scripts/ 下的独立脚本直接调用ListBillOverviewByCategoryListBillOverviewByProdListBillDetailListAmortizedCostBillDetailListSplitBillDetailBillPeriodAmortizedMonthExpenseDateAmortizedDayOffset + Limit + NeedRecordNum 分页拉全量common.py 中的 fetch_all_pages 工具函数自动翻页需要安装火山引擎 Python SDK:
pip install --upgrade "volcengine-python-sdk>=5.0.30"
说明:
4.0.1 ~ 4.0.42 存在 SDK 重试缺陷,尽量不要继续使用需要配置火山引擎的 Access Key 和 Secret Key。推荐使用以下两种方式之一:
export VOLCENGINE_AK="your-ak"
export VOLCENGINE_SK="your-sk"
export VOLCENGINE_REGION="cn-beijing"
.env 文件在 ~/.openclaw/workspace/.env 中配置:
VOLCENGINE_AK=your-ak
VOLCENGINE_SK=your-sk
VOLCENGINE_REGION=cn-beijing
YYYY-MMYYYY-MM-DDYYYY-MMYYYY-MM-DD[1,300]1 返回 Total,否则常为 -10 不忽略、1 忽略references/product-code.md| 参数 | 值 | 含义 |
|---|---|---|
BillingMode | 1 | 包年包月 |
2 | 按量计费 | |
3 | 合同计费 | |
4 | 履约计费 | |
BillCategoryParent | consume | 消费 |
refund | 退款 | |
transfer | 调账 | |
BillCategory | consume-use | 消费-使用 |
consume-new | 消费-新购 | |
consume-renew | 消费-续费 | |
consume-formalize | 消费-转正 | |
consume-modify | 消费-更配 | |
consume-trial | 消费-试用 | |
refund-terminate | 退款-退订 | |
refund-modify | 退款-更配 | |
transfer-manual | 调账-人工 | |
transfer-system | 调账-系统 | |
GroupTerm | 0 | 计费项 |
1 | 实例 | |
2 | 产品 | |
3 | 账号 | |
GroupPeriod | 0 | 账期 |
1 | 按天 | |
2 | 明细 | |
AmortizedType | 1 | 履约计费分摊 |
2 | 合同计费分摊 | |
3 | 按量计费分摊 | |
4 | 新购分摊 | |
5 | 更配分摊 | |
6 | 续费分摊 | |
7 | 退订分摊 | |
8 | 预留实例调整分摊 | |
9 | 试用分摊 | |
10 | 转正分摊 | |
SplitDimension | JSON 字符串 | 分拆维度,如 {"ark_bd":"apikey_id"},商品不支持多维度拆分时会报错 |
BillPeriod 是账单查询的核心时间参数,按月查询AmortizedMonth 是成本账单查询的核心时间参数,按月查询ExpenseDateAmortizedDayBillPeriod 分别查询后再汇总AmortizedMonth 分别查询后再汇总ListBillOverviewByProdListBillDetailListAmortizedCostBillDetailListSplitBillDetail以上四个接口都应按分页处理。
推荐策略:
Offset 从 0 开始Limit 优先取 100 或 300NeedRecordNum 设为 1Offset += Limit 继续拉取Limit,或累计条数覆盖 Total,则结束分页common.py 中的 fetch_all_pages 工具函数自动翻页fetch_all_pages 使用示例:
from common import build_billing_api, fetch_all_pages
import volcenginesdkbilling
api = build_billing_api()
# 自动拉取全量账单明细
rows = fetch_all_pages(
api_instance=api,
request_cls=volcenginesdkbilling.ListBillDetailRequest,
list_method_name="list_bill_detail",
raw_kwargs={"BillPeriod": "2025-05"},
limit=100,
)
print(f"共拉取 {len(rows)} 条记录")
所有接口的返回结构都是 Result.List + Result.Total(分页接口),完整字段定义见 references/billing-api-notes.md。以下是各接口最常用的业务字段:
| 字段 | 说明 | 常用场景 |
|---|---|---|
PayableAmount | 应付金额 | 成本排行、总账核对 |
OriginalBillAmount | 原价 | 未优惠前金额 |
DiscountBillAmount | 折后价 | 优惠后口径 |
PreferentialBillAmount | 优惠金额 | 不含代金券的优惠 |
CouponAmount | 代金券抵扣 | 与优惠金额分开看 |
PaidAmount | 已付金额 | 对账 |
UnpaidAmount | 欠费金额 | 识别未结清 |
| 字段 | 说明 | 常用场景 |
|---|---|---|
Product / ProductZh | 产品英文 / 中文名 | 产品维度聚合 |
Region / RegionCode | 地域 | 地域成本分析 |
Zone / ZoneCode | 可用区 | 可用区级归因 |
InstanceNo / InstanceName | 实例 ID / 名称 | 单实例排查 |
Project / ProjectDisplayName | 项目信息 | 成本归属 |
Tag | 标签 JSON | 标签归因 |
BillCategory | 账单类型 | 区分消费/退款/调账 |
BillingMode | 计费模式 | 区分包年包月/按量 |
ConfigName | 配置名称 | SKU 说明 |
| 字段 | 说明 | 备注 |
|---|---|---|
SplitItemID / SplitItemName | 分拆项 ID / 名称 | 分账主键 |
SplitItemAmount / SplitItemRatio | 分拆项用量 / 占比 | 明细模式下有意义 |
CouponDeductionAmount | 代金券抵扣 | 注意:不是 CouponAmount |
| 字段 | 说明 | 备注 |
|---|---|---|
AmortizedMonth / AmortizedDay | 分摊月 / 分摊日 | 成本归属时间 |
AmortizedType | 分摊类型 | 新购/续费/更配等 |
DailyAmortizedPayableAmount | 每日分摊应付金额 | 成本分析主字段 |
DailyAmortizedDiscountBillAmount | 每日分摊折后价 | 折后口径 |
DailyAmortizedOriginalBillAmount | 每日分摊原价 | 原价口径 |
每个接口的完整请求参数和返回参数定义见 references/billing-api-notes.md,以下为最简参数模板。
ListBillOverviewByCategory查询账单总览账号汇总信息。
适用场景:
SDK 请求参数模板:
# 账号账单总览查询参数
category_request = {
"BillPeriod": "2025-05"
}
ListBillOverviewByProd分页查询产品月度账单。
适用场景:
SDK 请求参数模板:
# 产品账单总览查询参数
prod_request = {
"BillPeriod": "2025-05",
"Limit": 100,
}
ListBillDetail分页查询账单明细。
适用场景:
SDK 请求参数模板:
# 账单明细查询参数
detail_request = {
"BillPeriod": "2025-05",
"Limit": 100,
}
ListSplitBillDetail分页查询分账账单。
适用场景:
SDK 请求参数模板:
# 分账账单查询参数
split_request = {
"BillPeriod": "2025-05",
"Limit": 100,
}
ListAmortizedCostBillDetail分页查询成本账单明细。
适用场景:
SDK 请求参数模板:
# 成本账单明细查询参数
amortized_detail_request = {
"AmortizedMonth": "2025-05",
"Limit": 100,
}
说明:
AmortizedMonth / AmortizedDay,不是普通账单接口里的 BillPeriod / ExpenseDateBillPeriod 在这个接口里是可选过滤条件,不能替代 AmortizedMonthSkill 已将 5 个接口的调用示例提取为独立脚本,位于 scripts/ 目录:
scripts/list_bill_overview_by_category.pyscripts/list_bill_overview_by_prod.pyscripts/list_bill_detail.pyscripts/list_amortized_cost_bill_detail.pyscripts/list_split_bill_detail.pyscripts/common.py说明:
common.py 负责加载 .env、初始化 Billing SDK、统一输出 JSON,以及提供 fetch_all_pages 翻页工具函数--ProductLimit 范围和 SplitDimension 的 JSON 格式python3 scripts/list_bill_overview_by_category.py \
--BillPeriod 2025-05
# 最小调用
python3 scripts/list_bill_overview_by_prod.py \
--BillPeriod 2025-05 \
--Limit 100
# 按产品筛选
python3 scripts/list_bill_overview_by_prod.py \
--BillPeriod 2025-05 \
--Limit 100 \
--Product ECS --Product VKE
# 最小调用
python3 scripts/list_bill_detail.py \
--BillPeriod 2025-05 \
--Limit 100
# 按天 + 按产品 + 按实例筛选
python3 scripts/list_bill_detail.py \
--BillPeriod 2025-05 \
--Limit 100 \
--ExpenseDate 2025-05-15 \
--Product ECS \
--InstanceNo i-xxxxxxxx
# 最小调用
python3 scripts/list_split_bill_detail.py \
--BillPeriod 2025-05 \
--Limit 100
# 按标签维度分账
python3 scripts/list_split_bill_detail.py \
--BillPeriod 2025-05 \
--Limit 100 \
--SplitDimension '{"TOS":"project"}'
# 最小调用
python3 scripts/list_amortized_cost_bill_detail.py \
--AmortizedMonth 2025-05 \
--Limit 100
# 按天 + 按分摊类型筛选
python3 scripts/list_amortized_cost_bill_detail.py \
--AmortizedMonth 2025-05 \
--Limit 100 \
--AmortizedDay 2025-05-15 \
--AmortizedType 4
references/install.mdreferences/billing-api-notes.mdreferences/product-code.mdvolcengine-python-sdk