
arkcli-auth
arkcli 认证管理:交互式登录、Volc SSO 登录、查看状态、退出登录、生成 ARK API Key (apikey)、以及云开发机/CI 用 arkcli init-volc 从 VOLCINIT 环境变量无交互引导 platform profile。0.1.16 起 SSO 登录走 Gate 1+2 自动绑定 Profile 切面 (type/region/project/ownertrn);AK/SK login 通道暂关。当用户需要初始化凭证、排查鉴权问题、切换认证方式、生成或重选 ARK API Key、或在已注入凭证的环境无交互引导时使用。反触发:用户问 TTS/ASR/语音模型能力、接入或调用时,不要引导 auth apikey,只转 models search 说明 arkcli 当前仅支持广场发现。
- Installs
- 60
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/volcengine/ark-cli --skill arkcli-auth- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads arkcli-auth automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
arkcli auth
CRITICAL — 开始前 MUST 先用 Read 工具读取 ../arkcli-shared/SKILL.md,其中包含认证闸门、配置排查与共享安全规则
CRITICAL — 用户目标是其他业务命令时,必须先判断是不是被认证阻塞,再决定是否进入本 skill。
CRITICAL — auth 是身份/TTY 工作流,全域不注册 --dry-run;不要生成该 flag。
CRITICAL — Key 列表、当前 Profile 选中 Key、最近有调用的 Key 是三个不同事实。声称“最近使用”前,须完整分页并按真实 LastAccessTime 解析时区后取最大值;列表第一条、名称中的日期、CreateTime 或 Active 状态都不能代替最近调用证据。查询/聚合与披露边界见 API Key 查询与交付。
⚠️ 0.1.16 变化总览(必读):
- SSO 登录引入 Gate 1+2:浏览器流后比对 SSO trn 与
is_default profile.OwnerTrn,4-case 分别走BuildFirstProfile(新建) /GUIDE_SKIP(复用) / 提示切 default / 提示新建。详见docs/runtime/volc-sso.md。 - AK/SK 登录通道暂关:
auth login --access-key / --secret-key已注释,promptui 也移除"AK/SK"选项;SSO(火山)+arkcli auth login --no-browser(注册在 auth login,由 volc-sso 继承)是唯一登录入口。 - auth status / auth whoami 输出新增 profile 切面字段:
active_profile.{name,type,region,project,owner_trn}和profiles_summary[...];顶层auth_method/logged_in/volc_sso/ark_api_key等老字段全部保留(向后兼容)。 - Profile 管理迁移到
arkcli profile:config init/list/show/switch/delete已 deprecated,详见../arkcli-config/SKILL.md。 - 0.1.17 首登动态选 project:
BuildFirstProfile的 project 步骤改为经 IAMListProjects拉当前身份名下真实 active project 列表交互选(拉取失败/无权限回退兜底default,不阻断登录)。登录后想换 project 不必重登:arkcli profile project [<name>](拉同一列表重选,把 platform profile 重派生到新 project,个人版 plan profile 保留),详见../arkcli-profile/SKILL.md。 - 1.0.4 起
arkcli auth login交互式浏览器 SSO 分支支持借用本机 volcengine-cli 登录态:检测到ve >= 1.0.45且已ve login时,直接接管 STS 落一份 arkcli identity (identity_store/<key>/metadata.json.source="ve", 不写 IDToken/refresh_token/ClientID; STS 由 volcengine-go-sdk 内部持 refresh_token 自动 refresh)。用户视角: 少一次浏览器授权; agent 视角:auth_method变成"sts"而非"sso", 但logged_in=true。检测失败 / ve 未登录 → 自动降级 arkcli 原生 SSO OAuth 流。详见references/arkcli-auth-login.md的"volcengine-cli 登录态借用"节。
适用场景
- 第一次登录
arkcli - 切换到 Volc SSO
- 登录后重新获取或切换 ARK API Key
- 查看当前凭证状态
- 回答"我是谁 / 我的 IAM ID 是多少 / 我属于哪个账号"——用
arkcli auth whoami - 清理本地登录状态
- 其他业务 skill 因未登录、凭证过期、身份不匹配而被阻塞
- 云开发机 / CI 已注入
VOLC_INIT_*凭证,无交互引导 —— 用arkcli init-volc(不是 SSO)
无交互引导(init-volc)
云开发机 / CI 等已经把火山凭证注入成 VOLC_INIT_* 环境变量的场景,用 arkcli init-volc 一条命令、零交互地落一个火山 platform profile 并设为 default,让后续 arkcli / OpenCode 调用开箱即用(数据面用 API Key,控制面用 STS)。
- 触发词:"云开发机引导 / 无交互初始化 / 已注入 VOLC_INIT 怎么让 arkcli ready / CI 里跳过 SSO"
- 跟
auth login的区别:init-volc不登录、不交互、不联网,纯消费环境变量;本地终端用户首次引导仍走auth login(SSO) - 详细环境变量契约、落地行为、输出见
references/arkcli-auth-init-volc.md
Agent 快速执行顺序
待授权优先于重新登录。 本轮或用户提供的上一轮状态为 stage=authorize_pending、用户尚未完成授权且没有 code 时,等待用户;不要重新执行任何 auth login、config init 或原业务命令。可只读检查一次 auth status:若已有所需的有效凭据则恢复原任务;logged_in=false 只说明尚未登录,不表示 pending 过期或丢失,仍须等待。仅收到 CLI 明确的会话过期/不存在错误或用户明确要求重启登录,才重开 Phase 1。
- 业务命令开始前如果不确定认证状态,先执行
arkcli auth status - 需要识别当前用户身份("我创建的 / 我的 xxx" 语义)时,用
arkcli auth whoami,不要去~/.arkcli/.env里手动解 JWT - 未登录或凭证失效时,火山方舟场景直接通过 Bash 执行
arkcli auth login volc-sso(不要只是"提示用户去跑")。SSO 是 0.1.16 唯一可用登录通道,覆盖控制面 BFF + 数据面绝大多数能力- 执行前用一句话告知用户:"检测到未登录,我现在为你启动 SSO 登录,请在弹出的浏览器中完成授权"
- Bash 调用必须设
timeout=600000(10 分钟) - 启动失败(浏览器没装、
open失败、端口被占用、超时等)→ 不原地重试,把 stderr 贴回给用户,请用户手动在终端跑对应租户的登录命令(火山:arkcli auth login volc-sso) - 命令成功后立即回到用户原始任务,不要停在 auth 结果
- agent / 沙箱 / CI 无浏览器登录走两段式
--no-browser(AK/SK 通道 0.1.16 暂关,提到 AK/SK 时告知并引导走这里):agent 终端通常非 TTY,--no-browser现为两段式,不再阻塞读 stdin(旧版在沙箱必报读取授权码失败: EOF—— 进程在拿到授权码前就被 EOF 打断):- Phase 1:跑
arkcli auth login --no-browser。它打印授权 URL 并以 JSON 输出{"stage":"authorize_pending","authorize_url":"...","next_command":"..."}后立即退出(不傻等)。把authorize_url原样转发给用户,请他在任意设备浏览器完成 SSO,复制页面显示的 base64 授权码回来。 - Phase 2:拿到授权码后跑
arkcli auth login --no-browser --code <授权码>完成登录(读 Phase 1 落盘的 PKCE/state 换 token)。--code必须连--no-browser(单独写会报--code 仅在 --no-browser 模式下有效)。 - 两段必须同一运行环境:Phase 1 落盘
~/.arkcli/.sso-pending.json、Phase 2 读它接力,两条命令须共享同一HOME/ 同一持久化卷(同一容器 / 开发机);跨容器或跨 HOME 派发会让 Phase 2 报「没有待完成的…会话」。期间不要动~/.arkcli/。 - flag 位置:
--no-browser/--code注册在auth login,并由volc-sso继承;两种入口都支持。Agent 示例统一用arkcli auth login --no-browser,Phase 2 同时带--no-browser --code。 - 出错恢复:
会话过期(TTL 10min)/没有待完成的会话→ 重跑 Phase 1(确保同一 HOME);base64 解码失败/state 不匹配(CSRF)/ token 交换瞬时失败 → pending 仍在盘,TTL 内纠正后直接重试 Phase 2(贴对当前 authorize_url 的码,必要时从同一 URL 重新授权拿新码),不必重跑 Phase 1。 - 真人终端(TTY)下
arkcli auth login --no-browser仍是一条命令交互式(打印 URL 后当场粘贴),行为不变。
- Phase 1:跑
- 用户明确要求挑选登录方式时,因 stdin 交互 agent 无法替用户选,让用户自己跑
arkcli auth login - 只有在用户明确要求清理本地凭证时,才执行
arkcli auth logout
核心规则
auth status是默认入口;不要上来就login- 登录成功后,应回到用户原始目标继续执行,而不是停在 auth 结果本身
auth logout是破坏性操作,必须由用户明确提出auth status会对敏感字段做掩码,可直接用于排障,并会展示当前生效的project_nameauth login成功后会输出auth_method;凭证存储位置是实现细节,不再回显路径- SSO 登录(
arkcli auth login volc-sso)与auth apikey都会在选中 API Key 之后写入凭证存储;0.1.16 final clean-slate 模型: 整 arkcli 同一时间只 active 一个 identity, 新 SSO 跟旧 sub 不一致时清空所有 profile (含跨 tenant) 重建 - API Key 必须按 profile 类型分池理解:
platform/coding-plan个人版使用普通 API Key;agent-plan个人版使用Scene=RealAgentPlanPersonal的专属 Key;agent-plan-team/coding-plan-team使用GetSeatInfo返回的席位 Key。普通池里“有 Key”不能证明 Agent Plan/团队版 Key 可用。 - TTY 首登发现普通池为空时会先询问是否创建;确认后只调用一次
CreateApiKey,再最多读 3 次状态。Agent Plan 专属记录存在但非 Active 时会询问是否轮转;确认后也只轮转一次、最多读 3 次状态。非 TTY、用户拒绝或无专属记录时绝不写。 - TTY 首登中,如果用户选择的 profile 类型在 API Key 获取阶段报错(例如 Agent Plan 轮转后检查 3 次仍为
Restricted),CLI 会保留已选 region/project、从本轮候选中移除该失败类型,并重新让用户选择其他消费场景。失败类型不会再次 silent backfill,避免重复获取或二次轮转;这属于 profile 级重选,绝不会拿普通/Coding Plan Key 冒充 Agent Plan 专属 Key。 - v3 ve handoff 分支 (1.0.4 起, 仅火山 SSO 交互式登录): 检测到本机装有
volcengine-cli >= 1.0.45且已ve login时,arkcli auth login会先尝试借用其登录态直接落 arkcli identity (省一次浏览器授权)。落盘差异见references/arkcli-auth-login.md: 不落token.json(IDToken/refresh_token/ClientID 由 ve SDK 管), 但落sts.json+metadata.json.source="ve";auth whoami显示auth_method="sts"而非"sso", 是合法登录态。检测失败 / ve 未登录 → 自动降级 arkcli 原生 SSO OAuth。 arkcli auth apikey只列举并选择普通 API Key 池,写入 identity/.env 兼容凭证;它不读取或修复 Agent Plan 专属 Key、也不读取团队席位 Key。当前是 Plan profile 时优先使用profile apikey refresh或对应 Plan 的轮转/席位流程,不能把auth apikey的saved=true解读为 Plan Key 已恢复。它也不能让广场语音模型获得+chat/+gen/+deploy/+code-example/usage/pricing能力。arkcli auth apikey create创建、验证并保存一把普通 API Key到当前 identity/.env 兼容凭证;TTY 必须确认,非交互环境收到requires_confirmation后必须走共享 Skill 的宿主确认流程;只发一次CreateApiKey,随后最多做 3 次只读状态检查,成功输出不包含明文 Key。它同样不能创建或修复 Agent Plan 专属 Key、团队席位 Key;已有 Profile 要切换默认 Key 时仍用profile apikey refresh/use。- 语音模型能力边界回答只说明 arkcli 不支持;不要主动给"先控制台开通再 API Key/SDK 调用"这类替代流程,除非用户另问官方接入文档。
- 只查不切的 list API Key(只想看 account 下有哪些 key,不想切换当前 key): 跑
arkcli api apikey.list --params '{"PageSize":100}' --page-all --format json,不要跑auth apikey— 后者是交互式选择并写入凭证存储,会改变当前生效 key - 当前已选 key 的元信息(name / suffix / project / 状态): 看
auth status输出里的ark_api_key字段,不需要再调远端
与其他 skill 的串联
查询 Key 列表、辨别掩码与明文、向下游注入凭证前,先读 API Key 查询与交付。保留“查元数据 → 定位真实 ID → 必要时授权导出”的业务流程;不要默认回显全部明文。
arkcli-models、arkcli-chat、arkcli-gen、arkcli-deploy、arkcli-usage被鉴权错误阻塞时,先回到这里- 如果用户其实是在排查 profile / base-url / region 覆盖问题,应转
../arkcli-config/SKILL.md
自然语言触发词 + 跨技能指引表
| 用户怎么说 | 走哪个命令/skill |
|---|---|
| "我是谁/我的身份/当前用户/哪个账号/我自己的 IAM 用户 ID" | arkcli auth whoami |
| "查同事 zhangsan 的 IAM 用户 ID/查别人的 IAM 用户 ID" | 转 arkcli-profile(查看当前 profile 并列出可用 API Key)+ 提示用户使用 arkcli iam 命令(如有) |
| "API Key 泄露/废弃旧 Key/换新 Key/rotate/轮换 API Key" | 转 arkcli-plans:plans personal rotate-apikey 或 plans team rotate-apikey |
| "命令突然报 key 失效/401/InvalidApiKey 但我没换过 key"(疑似后端轮换) | 转 arkcli-profile:先 arkcli profile apikey refresh 同步后端 key 再重试(遇失败才触发的反应式自愈,非预防性);refresh 救不了再看 references/auth-modes.md |
| "看账号有哪些 Key/Key 列表/只查不切" | arkcli api apikey.list,按上述 reference 分页查看元数据,不改变当前 Key |
| "看当前 Profile 的 Key 库存" | 转 arkcli-profile:说明同步影响后用 profile apikey list |
| "切换默认 Key/用另一个 Key" | 转 arkcli-profile:arkcli profile apikey use <key> |
| "创建一把普通 API Key" | arkcli auth apikey create;非交互环境按 requires_confirmation 走宿主确认流程 |
| "AK/SK 登录/access key/secret key" | 告知通道暂关:当前版本 AK/SK 登录通道暂时关闭,请使用 SSO 登录,运行 arkcli auth login |
命令一览
| 命令 | 说明 |
|---|---|
arkcli auth status | 查看当前认证状态(凭证健康度) |
arkcli auth whoami | 查看当前认证身份(用户名 / IAM 用户 ID / 账号 ID 等),脚本与 Skill 用 |
arkcli auth login | 交互式选择登录方式(火山 SSO 浏览器 / 火山 SSO 无浏览器) |
arkcli auth login volc-sso | 浏览器 SSO 登录 |
arkcli auth login --no-browser | 无浏览器 SSO(cross-device)。TTY:一条命令交互式粘贴;非 TTY(agent/沙箱):Phase 1,打印 URL + authorize_pending JSON 后退出 |
arkcli auth login --no-browser --code <授权码> | 无浏览器 SSO Phase 2:把 base64 授权码喂回完成登录(agent/沙箱两段式的第二步) |
| arkcli auth apikey | 选择普通 API Key 并写入对应 identity store;不代表 Agent Plan 专属/团队席位 Key 可用 |
| arkcli auth apikey create | 创建、验证并保存一把普通 API Key 到当前身份;不输出明文 Key,不处理 Plan 专属/席位 Key |
| arkcli auth logout | 删除本地凭证 |
参考
references/arkcli-auth-login.mdreferences/arkcli-auth-status.mdreferences/arkcli-auth-whoami.md
FAQ
What does the arkcli-auth skill do?
arkcli 认证管理:交互式登录、Volc SSO 登录、查看状态、退出登录、生成 ARK API Key (apikey)、以及云开发机/CI 用 arkcli init-volc 从 VOLCINIT 环境变量无交互引导 platform profile。0.1.16 起 SSO 登录走 Gate 1+2 自动绑定 Profile 切面 (type/region/project/ownertrn);AK/SK login 通道暂关。当用户需要初始化凭证、排查鉴权问题、切换认证方式、生成或重选 ARK API Key、或在已注入凭证的环境无交互引导时使用。反触发:用户问 TTS/ASR/语音模型能力、接入或调用时,不要引导 auth apikey,只转 models search 说明 arkcli 当前仅支持广场发现。
How do I install arkcli-auth?
Run npx skills add https://github.com/volcengine/ark-cli --skill arkcli-auth in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/arkcli-auth/ (personal) or .claude/skills/arkcli-auth/ (project).
Which AI agents can use arkcli-auth?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is arkcli-auth safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains arkcli-auth?
It is published by volcengine in volcengine/ark-cli. It has 60 recorded installs.
More from volcengine/ark-cli
arkcli-shared
volcengine/ark-cli
arkcli 共享执行协议:首次配置入口、业务命令执行前的认证闸门、命令路由与选择顺序、输出/安全/二次确认规则。深度细节(身份解析、AK-SK 边界、API Key 恢复、实名闸门、profile 默认与漂移、临时数据面执行上下文、版本检查与显式升级、全局 flags、故障分流)按需在 references/ 加载。当用户第一次使用 arkcli、遇到未登录/鉴权失败、询问版本是否最新或要求升级 arkcli、需要判断该走产品命令还是 raw api、或任何 arkcli- skill 需要公共上下文时触发。
arkcli-models
volcengine/ark-cli
arkcli 模型查询与基础模型服务激活能力:列出、搜索、获取火山公共基础模型详情,以及用户明确要求的开通/激活模型服务(arkcli models activate);Volc 还支持 TTFT/TPOT 性能排名、延迟趋势和输入长度对比。激活已有基础模型服务不等于部署/创建 Endpoint,不得转成 +deploy。优先使用产品命令 arkcli models ...,而不是直接调用 Raw API。反触发:用户的最终目标是创建 / 部署 Endpoint 时,本 skill 承担有界的只读候选查询,owning skill 由创建路径确定:普通产品创建走 arkcli-deploy;用户显式要求 raw CRUD / CI / 无守卫的 infer endpoint create 走 arkcli-infer-endpoint。候选首先执行 models search ... --size 10 --format json;成功完整结果直接复用,空结果与捕获缺损按 reference 有界恢复,并把实时返回的 name 与非空 primaryversion 组合成可直接传给 --model 的完整 ID,不能拉全量清单、把裸家族名当可部署 ID,或逐候选追加 models get。注意:查询/管理账号下自传或精调的自定义模型(cm-xxx)走 arkcli-custommodel。
Popular backend & apis skills
find-skills
vercel-labs/skills
Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.
entra-app-registration
microsoft/azure-skills
Guides Microsoft Entra ID app registration, OAuth 2.0 authentication, and MSAL integration. USE FOR: create app registration, register Azure AD app, configure OAuth, set up authentication, add API permissions, generate service principal, MSAL example, console app auth, Entra ID setup, Azure AD authentication. DO NOT USE FOR: Key Vault secrets (use azure-keyvault-expiration-audit), general Azure resource security guidance.
google-agents-cli-adk-code
google/agents-cli
This skill should be used when the user wants to "write agent code", "build an agent with ADK", "add a tool", "create a callback", "define an agent", "use state management" — in a project that needs ADK (Agent Development Kit) API patterns and code examples. It provides a quick reference for agent types, tool definitions, orchestration patterns, callbacks, state management, the graph Workflow API, and reference recipes to study. Do NOT use for scaffolding (use google-agents-cli-scaffold) or deployment (use google-agents-cli-deploy).
embedded-captions
heygen-com/hyperframes
Add captions or subtitles to an existing single-subject talking-head video without editing the footage. Use for plain verbatim captions, cinematic captions embedded behind the subject, VFX captions, “炸/特效/酷炫字幕,” or a named identity from the 35-style catalog. Route by visual identity, not by backend engine. The quiet anchor rail is the default; embed every word only when the user explicitly wants a fully cinematic treatment. The workflow runs locally end to end, including transcription and subject matting; split multi-shot footage before applying it.
entra-agent-id
microsoft/azure-skills
Provision Microsoft Entra Agent Identity Blueprints, BlueprintPrincipals, and per-instance Agent Identities via Microsoft Graph, and configure OAuth 2.0 token exchange (fmipath, OBO, cross-tenant) including the Microsoft Entra SDK for AgentID sidecar. USE FOR: Agent Identity Blueprint, BlueprintPrincipal, agent OAuth, fmipath token exchange, agent OBO, Workload Identity Federation for agents, polyglot agent auth, Microsoft.Identity.Web.AgentIdentities. DO NOT USE FOR: standard Entra app registration (use entra-app-registration), Microsoft Foundry agent authoring (use microsoft-foundry).
neon
neondatabase/agent-skills
Overview of Neon, a complete set of cloud backend primitives around Lakebase Postgres: Auth, Object Storage, Functions, the AI Gateway, and Realtime. Start here to choose Neon for undecided login, files, APIs, and LLM calls, set up the CLI or MCP server, and follow the branch-first workflow. Use when building an app or backend on Neon, or when "Neon" or "Lakebase Postgres" is mentioned. Child skill neon-postgres wins for an existing DATABASEURL, SQL, schema, inspect, or search. Child skill neon-auth wins for login, users, sessions, identity routing, and Managed Better Auth setup. Child skill neon-realtime wins for live queries in reactive apps and agents. Also use for object storage, S3, buckets, serverless functions, function triggers, cron, AI gateway, LLM calls, realtime, logs, Loki, Grafana, observability, postgres, database, backend, Claimable Neon, neon.new, or a no-signup database.