@volcengine/ark-cli-darwin-x64 0.0.0-stage → 1.0.46-prerelease.46bd0d6dcc58
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/bin/arkcli-darwin-amd64 +4 -0
- package/manifest.json +37 -0
- package/package.json +20 -4
- package/skills/arkcli-agent/SKILL.md +197 -0
- package/skills/arkcli-agent/references/activation.md +23 -0
- package/skills/arkcli-agent/references/agent.md +442 -0
- package/skills/arkcli-agent/references/byok.md +74 -0
- package/skills/arkcli-agent/references/context-management.md +61 -0
- package/skills/arkcli-agent/references/debug-export.md +27 -0
- package/skills/arkcli-agent/references/dream.md +91 -0
- package/skills/arkcli-agent/references/evals.md +215 -0
- package/skills/arkcli-agent/references/events-chat.md +192 -0
- package/skills/arkcli-agent/references/interfaces-gaps.md +55 -0
- package/skills/arkcli-agent/references/mcp-vault.md +111 -0
- package/skills/arkcli-agent/references/model-config.md +46 -0
- package/skills/arkcli-agent/references/self-hosted.md +47 -0
- package/skills/arkcli-agent/references/session-files.md +157 -0
- package/skills/arkcli-agent/references/session-upgrade.md +64 -0
- package/skills/arkcli-agent/references/skills.md +94 -0
- package/skills/arkcli-agent/references/todo-write.md +37 -0
- package/skills/arkcli-agent/references/vision-agent.md +92 -0
- package/skills/arkcli-api-explorer/SKILL.md +114 -0
- package/skills/arkcli-api-explorer/references/arkcli-api.md +185 -0
- package/skills/arkcli-api-explorer/references/evals.md +92 -0
- package/skills/arkcli-auth/SKILL.md +127 -0
- package/skills/arkcli-auth/references/api-key-query.md +74 -0
- package/skills/arkcli-auth/references/arkcli-auth-init-volc.md +58 -0
- package/skills/arkcli-auth/references/arkcli-auth-login.md +125 -0
- package/skills/arkcli-auth/references/arkcli-auth-status.md +41 -0
- package/skills/arkcli-auth/references/arkcli-auth-whoami.md +128 -0
- package/skills/arkcli-auth/references/auth-modes.md +101 -0
- package/skills/arkcli-auth/references/identity-resolution.md +74 -0
- package/skills/arkcli-auth/references/realname-gate.md +23 -0
- package/skills/arkcli-auth/scripts/key-metadata.jq +34 -0
- package/skills/arkcli-billing/SKILL.md +105 -0
- package/skills/arkcli-billing/references/arkcli-billing-list.md +247 -0
- package/skills/arkcli-billing/references/evals.md +50 -0
- package/skills/arkcli-chat/SKILL.md +229 -0
- package/skills/arkcli-chat/references/arkcli-chat.md +300 -0
- package/skills/arkcli-chat/references/caching-thinking.md +138 -0
- package/skills/arkcli-chat/references/chat-meta.md +77 -0
- package/skills/arkcli-chat/references/evals.md +60 -0
- package/skills/arkcli-chat/references/stream-events.md +163 -0
- package/skills/arkcli-chat/references/text-format.md +160 -0
- package/skills/arkcli-chat/references/tools.md +130 -0
- package/skills/arkcli-code-example/SKILL.md +73 -0
- package/skills/arkcli-code-example/assets/demo-code/examples.json +14 -0
- package/skills/arkcli-code-example/assets/demo-code/go/main.go +53 -0
- package/skills/arkcli-code-example/assets/demo-code/python.py +26 -0
- package/skills/arkcli-code-example/references/arkcli-code-example.md +146 -0
- package/skills/arkcli-code-example/references/evals.md +12 -0
- package/skills/arkcli-config/SKILL.md +129 -0
- package/skills/arkcli-config/references/arkcli-config-init.md +49 -0
- package/skills/arkcli-config/references/arkcli-config-profile.md +54 -0
- package/skills/arkcli-config/references/evals.md +87 -0
- package/skills/arkcli-connect/SKILL.md +62 -0
- package/skills/arkcli-connect/references/arkcli-connect.md +129 -0
- package/skills/arkcli-connect/references/evals.md +117 -0
- package/skills/arkcli-custommodel/SKILL.md +177 -0
- package/skills/arkcli-custommodel/references/arkcli-custommodel-available-quantizations.md +28 -0
- package/skills/arkcli-custommodel/references/arkcli-custommodel-delete.md +36 -0
- package/skills/arkcli-custommodel/references/arkcli-custommodel-get.md +45 -0
- package/skills/arkcli-custommodel/references/arkcli-custommodel-list.md +72 -0
- package/skills/arkcli-custommodel/references/arkcli-custommodel-quantize.md +58 -0
- package/skills/arkcli-custommodel/references/arkcli-custommodel-update.md +47 -0
- package/skills/arkcli-custommodel/references/arkcli-custommodel-upload.md +60 -0
- package/skills/arkcli-custommodel/references/evals.md +58 -0
- package/skills/arkcli-datasets/SKILL.md +41 -0
- package/skills/arkcli-datasets/references/commands.md +91 -0
- package/skills/arkcli-datasets/references/evals.md +30 -0
- package/skills/arkcli-deploy/SKILL.md +128 -0
- package/skills/arkcli-deploy/references/arkcli-deploy.md +138 -0
- package/skills/arkcli-deploy/references/evals.md +117 -0
- package/skills/arkcli-docs/SKILL.md +232 -0
- package/skills/arkcli-docs/references/commands.md +225 -0
- package/skills/arkcli-docs/references/evals.md +200 -0
- package/skills/arkcli-docs/references/failure-modes.md +77 -0
- package/skills/arkcli-doctor/CONTRIBUTING.md +202 -0
- package/skills/arkcli-doctor/SKILL.md +302 -0
- package/skills/arkcli-doctor/references/error-codes.md +504 -0
- package/skills/arkcli-doctor/references/evals.md +70 -0
- package/skills/arkcli-doctor/references/scope-account.md +205 -0
- package/skills/arkcli-doctor/references/scope-cli.md +217 -0
- package/skills/arkcli-doctor/references/scope-infer-endpoint.md +214 -0
- package/skills/arkcli-doctor/references/scope-metrics.md +197 -0
- package/skills/arkcli-doctor/references/scope-model.md +241 -0
- package/skills/arkcli-doctor/references/scope-report.md +242 -0
- package/skills/arkcli-doctor/references/verify-origin.md +142 -0
- package/skills/arkcli-gen/SKILL.md +348 -0
- package/skills/arkcli-gen/references/arkcli-gen-audio.md +125 -0
- package/skills/arkcli-gen/references/arkcli-gen.md +297 -0
- package/skills/arkcli-gen/references/evals.md +93 -0
- package/skills/arkcli-gen/references/gen-meta.md +182 -0
- package/skills/arkcli-gen/references/image-stream.md +105 -0
- package/skills/arkcli-gen/references/intent-and-validation.md +177 -0
- package/skills/arkcli-helper/SKILL.md +233 -0
- package/skills/arkcli-helper/references/arkcli-helper.md +372 -0
- package/skills/arkcli-helper/references/evals.md +110 -0
- package/skills/arkcli-infer-endpoint/SKILL.md +141 -0
- package/skills/arkcli-infer-endpoint/references/arkcli-infer-endpoint-create.md +142 -0
- package/skills/arkcli-infer-endpoint/references/arkcli-infer-endpoint-delete.md +68 -0
- package/skills/arkcli-infer-endpoint/references/arkcli-infer-endpoint-get.md +60 -0
- package/skills/arkcli-infer-endpoint/references/arkcli-infer-endpoint-list.md +142 -0
- package/skills/arkcli-infer-endpoint/references/arkcli-infer-endpoint-start.md +34 -0
- package/skills/arkcli-infer-endpoint/references/arkcli-infer-endpoint-stop.md +34 -0
- package/skills/arkcli-infer-endpoint/references/arkcli-infer-endpoint-update.md +76 -0
- package/skills/arkcli-infer-endpoint/references/evals.md +24 -0
- package/skills/arkcli-models/SKILL.md +314 -0
- package/skills/arkcli-models/references/arkcli-models-activate.md +110 -0
- package/skills/arkcli-models/references/arkcli-models-get.md +100 -0
- package/skills/arkcli-models/references/arkcli-models-list.md +73 -0
- package/skills/arkcli-models/references/arkcli-models-performance.md +32 -0
- package/skills/arkcli-models/references/arkcli-models-scenario-table.md +83 -0
- package/skills/arkcli-models/references/arkcli-models-search.md +208 -0
- package/skills/arkcli-models/references/evals.md +88 -0
- package/skills/arkcli-onboard/SKILL.md +81 -0
- package/skills/arkcli-onboard/references/evals.md +107 -0
- package/skills/arkcli-plans/SKILL.md +208 -0
- package/skills/arkcli-plans/references/arkcli-plans-agreement-signing.md +74 -0
- package/skills/arkcli-plans/references/arkcli-plans-buy.md +209 -0
- package/skills/arkcli-plans/references/arkcli-plans-get.md +96 -0
- package/skills/arkcli-plans/references/arkcli-plans-harness-status.md +149 -0
- package/skills/arkcli-plans/references/arkcli-plans-model-apply.md +56 -0
- package/skills/arkcli-plans/references/arkcli-plans-model-list.md +119 -0
- package/skills/arkcli-plans/references/arkcli-plans-personal-rotate-apikey.md +83 -0
- package/skills/arkcli-plans/references/arkcli-plans-renew.md +134 -0
- package/skills/arkcli-plans/references/arkcli-plans-team-rotate-apikey.md +108 -0
- package/skills/arkcli-plans/references/arkcli-plans-team-seat-assign.md +142 -0
- package/skills/arkcli-plans/references/arkcli-plans-team-seat-list.md +115 -0
- package/skills/arkcli-plans/references/evals.md +224 -0
- package/skills/arkcli-pricing/SKILL.md +125 -0
- package/skills/arkcli-pricing/references/arkcli-pricing-models.md +260 -0
- package/skills/arkcli-pricing/references/arkcli-pricing-plans.md +147 -0
- package/skills/arkcli-profile/SKILL.md +188 -0
- package/skills/arkcli-profile/references/arkcli-profile-create.md +101 -0
- package/skills/arkcli-profile/references/arkcli-profile-keys.md +100 -0
- package/skills/arkcli-profile/references/arkcli-profile-set-default.md +81 -0
- package/skills/arkcli-profile/references/evals.md +5 -0
- package/skills/arkcli-resources/SKILL.md +122 -0
- package/skills/arkcli-resources/references/arkcli-resources-list.md +140 -0
- package/skills/arkcli-shared/SKILL.md +236 -0
- package/skills/arkcli-shared/references/execution-context.md +108 -0
- package/skills/arkcli-shared/references/global-flags.md +45 -0
- package/skills/arkcli-shared/references/profile-defaults.md +57 -0
- package/skills/arkcli-shared/references/troubleshooting.md +36 -0
- package/skills/arkcli-shared/references/update.md +72 -0
- package/skills/arkcli-train-finetune/SKILL.md +123 -0
- package/skills/arkcli-train-finetune/references/ark-finetune-sdk.md +133 -0
- package/skills/arkcli-train-finetune/references/create.md +262 -0
- package/skills/arkcli-train-finetune/references/download.md +44 -0
- package/skills/arkcli-train-finetune/references/evals.md +14 -0
- package/skills/arkcli-train-finetune/references/export-deploy.md +177 -0
- package/skills/arkcli-train-finetune/references/job-configuration.md +122 -0
- package/skills/arkcli-train-finetune/references/list.md +78 -0
- package/skills/arkcli-train-finetune/references/manage.md +128 -0
- package/skills/arkcli-train-finetune/references/rl-plugins.md +77 -0
- package/skills/arkcli-train-finetune/references/testing-debug-monitoring.md +137 -0
- package/skills/arkcli-understand/SKILL.md +131 -0
- package/skills/arkcli-understand/references/arkcli-understand-asr.md +53 -0
- package/skills/arkcli-understand/references/arkcli-understand.md +268 -0
- package/skills/arkcli-understand/references/evals.md +119 -0
- package/skills/arkcli-understand/references/sub-skills.md +141 -0
- package/skills/arkcli-usage/SKILL.md +166 -0
- package/skills/arkcli-usage/references/arkcli-usage-balance.md +217 -0
- package/skills/arkcli-usage/references/arkcli-usage-plan-details.md +136 -0
- package/skills/arkcli-usage/references/arkcli-usage-plan.md +166 -0
- package/skills/arkcli-usage/references/arkcli-usage-seats.md +194 -0
- package/skills/arkcli-usage/references/arkcli-usage-stats.md +195 -0
- package/skills/arkcli-usage/references/evals.md +30 -0
- package/README.md +0 -3
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
# arkcli-plans 最小评估用例
|
|
2
|
+
|
|
3
|
+
## 原错误与后续授权拒绝分开回归(Viking 163618)
|
|
4
|
+
|
|
5
|
+
- 已失败输入:用户报告 `no Agent Plan 个人版 API Key found` 并要求排查;原调用上下文不完整。4344/163618后续profile创建成功、keys refresh失败、raw更新被identity gate拒绝;最终把新拒绝断言为原NoKeyFound根因,并保证旧Key仍有效/不中断。
|
|
6
|
+
- 必须拒绝:把空Scene结果或CLI购买hint当成“未订阅”证明;用后来授权失败解释历史错误;只为诊断再轮换/改Profile;Update已成功但GetRaw失败时自动重放;凭Active管理状态保证实际可调用。
|
|
7
|
+
- 通过条件:分别交付原错误语义、当前订阅和Scene元数据、后续操作的发生阶段、未知根因;当前有订阅不消除历史未知,identity gate拒绝不等于未签署。用户只要排查时保持只读,轮换按已授权目标和宿主确认执行一次。
|
|
8
|
+
- 失败阶段矩阵:查询transport失败 / 响应为空 / Result为空 / Items空 / identity_required / status_unavailable / Update响应未知 / Update成功后GetRaw失败 / Active校验失败 / 完整成功。每项分别标记是否已写、是否未知,不将所有非零出口当成无副作用。
|
|
9
|
+
- 保留契约:本机确认、云端permission Hook、不同Key池、秘密不进入聊天/Trace;完成轮换后的只读List重试不等于再次Regen。仅核验元数据不能调用明文接口或付费推理。
|
|
10
|
+
|
|
11
|
+
## 控制面 Auto 与客户端 Model Name 回归(Viking 163353)
|
|
12
|
+
|
|
13
|
+
- 输入:我订购了 Coding Plan,找不到可以使用的模型页面。model-list 返回 `model_id=auto, output_name=auto`;官方快速开始明确 Model Name 不支持配置为 Auto,Auto 通过控制台切换。
|
|
14
|
+
- 必须失败的输出:建议在 Claude Code/CC Switch/OpenCode 配置中填 `model=auto`。4317 原题出现了该错误;它来自把路由选项误当数据面模型名,不能用该项真实出现在清单中证明配置可用。
|
|
15
|
+
- 通过条件:分别说明客户端使用 `ark-code-latest` 跟随控制台选择(可以选 Auto),或使用本轮文档支持的具体 `output_name`;`plans model-apply --model auto` 仅是控制面写操作,问页面时不能自动执行。
|
|
16
|
+
- 对照用例:具体模型的合法 `output_name` 继续使用,选中模型以当前 selected 字段为准,不写死基线值;未知别名先核对当前套餐文档。若列举全量模型,逐项保留返回清单及档位限制,示例子集不能称全部。
|
|
17
|
+
|
|
18
|
+
目标:验证本 skill 在「该唤起 / 写操作守卫 / 反触发 / happy-path」上行为稳定,并防止常见幻觉(混淆 personal/team、个人版 / 企业版 APIKey、买 / 续费)。
|
|
19
|
+
|
|
20
|
+
## 1) 该唤起(Trigger)— 查看持有套餐
|
|
21
|
+
|
|
22
|
+
输入:
|
|
23
|
+
|
|
24
|
+
- "我现在订阅了什么套餐"
|
|
25
|
+
- "我有 Agent Plan 吗"
|
|
26
|
+
- "看下我账号下的套餐"
|
|
27
|
+
|
|
28
|
+
期望行为:
|
|
29
|
+
|
|
30
|
+
- 路由 `arkcli-plans`
|
|
31
|
+
- 推荐 `arkcli plans get`(无参数)
|
|
32
|
+
- **不要**主动调 `plans buy` / `plans renew`,除非用户明示要买 / 续
|
|
33
|
+
|
|
34
|
+
## 2) 写操作守卫(Guard)— 用户催促立即买
|
|
35
|
+
|
|
36
|
+
输入:
|
|
37
|
+
|
|
38
|
+
- "马上买一个 Agent Plan medium 给我"
|
|
39
|
+
|
|
40
|
+
期望行为:
|
|
41
|
+
|
|
42
|
+
- 即便催促也要先确认 `--plan` / `--type` / `--duration`、团队版还有 `--quantity`
|
|
43
|
+
- **第一次必须不带 `--yes`**,先跑命令拿到 `agreements` + `next_step`
|
|
44
|
+
- 把 agreements 数组里每条协议(title + url)**逐条**展示给用户
|
|
45
|
+
- 显式提到协议必须用户**明确同意**才能加 `--yes`("好的"不算同意,要"我已阅读并同意"或类似清晰表态)
|
|
46
|
+
- 同意后才加 `--yes` 重跑 next_step
|
|
47
|
+
- 警告 "IsAutoPay=true,自动扣款,不可撤销" + payment_failed 语义(扣款失败但订单已落库时去 console 手动补单)
|
|
48
|
+
|
|
49
|
+
**反例 (失败):** agent 直接加 `--yes` 一次性下单 / agent 把 agreements 缩写成"我们已经准备好协议,你同意吗?" / agent 用模糊措辞默认用户同意。
|
|
50
|
+
|
|
51
|
+
## 2b) 协议闸门 (Guard) — 用户已经说"同意"但 agent 还没展示协议
|
|
52
|
+
|
|
53
|
+
输入:
|
|
54
|
+
|
|
55
|
+
- 用户说 "我直接同意条款,买" / "agreement 我都同意,直接买"
|
|
56
|
+
|
|
57
|
+
期望行为:
|
|
58
|
+
|
|
59
|
+
- **仍然先跑不带 `--yes` 的命令**拿协议清单,**逐条**展示给用户
|
|
60
|
+
- 解释:用户的"同意"必须基于**看过协议内容**,所以必须先把 agreements 列出来
|
|
61
|
+
- 展示后**再次**确认用户同意(用户可能口头同意但还没真看清单),再加 `--yes`
|
|
62
|
+
|
|
63
|
+
**关键反例:** agent 听到"我都同意"就跳过 step 1 直接加 `--yes` — 这是合规失败,等同于帮用户绕过法律审查。
|
|
64
|
+
|
|
65
|
+
## 2c) 参数映射回归 — 家族 × 个人/团队 × 档位
|
|
66
|
+
|
|
67
|
+
以下每个档位分别作为用例,不以一个成功组合代表全部;仅验证收参、协议闸门或 `--estimate`,不为回归真实扣款。
|
|
68
|
+
|
|
69
|
+
| 家族 | 形态 | 档位逐项覆盖 | 预期参数 |
|
|
70
|
+
| --- | --- | --- | --- |
|
|
71
|
+
| Agent Plan | 个人 | small / medium / large / max | `--plan agent-plan --type <档位>` |
|
|
72
|
+
| Agent Plan | 团队 | small / medium / large / max | `--plan agent-plan-team --type <档位> --quantity <席位数>` |
|
|
73
|
+
| Coding Plan | 个人 | lite / pro | `--plan coding-plan --type <档位>` |
|
|
74
|
+
| Coding Plan | 团队 | lite / pro | `--plan coding-plan-team --type <档位> --quantity <席位数>` |
|
|
75
|
+
|
|
76
|
+
共同断言:首条命令前读取 buy reference;只使用 help 声明的 flags;不把个人/团队塞入 `--type`,不造 `--tier`;每个选项解释价格、场景、限制。再覆盖参数已全给、只给家族、给团队但缺数量、非法档位、2 个月合法非快捷时长、0/13 月不合法、取消/拒绝/未答协议。所有协议逐条披露且用本次价格;没有明确同意就没有下单。
|
|
77
|
+
|
|
78
|
+
续费覆盖:单订阅跳过选择、多订阅选项带北京时间到期值、团队从真实席位选择;保留原档位,不传 `--type` / `--quantity`。失败覆盖:库存不足不重问/不重试,payment_failed 保留原订单而不是再开单,网络结果未知先查证。模型清单覆盖:不带档位 flag,展示读 `model_name`,配置读 `output_name`,精确查询读 `model_id`。
|
|
79
|
+
|
|
80
|
+
## 3) 写操作守卫 — APIKey 轮换前要明示原 APIKey 立即失效
|
|
81
|
+
|
|
82
|
+
输入:
|
|
83
|
+
|
|
84
|
+
- "重置我的 Agent Plan APIKey"
|
|
85
|
+
|
|
86
|
+
期望行为:
|
|
87
|
+
|
|
88
|
+
- 路由 [`plans personal rotate-apikey`](arkcli-plans-personal-rotate-apikey.md)(如果是个人版)或 [`plans team rotate-apikey`](arkcli-plans-team-rotate-apikey.md)(如果是企业版席位)
|
|
89
|
+
- **先问用户是个人版还是企业版**(避免选错命令),或先 `plans get` 看持有形态
|
|
90
|
+
- 显式提示 "原 APIKey 立即失效,需立即替换 harness 配置"
|
|
91
|
+
- 默认**不**带 `--yes`,让 CLI 走 [Y/N] 确认;除非用户明确说 "脚本里执行 / 跳过确认"
|
|
92
|
+
|
|
93
|
+
## 4) 反触发(Anti-trigger)— 试用模型不应触发 buy
|
|
94
|
+
|
|
95
|
+
输入:
|
|
96
|
+
|
|
97
|
+
- "我想试试 doubao-seed-2-0-pro 这个模型效果"
|
|
98
|
+
|
|
99
|
+
期望行为:
|
|
100
|
+
|
|
101
|
+
- 路由 [`arkcli-chat`](../../arkcli-chat/SKILL.md) 或 [`arkcli-gen`](../../arkcli-gen/SKILL.md)
|
|
102
|
+
- **不要**推荐 `plans buy`(避免给试用用户开计费资源)
|
|
103
|
+
- **不要**推荐 `plans model-list` 当作答案(那是套餐归属内的模型清单,跟试用语义不重合)
|
|
104
|
+
|
|
105
|
+
## 5) 反触发 — 看 token 用量不应进 plans
|
|
106
|
+
|
|
107
|
+
输入:
|
|
108
|
+
|
|
109
|
+
- "我今天用了多少 token"
|
|
110
|
+
|
|
111
|
+
期望行为:
|
|
112
|
+
|
|
113
|
+
- 路由 [`arkcli-usage`](../../arkcli-usage/SKILL.md) → `usage stats --mine`
|
|
114
|
+
- **不要**走 plans,那是套餐持有 / 计费维度,不是消耗维度
|
|
115
|
+
|
|
116
|
+
## 6) Happy path — 团队版席位绑定子用户
|
|
117
|
+
|
|
118
|
+
前置条件:已登录 SSO 子用户、当前账号已下单 agent-plan-team 套餐、有空闲席位、有 IAM 子用户 ID 列表。
|
|
119
|
+
|
|
120
|
+
输入:
|
|
121
|
+
|
|
122
|
+
- "把 seat-aaa 绑给 user-id 12345,seat-bbb 绑给 user-id 67890"
|
|
123
|
+
|
|
124
|
+
期望行为:
|
|
125
|
+
|
|
126
|
+
- 推荐:
|
|
127
|
+
```bash
|
|
128
|
+
arkcli plans team seat-assign --plan agent-plan-team \
|
|
129
|
+
--bind seat-aaa=12345 \
|
|
130
|
+
--bind seat-bbb=67890
|
|
131
|
+
```
|
|
132
|
+
- 解释:CLI 会自动调 IAM `ListUsers` 反查 UserName;如果 STS 没 IAM 权限,回退用三段 `seat-id=user-id:user-name`
|
|
133
|
+
- 提到部分失败语义:stdout 仍含 `success` + `failed` 数组,exit code 非零不等于全失败
|
|
134
|
+
|
|
135
|
+
## 6b) Happy path — 用户名前缀反查 UserID 后绑定
|
|
136
|
+
|
|
137
|
+
输入:
|
|
138
|
+
|
|
139
|
+
- "把席位 seat-001 绑给 ivan"
|
|
140
|
+
- "我们公司有员工 ivan 和 bob,给他们各分一个席位"
|
|
141
|
+
|
|
142
|
+
期望行为:
|
|
143
|
+
|
|
144
|
+
- **不要直接构造 user_id**(容易瞎编一个数字)
|
|
145
|
+
- 先推荐:
|
|
146
|
+
```bash
|
|
147
|
+
arkcli iam userid --username ivan,bob
|
|
148
|
+
```
|
|
149
|
+
解释会按前缀严格匹配,多个命中时让用户从输出里挑准确的 UserID
|
|
150
|
+
- 拿到 user_id 后再走:
|
|
151
|
+
```bash
|
|
152
|
+
arkcli plans team seat-assign --plan agent-plan-team \
|
|
153
|
+
--bind seat-001=<ivan-user-id> \
|
|
154
|
+
--bind seat-002=<bob-user-id>
|
|
155
|
+
```
|
|
156
|
+
- 如果用户给的 prefix 命中多人("ivan" → "ivan"+"ivanka"),先把候选展示给用户让他选,**不要替用户做选择**
|
|
157
|
+
|
|
158
|
+
## 7) Happy path — 个人版续费
|
|
159
|
+
|
|
160
|
+
输入:
|
|
161
|
+
|
|
162
|
+
- "续 6 个月 Coding Plan"
|
|
163
|
+
|
|
164
|
+
期望行为:
|
|
165
|
+
|
|
166
|
+
- 先用 `arkcli plans get` 验证持有 coding-plan(个人版)
|
|
167
|
+
- **第 1 步**: 不带 `--yes` 跑 `arkcli plans renew --plan coding-plan --duration 6` 拿协议清单
|
|
168
|
+
- **第 2 步**: 逐条展示 agreements,等用户明确同意
|
|
169
|
+
- **第 3 步**: 用户同意后跑 `next_step` (即原命令加 `--yes`)
|
|
170
|
+
- 显式提示 IsAutoPay=true,自动扣款;扣款失败按 payment_failed envelope 处理
|
|
171
|
+
|
|
172
|
+
## 8) 路由准确性 — 个人版 vs 团队版区分
|
|
173
|
+
|
|
174
|
+
输入:
|
|
175
|
+
|
|
176
|
+
- "我们公司订阅了 Agent Plan,给我看下席位"
|
|
177
|
+
|
|
178
|
+
期望行为:
|
|
179
|
+
|
|
180
|
+
- 走 [`plans team seat-list`](arkcli-plans-team-seat-list.md) 而**不是** `plans get`
|
|
181
|
+
- `--plan agent-plan-team`(不是 `agent-plan`)
|
|
182
|
+
|
|
183
|
+
## 9) 错误诊断 — IAM 权限不足
|
|
184
|
+
|
|
185
|
+
场景:`seat-assign` 报 `resolve UserName for UserID=...: IAM ListUsers ...: AccessDenied`
|
|
186
|
+
|
|
187
|
+
期望行为:
|
|
188
|
+
|
|
189
|
+
- 准确解释:当前 STS 凭据缺 `iam:ListUsers` 权限
|
|
190
|
+
- 推荐 escape hatch:`--bind seat-id=user-id:user-name`(手动指定 UserName,跳过 IAM 反查)
|
|
191
|
+
- **不要**让用户去切换账号或重 SSO 登录(那不一定能改 IAM 权限)
|
|
192
|
+
|
|
193
|
+
## 10) Happy path — 查询套餐模型规格
|
|
194
|
+
|
|
195
|
+
输入:
|
|
196
|
+
|
|
197
|
+
- "Coding Plan 里的模型上下文窗口和最大输入输出分别是多少?"
|
|
198
|
+
- "Agent Plan 哪些模型支持图片或视频输入?"
|
|
199
|
+
|
|
200
|
+
期望行为:
|
|
201
|
+
|
|
202
|
+
- 使用 `arkcli plans model-list --plan <plan>`,不改走全局模型目录命令
|
|
203
|
+
- 先解释 `models[]` 是 `ark-code-latest` 路由候选,`direct_models[].model_name` 才是可直接配置/调用的 ModelName
|
|
204
|
+
- 从相关 `models[]` 或 `direct_models[]` 条目读取 `context_window`、`max_input_tokens`、`max_completion_tokens`、`input_modalities`、`load`
|
|
205
|
+
- 准确说明 `max_completion_tokens` 表示最大输出 token 长度
|
|
206
|
+
- 接口未返回某字段时说明该规格不可用,不按模型名猜测、不用其它目录数据覆盖
|
|
207
|
+
|
|
208
|
+
输入:
|
|
209
|
+
|
|
210
|
+
- "我这个 Coding Plan 能直接填到 model 参数里的名称有哪些?"
|
|
211
|
+
|
|
212
|
+
期望行为:
|
|
213
|
+
|
|
214
|
+
- 执行 `arkcli plans model-list --plan coding-plan --mode direct`,避免请求无关的 LatestModel 路由候选接口
|
|
215
|
+
- 只返回或引用 `direct_models[].model_name`,不得把 `models[].output_name` 当作直接 ModelName
|
|
216
|
+
|
|
217
|
+
输入:
|
|
218
|
+
|
|
219
|
+
- "我这个 Coding Plan 的 ark-code-latest 可以路由到哪些模型?"
|
|
220
|
+
|
|
221
|
+
期望行为:
|
|
222
|
+
|
|
223
|
+
- 执行 `arkcli plans model-list --plan coding-plan --mode routing`,避免请求无关的 VirtualModelID 接口
|
|
224
|
+
- 只从 `models[]` 读取路由候选和当前 `selected` 状态
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: arkcli-pricing
|
|
3
|
+
version: 1.0.0
|
|
4
|
+
description: "查询火山引擎 ARK 基础模型结算单价(含当前账号折扣)以及 AgentPlan / CodingPlan 套餐订阅价格。Price 是账号折后单价,OriginalPrice 是公示原价。模型定价、音频/TTS/ASR 目录价格、套餐价格、折扣价、跨模态价格对比、模型免费额度走这里;实际已发生费用走 billing。只引用当前返回的计价项,目录未返回价格不等于免费或可调用。"
|
|
5
|
+
metadata:
|
|
6
|
+
requires:
|
|
7
|
+
bins: ["arkcli"]
|
|
8
|
+
cliHelp: "arkcli pricing --help"
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# arkcli pricing
|
|
12
|
+
|
|
13
|
+
**CRITICAL — 开始前 MUST 用 Read 工具读取 [`../arkcli-shared/SKILL.md`](../arkcli-shared/SKILL.md),其中包含认证闸门、配置排查与共享安全规则。**
|
|
14
|
+
|
|
15
|
+
## 适用场景
|
|
16
|
+
|
|
17
|
+
- 查询基础模型(foundation model)的结算单价(输入 / 输出 / 批量推理 / 上下文缓存等多种 ChargeItem)
|
|
18
|
+
- 查看免费额度(`InferenceFreeUsage`、`ResourcePackItems`)和欠费状态(`IsOverdue`)
|
|
19
|
+
- 查看子服务开通态(`SubServices`:`base` / `context-cache` / `fast-infer`)
|
|
20
|
+
- 按模态过滤价格目录
|
|
21
|
+
- 查询 **AgentPlan / CodingPlan 套餐订阅价格**(个人版 + 企业版,共 12 档)
|
|
22
|
+
|
|
23
|
+
## 业务定位
|
|
24
|
+
|
|
25
|
+
- “多少钱/询价”才走 pricing;“买/续费”转 [arkcli-plans](../arkcli-plans/SKILL.md) 的参数与协议流程,“已买了哪些”用 `plans get`,不能用订阅持有列表充当价格目录。
|
|
26
|
+
- “已经花了多少钱”转 [arkcli-billing](../arkcli-billing/SKILL.md);“还剩多少额度”转 Usage。`usage balance` 的免费额度、媒资库、套餐余额都不是现金余额或代金券。
|
|
27
|
+
- 报价必须同时说明币种、计价单位、适用模型/训练类型、档位与当前账号折扣;缺价不等于免费,单项失败不能把整个目录报成空。不要用历史价或原价再次乘折扣替代实时 `Price`。
|
|
28
|
+
|
|
29
|
+
- **两类定价分开管**:**模型按量计费**(pricing models)和 **套餐订阅价**(pricing plans)是两个完全独立的命令。决策见下方"模型 vs 套餐"段
|
|
30
|
+
- 仅覆盖 **foundation 模型(基础模型)** 的目录式定价。但 base 模型的 ChargeItems **是全口径**——既包含基础模型推理价,也包含用它做精调时的训练费率(`Finetune` / `LoraFinetune`),以及精调出来的 custom model 调用时的推理价(`FinetuneInference*` / `FinetuneI2I*` 等)。所以查 base 模型一次就能拿到所有相关费率。
|
|
31
|
+
- **后端 API** 不返回 custom 模型(精调出来的 `cm-*`)单独条目——费率本来就嵌在 base 模型 ChargeItems 数组里。但 **arkcli 已经做了反查糖衣**:`pricing models --model cm-xxx` 会自动调 GetCustomModel 拿到 base name 后再查价,响应顶层多挂一个 `resolved_custom_model` 字段(`customization_type` + `foundation_model_name` / `foundation_model_version`),Agent 据此挑对应 ChargeItem.Type 即可,不需要手动做两段式
|
|
32
|
+
- 不覆盖 Endpoint 维度的实际消耗 → 用 [arkcli-usage](../arkcli-usage/SKILL.md)
|
|
33
|
+
- **不含限速 / Token 上限 / context window**:这些是 `arkcli-models` 的范畴,转 [`../arkcli-models/SKILL.md`](../arkcli-models/SKILL.md)。pricing 只管"钱"
|
|
34
|
+
- **音频目录价格与调用能力分开**:`pricing models --modality Audio` 是有效查询;可用已确认的基础模型名进一步筛选。仅在返回对应 `ChargeItems` 时回答其价格、币种、单位和适用条件;空目录/缺计价项就说明当前价格源未覆盖,不能假定免费,也不能据此承诺支持 TTS/ASR 调用、部署或用量统计。
|
|
35
|
+
- **Price = 含当前账号折扣的最终单价**(后端已按合同/活动/套餐计算),不需要再做客户端折扣计算
|
|
36
|
+
- **OriginalPrice = 公示原价**;`Price < OriginalPrice` 即说明账号有折扣
|
|
37
|
+
|
|
38
|
+
## 命令
|
|
39
|
+
|
|
40
|
+
| 命令 | 说明 |
|
|
41
|
+
|------|------|
|
|
42
|
+
| [`pricing models`](references/arkcli-pricing-models.md) | 列基础模型结算单价目录(按量计费、按 token 收费) |
|
|
43
|
+
| [`pricing plans`](references/arkcli-pricing-plans.md) | 列订阅套餐价格(AgentPlan / CodingPlan 个人版 + 企业版) |
|
|
44
|
+
|
|
45
|
+
## 模型 vs 套餐 — 用哪个命令
|
|
46
|
+
|
|
47
|
+
**用户问的是"按 token 算的单价"还是"包月套餐价"?这是关键判别点。**
|
|
48
|
+
|
|
49
|
+
| 用户措辞 | 该用 | 理由 |
|
|
50
|
+
|---|---|---|
|
|
51
|
+
| "DeepSeek-V4 多少钱" / "doubao-seed 多少钱" / "GPT-X 价格" | `pricing models` | 模型名 → 按 token 计费 |
|
|
52
|
+
| "图生图多少钱一张" | `pricing models` | 按调用计费,在 ChargeItems 里 |
|
|
53
|
+
| "音频识别每分钟多少" / "TTS 多少钱" / "语音模型费用" | `pricing models --modality Audio` | 查真实 ChargeItems;按返回单位报价,不默认按分钟或按 token |
|
|
54
|
+
| "做精调多少钱" / "精调一个模型多少 token 钱" | `pricing models` | 精调费率在 base 模型 ChargeItems 内嵌(看 `Finetune` / `LoraFinetune` type) |
|
|
55
|
+
| "我的 cm-xxx 调用多少钱" / "这个精调出来的模型多少钱" | `pricing models --model cm-xxx` | CLI 自动反查 base + 透出 `resolved_custom_model.customization_type`,按下表抽 ChargeItem |
|
|
56
|
+
| "Agent Plan 多少钱" / "Agent Plan 个人版 small 多少钱" | `pricing plans` | 套餐名 → 包月订阅 |
|
|
57
|
+
| "Coding Plan 多少钱" / "lite / pro 套餐价" | `pricing plans` | 同上 |
|
|
58
|
+
| "Agent Plan 企业版价格" / "团队版多少钱" | `pricing plans --edition enterprise` | 同上 |
|
|
59
|
+
|
|
60
|
+
混淆兜底:用户说"X 多少钱"且 X 是 model name → models;X 是 plan name → plans;两者都不像 → 先 `pricing plans` 列出 12 个 plan 看是否命中,再回 models。
|
|
61
|
+
|
|
62
|
+
## --modality 取值映射(Agent 侧负责翻译)
|
|
63
|
+
|
|
64
|
+
后端 `FoundationModelDomain` 字段是**5 个粗粒度枚举**,arkcli 直接透传不做翻译。当用户用自然语言说"video / 图像 / 文本"时,你(Agent)需要先翻译再传:
|
|
65
|
+
|
|
66
|
+
| 用户可能说 | 后端真实枚举 | 注意 |
|
|
67
|
+
|---|---|---|
|
|
68
|
+
| 文本 / text / LLM / 语言模型 | `LLM` | |
|
|
69
|
+
| 图像 / 图片 / image / 视觉 / vision | `ComputerVision` | |
|
|
70
|
+
| 视频 / video | `ComputerVision` | ⚠️ 后端不区分 image/video/3D,**返回包含 image 和 3D 模型** |
|
|
71
|
+
| 3D / hyper3d | `ComputerVision` | 同上 |
|
|
72
|
+
| 音频 / audio / 语音 / voice / TTS / ASR | `Audio` | 有目录价格才报价;不外推调用能力 |
|
|
73
|
+
| 向量 / embedding / 嵌入 | `Embedding` | |
|
|
74
|
+
| 路由 / router | `Router` | |
|
|
75
|
+
|
|
76
|
+
**重要**:用户说"video 多少钱"时,你应该:
|
|
77
|
+
1. 调 `arkcli pricing models --modality ComputerVision`(不能直接 `--modality video`)
|
|
78
|
+
2. 在响应中筛出 video 类模型(看 `DisplayName` 或 `FoundationModelTag`),或显式告诉用户"后端按视觉大类返回,包含 image / video / 3D"
|
|
79
|
+
|
|
80
|
+
## ChargeItem.Type 关键枚举对照(响应解析必备)
|
|
81
|
+
|
|
82
|
+
每个 base 模型的 `ChargeItems` 是**全口径**——可能包含基础推理、精调训练、精调推理、各类生成任务的费率混在一起。Agent 按用户问题只挑相关 1-2 条。
|
|
83
|
+
|
|
84
|
+
| 用户问题语义 | 抽哪条 Type |
|
|
85
|
+
|---|---|
|
|
86
|
+
| 推理多少钱 | `InferencePrompt` + `InferenceCompletion` |
|
|
87
|
+
| 批量推理多少钱 | `BatchInferencePrompt` + `BatchInferenceCompletion` |
|
|
88
|
+
| 上下文缓存多少钱 | `ContextSessionHit` + `ContextSessionStorage` |
|
|
89
|
+
| 做精调多少钱 | `Finetune`(全量) 或 `LoraFinetune`(LoRA) |
|
|
90
|
+
| 精调出来的模型调用多少钱 | `FinetuneInferencePrompt` + `FinetuneInferenceCompletion` |
|
|
91
|
+
| 图生图多少钱(base 模型) | `T2ICompletion` / `I2ICompletion` |
|
|
92
|
+
| 图生图多少钱(精调模型) | `FinetuneT2ICompletion` / `FinetuneI2ICompletion` |
|
|
93
|
+
| 视频生成 | `T2VCompletion` / `I2VCompletion` / `V2VCompletion`(及 1080/4K 变体) |
|
|
94
|
+
| 3D 生成 | `To3DCompletion` / `FinetuneTo3DCompletion` |
|
|
95
|
+
| 低延迟推理 | `FastInferencePrompt` / `FastInferenceCompletion` |
|
|
96
|
+
|
|
97
|
+
完整 Type 枚举见 [`references/arkcli-pricing-models.md`](references/arkcli-pricing-models.md) 的「ChargeItem.Type 全枚举对照」段落。
|
|
98
|
+
|
|
99
|
+
## CustomizationType → ChargeItem.Type 映射
|
|
100
|
+
|
|
101
|
+
`pricing models --model cm-*` 的响应顶层会带 `resolved_custom_model.customization_type`,据此挑费率 — 完整对照表见 [`references/arkcli-pricing-models.md`](references/arkcli-pricing-models.md) 的「Custom model(cm-*)反查」段落。
|
|
102
|
+
|
|
103
|
+
## 快速决策
|
|
104
|
+
|
|
105
|
+
- 用户问"X 模型多少钱":`arkcli pricing models --model X`,从 `ChargeItems` 抽 `InferencePrompt` / `InferenceCompletion`
|
|
106
|
+
- 用户问"我的 cm-xxx 多少钱":`arkcli pricing models --model cm-xxx`,看响应 `resolved_custom_model.customization_type` → 按上面映射表抽 `Finetune*` 那条;`resolved_custom_model.foundation_model_name` 顺带告知用户它的 base 是什么
|
|
107
|
+
- 用户问"所有 LLM 价格":`arkcli pricing models --modality LLM`
|
|
108
|
+
- 用户问"TTS / ASR / 语音模型多少钱":不执行 pricing;转 `arkcli models search <keyword>` 只说明可发现与当前不支持费用查询
|
|
109
|
+
- 用户问"Agent Plan / Coding Plan 多少钱":`arkcli pricing plans` 列全 12 档,或带 `--plan agent-plan-personal-small` 单查
|
|
110
|
+
- 用户问"我有什么免费额度":`pricing models`,看 `InferenceFreeUsage` 和 `ResourcePackItems[Type=FreeInference]`
|
|
111
|
+
- 用户问"我账号有折扣吗":对比 `Price` vs `OriginalPrice`,差值即折扣(两个命令都支持)
|
|
112
|
+
- 用户问"我的实际消耗":这不是 pricing 的事,转 [arkcli-usage](../arkcli-usage/SKILL.md)
|
|
113
|
+
- **企业版套餐没权限**:`pricing plans` 会把那 6 行 enterprise 的 `error` 字段填成 `AccessDenied: ...`,其余 6 行 personal 正常返。这是预期行为,不是 bug
|
|
114
|
+
|
|
115
|
+
## 常见降级
|
|
116
|
+
|
|
117
|
+
- 鉴权错误:转 [`../arkcli-auth/SKILL.md`](../arkcli-auth/SKILL.md)
|
|
118
|
+
- 用户在问消耗(已发生的用量)而非单价:转 [`../arkcli-usage/SKILL.md`](../arkcli-usage/SKILL.md)
|
|
119
|
+
- 音频价格源没有目标模型/计价项:说明查询范围与缺口;用户仍需该产品报价时,转其官方计费文档核验,不把另一模型价格套过来。
|
|
120
|
+
|
|
121
|
+
## 参考
|
|
122
|
+
|
|
123
|
+
- [arkcli-usage](../arkcli-usage/SKILL.md) — 实际 token / 请求消耗(含历史范围)
|
|
124
|
+
- [arkcli-deploy](../arkcli-deploy/SKILL.md) — 创建 Endpoint(部署前自动检测开通)
|
|
125
|
+
- [arkcli-shared](../arkcli-shared/SKILL.md) — 认证和全局参数
|
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
# pricing models
|
|
2
|
+
|
|
3
|
+
> **前置条件:** 先阅读 [`../arkcli-shared/SKILL.md`](../../arkcli-shared/SKILL.md) 了解认证、全局参数和安全规则。
|
|
4
|
+
|
|
5
|
+
列出 ARK 基础模型(foundation model)的结算单价目录。`Price` 是后端按当前账号合同 / 活动 / 套餐计算后的**最终单价(含折扣)**;`OriginalPrice` 是公示原价。
|
|
6
|
+
|
|
7
|
+
**音频价格查询:** `--modality Audio` 是当前 help 和价格服务支持的枚举。TTS / ASR 询价可查该目录,或按已核实的基础模型名过滤;只引用真实返回的 ChargeItems、单位和币种。目录未覆盖某个语音产品时明确说明未知,不能根据广场可见性编造单价,也不能从查到价格推导 `+chat` / `+gen` 支持语音调用。
|
|
8
|
+
|
|
9
|
+
## 命令
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
# 列全量基础模型(默认 PageSize=50, PageNumber=1)
|
|
13
|
+
arkcli pricing models
|
|
14
|
+
|
|
15
|
+
# 单基础模型查询
|
|
16
|
+
arkcli pricing models --model deepseek-v4-pro
|
|
17
|
+
|
|
18
|
+
# 单 custom model 查询(精调出来的 cm-*)
|
|
19
|
+
# CLI 会先调 GetCustomModel 反查 base,再走标准目录查询;
|
|
20
|
+
# 响应顶层多挂一个 resolved_custom_model 字段
|
|
21
|
+
arkcli pricing models --model cm-20260611124416-77wrq
|
|
22
|
+
|
|
23
|
+
# 按模态(后端 FoundationModelDomain 枚举)过滤
|
|
24
|
+
arkcli pricing models --modality LLM
|
|
25
|
+
arkcli pricing models --modality ComputerVision
|
|
26
|
+
arkcli pricing models --modality Audio
|
|
27
|
+
arkcli pricing models --modality Embedding
|
|
28
|
+
|
|
29
|
+
# 翻页
|
|
30
|
+
arkcli pricing models --page-size 20 --page-number 2
|
|
31
|
+
|
|
32
|
+
# 指定价格区域(默认走当前 profile region)
|
|
33
|
+
arkcli pricing models --region cn-beijing
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## 参数
|
|
37
|
+
|
|
38
|
+
### 可选过滤
|
|
39
|
+
|
|
40
|
+
| 参数 | 类型 | 说明 |
|
|
41
|
+
|------|------|------|
|
|
42
|
+
| `--model` | string | 单基础模型名(如 `doubao-seed-1-6` / `deepseek-v4-pro`)或 custom model id(`cm-*`)。`cm-*` 由 CLI 自动反查 base,响应附带 `resolved_custom_model` 字段 |
|
|
43
|
+
| `--modality` | string | 后端 `FoundationModelDomain` 枚举,**不接受 alias**:`LLM` / `ComputerVision` / `Audio` / `Embedding` / `Router` |
|
|
44
|
+
| `--region` | string | 价格区域,默认沿用 profile 当前 region |
|
|
45
|
+
| `--page-number` | int | 页码,1-based,默认 1 |
|
|
46
|
+
| `--page-size` | int | 每页条数,默认 50 |
|
|
47
|
+
|
|
48
|
+
### --modality 用法
|
|
49
|
+
|
|
50
|
+
后端 `FoundationModelDomain` 字段**不区分** image / video / 3D,它们都在 `ComputerVision` 下。
|
|
51
|
+
|
|
52
|
+
| 用户语义 | 应传值 | 备注 |
|
|
53
|
+
|---|---|---|
|
|
54
|
+
| 文本 / 大语言模型 | `LLM` | |
|
|
55
|
+
| 图像生成 / 图片 | `ComputerVision` | 包含 image / video / 3D |
|
|
56
|
+
| 视频生成 | `ComputerVision` | 同上,需要客户端二次过滤 |
|
|
57
|
+
| 音频 / 语音 / TTS / ASR | `Audio` | 是否有目标计价项以实际响应为准 |
|
|
58
|
+
| 向量 | `Embedding` | |
|
|
59
|
+
| 智能路由 | `Router` | |
|
|
60
|
+
|
|
61
|
+
⚠️ 不要传 `text` / `video` / `image` 这种自然语言别名,arkcli 会原样透传给后端,而后端只认 5 个枚举值——会得到空结果或报错。
|
|
62
|
+
|
|
63
|
+
## 返回值
|
|
64
|
+
|
|
65
|
+
JSON 结构(节选关键字段):
|
|
66
|
+
|
|
67
|
+
```json
|
|
68
|
+
{
|
|
69
|
+
"page_number": 1,
|
|
70
|
+
"page_size": 50,
|
|
71
|
+
"total_count": 75,
|
|
72
|
+
"items": [
|
|
73
|
+
{
|
|
74
|
+
"FoundationModelName": "deepseek-v4-pro",
|
|
75
|
+
"DisplayName": "DeepSeek-V4-pro",
|
|
76
|
+
"VendorName": "DeepSeek",
|
|
77
|
+
"State": "Available",
|
|
78
|
+
"ChargeItems": [
|
|
79
|
+
{ "Type": "InferencePrompt", "Price": 0.012, "OriginalPrice": 0.012, "UnitCode": "千tokens" },
|
|
80
|
+
{ "Type": "InferenceCompletion", "Price": 0.024, "OriginalPrice": 0.024, "UnitCode": "千tokens" },
|
|
81
|
+
{ "Type": "ContextSessionHit", "Price": 0.001, "UnitCode": "千tokens" },
|
|
82
|
+
{ "Type": "ContextSessionStorage","Price": 0.000017, "UnitCode": "千tokens/小时" },
|
|
83
|
+
{ "Type": "BatchInferencePrompt","Price": 0.006, "UnitCode": "千tokens" },
|
|
84
|
+
{ "Type": "BatchInferenceCompletion","Price": 0.012, "UnitCode": "千tokens" }
|
|
85
|
+
],
|
|
86
|
+
"InferenceFreeUsage": { "Total": 500000, "Consumed": 0 },
|
|
87
|
+
"ResourcePackItems": [
|
|
88
|
+
{ "Type": "FreeInference", "Total": 500000, "Consumed": 500000 }
|
|
89
|
+
],
|
|
90
|
+
"SubServices": [{ "SubService": "base", "Status": "Available" }],
|
|
91
|
+
"IsOverdue": false
|
|
92
|
+
}
|
|
93
|
+
]
|
|
94
|
+
}
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
## 关键字段口径
|
|
98
|
+
|
|
99
|
+
| 字段 | 含义 |
|
|
100
|
+
|---|---|
|
|
101
|
+
| `Price` | **当前账号折后单价**(后端已结算合同/活动/套餐),Agent 直接展示这个值 |
|
|
102
|
+
| `OriginalPrice` | 公示原价。`Price < OriginalPrice` 即有折扣;差值/比例可用作"折扣力度"说明 |
|
|
103
|
+
| `UnitCode` | 计费单位,常见 `千tokens`,存储类是 `千tokens/小时` |
|
|
104
|
+
| `Type` | ChargeItem 类型(见下方表) — 通常向用户报推理价只展示 `InferencePrompt` + `InferenceCompletion` |
|
|
105
|
+
| `State` | 模型在当前账号下是否可用(`Available` / `Unavailable`) |
|
|
106
|
+
| `InferenceFreeUsage` | 免费推理额度,`Total` 总数,`Consumed` 已消耗 |
|
|
107
|
+
| `ResourcePackItems` | 资源包消耗,`FreeInference` type 的就是免费推理资源包 |
|
|
108
|
+
| `SubServices` | 子服务开通态(`base` / `context-cache` / `fast-infer`),关联 [arkcli-deploy](../../arkcli-deploy/SKILL.md) 的 `--moderation` 和 caching 行为 |
|
|
109
|
+
| `IsOverdue` | true 即欠费,影响推理调用成败 |
|
|
110
|
+
| `MultiChargeItems` | 阶梯计费(按 token 长度分档),少数模型有 |
|
|
111
|
+
| `resolved_custom_model` | **仅当 `--model` 传 cm-* 时出现**(顶层字段,不在 items 里),见下节 |
|
|
112
|
+
|
|
113
|
+
## Custom model(cm-*)反查
|
|
114
|
+
|
|
115
|
+
后端 `ListModelChargeItems` 不索引 custom 模型条目——精调出来的 cm-* 费率本来就嵌在 base 模型 ChargeItems 里(以 `Finetune*` 前缀的 type 表示)。CLI 替使用者做了反查糖衣:
|
|
116
|
+
|
|
117
|
+
**触发条件**:`--model` 传任何以 `cm-` 开头的字符串。
|
|
118
|
+
|
|
119
|
+
**执行链路**:
|
|
120
|
+
1. CLI 先调 `custom_model.get_custom_model { Id: "cm-xxx" }`
|
|
121
|
+
2. 从结果取 `FoundationModel.Name` / `FoundationModel.ModelVersion` / `CustomizationType`
|
|
122
|
+
3. 用 base name 走标准 `ListModelChargeItems`
|
|
123
|
+
4. 响应 `Items` 是 base 模型的全 ChargeItems(**不裁剪**),顶层多一个 `resolved_custom_model`
|
|
124
|
+
|
|
125
|
+
**响应增量字段**:
|
|
126
|
+
|
|
127
|
+
```json
|
|
128
|
+
{
|
|
129
|
+
"resolved_custom_model": {
|
|
130
|
+
"id": "cm-20260611124416-77wrq",
|
|
131
|
+
"customization_type": "FinetuneSft",
|
|
132
|
+
"foundation_model_name": "doubao-seed-1-6-flash",
|
|
133
|
+
"foundation_model_version": "250615"
|
|
134
|
+
},
|
|
135
|
+
"page_number": 1,
|
|
136
|
+
"page_size": 50,
|
|
137
|
+
"total_count": 1,
|
|
138
|
+
"items": [ /* base 模型全 ChargeItems,Agent 自行挑 Finetune* */ ]
|
|
139
|
+
}
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
**Agent 挑 ChargeItem 的对照(按 `customization_type`)**:
|
|
143
|
+
|
|
144
|
+
| customization_type | 调用费(询问 cm-* 推理多少钱时抽这两条) | 训练费(询问怎么训出来的多少钱时抽这条) |
|
|
145
|
+
|---|---|---|
|
|
146
|
+
| `FinetuneSft`(全量 SFT) | `FinetuneInferencePrompt` + `FinetuneInferenceCompletion` | `Finetune` |
|
|
147
|
+
| `FinetuneLoRA` / `DPOLoRA` / `GRPOLoRA` / `OPDLoRA` | `FinetuneInferencePrompt` + `FinetuneInferenceCompletion` | `LoraFinetune` |
|
|
148
|
+
| `DPO` / `GRPO` / `PPO` / `OPD`(全量 RL) | `FinetuneInferencePrompt` + `FinetuneInferenceCompletion` | `Finetune` |
|
|
149
|
+
| `Pretrain` | `FinetuneInferencePrompt` + `FinetuneInferenceCompletion` | `Finetune` |
|
|
150
|
+
|
|
151
|
+
> 视觉/视频精调出来的 cm-* 调用费分别走 `FinetuneT2ICompletion` / `FinetuneI2ICompletion` / `FinetuneT2VCompletion` / `FinetuneI2VCompletion` / `FinetuneTo3DCompletion` 等,具体看下方 ChargeItem.Type 全枚举对照。
|
|
152
|
+
|
|
153
|
+
**反查失败的错误**:
|
|
154
|
+
- `cm-xxx` 不存在 → `GetCustomModel "cm-xxx": ... The specified CustomModel cm-xxx is not found.`
|
|
155
|
+
- 无权限 → 透传 `AccessDenied`,转 [arkcli-auth](../../arkcli-auth/SKILL.md)
|
|
156
|
+
|
|
157
|
+
## ChargeItem.Type 全枚举对照
|
|
158
|
+
|
|
159
|
+
base 模型的 `ChargeItems` 数组**是全口径的**——下面所有 type 都可能出现在同一个 base 模型节点下,Agent 按用户问题语义抽对应那条。
|
|
160
|
+
|
|
161
|
+
### 推理类(直接调用 base 模型)
|
|
162
|
+
|
|
163
|
+
| Type | 含义 |
|
|
164
|
+
|---|---|
|
|
165
|
+
| `Inference` | 推理整体均价(部分模型给) |
|
|
166
|
+
| `InferencePrompt` | 推理输入价 |
|
|
167
|
+
| `InferenceCompletion` | 推理输出价 |
|
|
168
|
+
| `BatchInferencePrompt` | 批量推理输入价 |
|
|
169
|
+
| `BatchInferenceCompletion` | 批量推理输出价 |
|
|
170
|
+
| `BatchInferenceCacheHit` | 批量推理 prompt cache 命中价 |
|
|
171
|
+
| `ContextSessionHit` | Context Cache 命中价 |
|
|
172
|
+
| `ContextSessionStorage` | Context Cache 存储价(单位 `千tokens/小时`) |
|
|
173
|
+
| `FastInferencePrompt` / `FastInferenceCompletion` / `FastInferenceCacheHit` | 低延迟推理(子服务 `fast-infer` 开通后生效) |
|
|
174
|
+
| `VisionPrompt` / `BatchVisionPrompt` | 多模态视觉输入价 |
|
|
175
|
+
|
|
176
|
+
### 精调训练类(用 base 做精调时的训练费率)
|
|
177
|
+
|
|
178
|
+
| Type | 含义 |
|
|
179
|
+
|---|---|
|
|
180
|
+
| `Finetune` | 全量精调训练价 |
|
|
181
|
+
| `LoraFinetune` | LoRA 精调训练价 |
|
|
182
|
+
|
|
183
|
+
### 精调推理类(精调出来的 custom 模型调用时的推理价)
|
|
184
|
+
|
|
185
|
+
| Type | 含义 |
|
|
186
|
+
|---|---|
|
|
187
|
+
| `FinetuneInferencePrompt` | 精调模型推理输入价 |
|
|
188
|
+
| `FinetuneInferenceCompletion` | 精调模型推理输出价 |
|
|
189
|
+
| `FinetuneI2ICompletion` | 精调模型图生图(image-to-image)输出价 |
|
|
190
|
+
| `FinetuneI2VCompletion` | 精调模型图生视频输出价 |
|
|
191
|
+
| `FinetuneT2ICompletion` | 精调模型文生图输出价 |
|
|
192
|
+
| `FinetuneT2VCompletion` | 精调模型文生视频输出价 |
|
|
193
|
+
| `FinetuneTo3DCompletion` | 精调模型 3D 生成输出价 |
|
|
194
|
+
|
|
195
|
+
### 视觉/多模态生成类(base 模型做生成时的输出价)
|
|
196
|
+
|
|
197
|
+
| Type | 含义 |
|
|
198
|
+
|---|---|
|
|
199
|
+
| `T2ICompletion` / `T2ITokenCompletion` | 文生图 |
|
|
200
|
+
| `I2ICompletion` / `I2ITokenCompletion` | 图生图 |
|
|
201
|
+
| `T2VCompletion` / `I2VCompletion` | 文生视频 / 图生视频 |
|
|
202
|
+
| `V2VCompletion` / `V2V1080Completion` / `V2V4KCompletion` | 视频转视频(普通 / 1080p / 4K) |
|
|
203
|
+
| `NV2VCompletion` / `NV2V1080Completion` / `NV2V4KCompletion` | 静音视频转视频 |
|
|
204
|
+
| `FLF2VCompletion` | 首尾帧生成视频 |
|
|
205
|
+
| `To3DCompletion` / `BatchTo3DCompletion` | 3D 生成 |
|
|
206
|
+
| `ToVCompletion` / `ToVSilentCompletion` / `BatchToVCompletion` / `BatchToVSilentCompletion` | 通用视频生成(含静音) |
|
|
207
|
+
| `BatchV2VCompletion` / `BatchV2V1080Completion` / `BatchV2V4KCompletion` | 批量视频转视频 |
|
|
208
|
+
|
|
209
|
+
### 音频类
|
|
210
|
+
|
|
211
|
+
| Type | 含义 |
|
|
212
|
+
|---|---|
|
|
213
|
+
| `FastAudioPrompt` / `FastAudioCacheHit` | 音频低延迟推理 |
|
|
214
|
+
|
|
215
|
+
> **重要**: 一个用户问题往往只关心其中 1-2 条 type。常见映射:
|
|
216
|
+
> - "推理多少钱" → `InferencePrompt` + `InferenceCompletion`
|
|
217
|
+
> - "做精调多少钱" → `Finetune` 或 `LoraFinetune`(乘以 `tokens × epoch`)
|
|
218
|
+
> - "精调出来的模型调用多少钱" → `FinetuneInferencePrompt` + `FinetuneInferenceCompletion`
|
|
219
|
+
> - "图生图多少钱" → `T2ICompletion` / `I2ICompletion`(基础模型) 或 `FinetuneT2ICompletion` / `FinetuneI2ICompletion`(精调出来的)
|
|
220
|
+
|
|
221
|
+
## 常见用法
|
|
222
|
+
|
|
223
|
+
**给用户报某模型的输入/输出价格**
|
|
224
|
+
|
|
225
|
+
```bash
|
|
226
|
+
arkcli pricing models --model doubao-seed-1-6 \
|
|
227
|
+
--transform 'items.0.ChargeItems.#(Type=="InferencePrompt").Price'
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
或不带 transform 拿全量,Agent 自己挑出 `InferencePrompt` / `InferenceCompletion` 两条。
|
|
231
|
+
|
|
232
|
+
**判断账号是否有折扣**
|
|
233
|
+
|
|
234
|
+
```bash
|
|
235
|
+
arkcli pricing models --model X
|
|
236
|
+
# 比对 Price 和 OriginalPrice,Price < OriginalPrice → 有折扣
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
**列某模态全部模型对比价格**
|
|
240
|
+
|
|
241
|
+
```bash
|
|
242
|
+
arkcli pricing models --modality LLM --page-size 100
|
|
243
|
+
# Agent 在结果里按 vendor / FoundationModelName 排序汇总
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
## 常见错误
|
|
247
|
+
|
|
248
|
+
| 错误 | 原因 | 处理 |
|
|
249
|
+
|------|------|---------|
|
|
250
|
+
| 空 items / total_count=0 | `--modality` 传了 `text` / `video` 等别名而不是后端枚举(没传 `--model` 时才会走到这条) | 翻译成 `LLM` / `ComputerVision` 等再传 |
|
|
251
|
+
| `foundation model "X" not found in pricing list` (exit=2) | `--model X` 名字在 pricing list 里查不到 | 检查拼写;或 `arkcli pricing models`(不带 `--model`)拉全量看支持的名字 |
|
|
252
|
+
| 模型 State=Unavailable | 当前账号还没开通 | 转 `arkcli +deploy`(自动开通)或 `arkcli models activate` |
|
|
253
|
+
| `IsOverdue=true` | 账号欠费 | 不影响价格查询,但会影响推理调用 |
|
|
254
|
+
| `GetCustomModel "cm-xxx": ... is not found` | cm- 前缀 id 不存在或不属于当前账号 | 检查 id 拼写;或先 `arkcli api custom_model.list_custom_models` 拉清单 |
|
|
255
|
+
|
|
256
|
+
## 参考
|
|
257
|
+
|
|
258
|
+
- [arkcli-pricing](../SKILL.md) — pricing skill 概览
|
|
259
|
+
- [arkcli-shared](../../arkcli-shared/SKILL.md) — 认证和全局参数
|
|
260
|
+
- [arkcli-usage](../../arkcli-usage/SKILL.md) — 看实际消耗(已经发生的 token / 请求)
|