| name | arkcli-plans |
| version | 1.2.0 |
| description | ARK 套餐管理(Agent Plan / Coding Plan,个人版 + 企业版):查询持有 / 购买 / 续费 / 模型清单 / 轮换 APIKey,**以及企业版席位的全部管理操作**:列出席位(`plans team seat-list`)、给员工分配席位(`plans team seat-assign`)、查谁绑了哪个 seat、轮换席位 APIKey(`plans team rotate-apikey`)。命中关键词:套餐 / 买 / 续费 / 列席位 / 看 seat 绑定 / 谁绑了哪个 seat / 给员工分席位 / 解绑 / 团队席位 admin 视图 / 轮换 APIKey。**用量类问题(还剩多少额度 / 用了几成 / 每个 seat 用了多少)走 [arkcli-usage](../arkcli-usage/SKILL.md)。**动词路由:**列 / 绑 / 分 / 轮换 / 解绑** → 这里;**用 / 消耗 / 多少** → arkcli-usage。另含 harness-status:只读查看本机 AI Agent(claude-code/codex/opencode/openclaw/trae)上 Agent Plan 内置 MCP(豆包搜索/dataPro/OpenViking)装没装、key 就没就绪;命中:我的 MCP 装好了吗 / 查 MCP 安装状态 / 看 agent 上的 MCP / harness 状态。 |
| metadata | {"requires":{"bins":["arkcli"]},"cliHelp":"arkcli plans --help"} |
arkcli plans
CRITICAL — 开始前 MUST 先用 Read 工具读取 ../arkcli-shared/SKILL.md,其中包含认证闸门、配置排查与共享安全规则。
CRITICAL — 任何 plans buy / plans renew / plans personal rotate-apikey / plans team seat-assign / plans team rotate-apikey 在执行之前,务必先用 Read 工具读取对应 references/*.md,禁止盲目调用。
🔒 协议闸门(plans buy / plans renew 强制流程)
plans buy / plans renew 是计费写操作,加 --yes 才真扣款。不传 --yes 不传 --dry-run 时, CLI 不下单, 而是返回:
{
"status": "agreement_required",
"agreements": [{"title": "...", "url": "..."}, ...],
"next_step": "arkcli plans buy ... --yes"
}
Agent 必须严格按以下顺序执行:
- 第一次调用必须不带
--yes — 拿到 agreements 数组
- 逐条把每条协议的
title 和 url 展示给最终用户(不能省略,不能合并)
- 等待用户明确表达已阅读并同意全部协议(例如"我已阅读并同意"、"OK 我同意"等清晰表态);不能用模糊回答("好"、"嗯") 默认通过
- 确认后才能加
--yes 重跑 next_step 字段里的命令(直接复制 next_step 即可,flag 已回显完整)
违反这条流程 = 帮用户跳过法律合规步骤。这跟 frontend 购买面板的 "我已阅读并同意《...》" checkbox 等价 — 必须真人看过才能勾。
--dry-run 是询价路径,不下单也不需要协议确认 — 但用户最终走 --yes 真下单时仍需先看协议。
业务定位
arkcli plans 管理两类 ARK 套餐:
- Agent Plan(agent-plan / agent-plan-team):智能体调用套餐,按 tier 划档(small/medium/large/max)
- Coding Plan(coding-plan / coding-plan-team):编程辅助套餐,按 tier 划档(lite/pro)
每类套餐都有 个人版(personal)与 企业版 / 团队版(team)两种形态:
| 形态 | 资源单位 | 典型操作 |
|---|
| personal | 个人订阅 (subscription) | 查看 / 购买 / 续费 / 轮换专属 APIKey |
| team | 企业席位 (seat) | 查看 / 购买 / 续费 / 列出席位 / 绑定子用户 / 轮换席位 APIKey |
personal 一个账号下一份订阅;team 是按席位(SeatID)粒度管理,每个席位绑一个子用户。
本 skill 不含套餐用量 / 配额查询("用了多少 / 还剩多少 / 几号刷新 / 按模型拆分")。plans get 只回答"我持有哪些套餐 + 状态(Effective/Running)",不回答"用了多少"。配额视图在 ../arkcli-usage/ — 详见下方"快速决策"分流表。
适用场景
- 查看当前账号下持有哪些套餐 →
plans get
- 下单买套餐(含个人 / 团队)→
plans buy
- 续费已有套餐 →
plans renew
- 看套餐支持的模型清单 →
plans model-list
- 个人版轮换 APIKey →
plans personal rotate-apikey
- 列出 / 筛选企业版席位 →
plans team seat-list
- 把企业版席位绑给子用户 →
plans team seat-assign
- 轮换企业版席位的 APIKey(自己 or 管理员批量)→
plans team rotate-apikey
- 查本机 AI Agent 上专属 Harness 能力装没装(只读)→
plans harness-status:按能力卡报豆包搜索 / 专业数据集 / Agent 记忆(MCP),外加全局火山引擎Supabase(CLI+Skill 装没装)。「我的 supabase / MCP 装好了吗」都走这里(Agent 记忆卡仅个人版 agent-plan;团队版报 absent 是预期、非漏装,详见其 reference)
快速决策
- 用户问 "我有什么套餐 / 我订阅了什么":直接
arkcli plans get,零参数(仅持有列表 + 状态,不含用量)
- 用户问 "我用了多少 / 还剩多少 / 几号刷新 / 套餐内 vs 套餐外" —— 不在本 skill,转
../arkcli-usage/:
- "我的套餐还剩多少 / 几号刷新" →
arkcli usage plan 或 arkcli usage balance --type plan
- "我哪个模型用得最多 / 套餐内套餐外比例" →
arkcli usage plan-details
- "团队席位的用量" →
arkcli usage seats --product agent-plan-team --with-usage
- 用户问 "Agent Plan / Coding Plan 支持什么模型":
arkcli plans model-list --plan <plan>
- 用户要 "买 / 续 套餐":先看 references/arkcli-plans-buy.md / renew.md,严格要求显式
--plan、--type、--duration、团队版还要 --quantity,不要替用户做选择
- 用户要 "重置 / 轮换 APIKey":分清个人版还是企业版,参考对应 reference;写操作,原 APIKey 立即失效,必须按 reference 走二次确认(除非用户明确要
--yes 跳过)
- 用户要 "查席位 / 看团队 seat 绑定情况 / 谁绑了哪个 seat / 列出席位 / 哪些席位激活了 / 团队席位 admin 视图" →
plans team seat-list --plan <agent-plan-team|coding-plan-team>(这是 seat 管理的默认入口,管理视角列基础信息 + 绑定关系,不带用量数字;要看每个 seat 用了多少 token / 套餐百分比 → arkcli usage seats --with-usage)
- 用户要 "把席位分配给员工 / 给员工分配 seat / 解绑席位"→
plans team seat-assign,先准备好 seat-id=user-id 配对清单
- 用户只知道员工用户名不知道精确 UserID:先
arkcli iam userid --username <prefix> 反查到 user_id,再喂给 seat-assign --bind seat-id=<user_id>
Agent 快速执行顺序
- 先确认认证状态:
arkcli auth status;缺失走 ../arkcli-auth/
- 读操作(
get / model-list / seat-list)直接执行;只在用户问 "我的" 时考虑当前身份
- 写操作(
buy / renew / rotate-apikey / seat-assign) 务必:
- 先读对应 reference
- 跟用户确认关键字段(plan / type / duration / SeatIDs / UserID 配对)
rotate-apikey 默认不传 --yes,让 CLI 走 [Y/N] 二次确认
- 部分失败(per-item Success/Failed 数组)是合法返回;exit code 非零时不要直接当全失败,先看 stdout 里的 success_count / failed_count
写操作风险清单(必读)
| 命令 | 风险 | 必做项 |
|---|
plans buy | 计费,IsAutoPay=true 自动扣款 | 必须先不带 --yes 走协议闸门 → 把 agreements 展示给用户 → 用户明确同意后加 --yes。详见 协议闸门流程 |
plans renew | 计费,自动扣款 | 同 buy 协议闸门;团队版必传 --seat-ids |
plans personal rotate-apikey | 原 APIKey 立即失效 | 默认走 [Y/N] 确认;提醒用户同步替换 harness 配置 |
plans team seat-assign | 修改席位绑定关系 | 显式 --bind seat-id=user-id,自动调 IAM 反查 UserName |
plans team rotate-apikey | 原 APIKey 立即失效 | self-rotate 默认 agent-plan-team;admin batch 通过 --seat-ids |
命令一览
常见降级
参考
- arkcli-shared -- 认证 / 全局参数 / 输出规则
- arkcli-usage -- 套餐用量 / 配额视图(
usage plan / usage plan-details / usage balance / usage seats --with-usage),跟本 skill 的"持有 / 购买 / 席位管理"互补
- arkcli-billing -- 套餐结算金额(火山计费中心拆账,T+1)
- arkcli-deploy -- 套餐买好后用
+deploy 部署 endpoint
- arkcli-helper -- 给 AI Agent 注入 / 移除 Agent Plan 内置 MCP(
plans harness-status 只读查看,注入改动走这里)