arkcli agent:管理 ARK Managed Agents,包括 Agent / Skill / Env / Session / File / Memory Store / Vault / MCP OAuth。控制面优先走 ForTop/OpenTOP,Session 运行时和 Files 走数据面直联。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
查阅方舟官方文档,整理豆包模型接入教程、调用指南并输出文档或附件;用户没说“官方”或没给链接也适用。承接 ark.volcengine.com URL、/docs/ 路径、API 契约与必填字段,以及 CC Switch 等客户端的方舟图形配置说明,官方网页读取失败时可用。不用于账号资源查询、CLI 帮助、纯格式转换或付费模型代写。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
설치 방법 보기설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.
CRITICAL — 开始前 MUST 先用 Read 工具读取 ../arkcli-shared/SKILL.md,其中包含认证闸门、调用归因前缀与命令选择顺序。
CRITICAL — 执行任何 docs 命令前,MUST 先用 Read 工具读取 references/commands.md;遇到报错 MUST 读取 references/failure-modes.md。
arkcli docs 只做一件事:把方舟官方文档变成可引用的事实来源。它不是通用搜索引擎,也不是 arkcli 自身用法的说明书。
下文 docs ... / resources list 等是命令路径缩写。给用户或工具的命令必须包含 arkcli 可执行文件名,说明文字放在命令外。复用已经选定的 MCP 配置,不用示例 URL 或占位值覆盖;只有已知真实端点且确需显式传递时才带端点参数。
下一步只给当前可执行的命令。 URL、位置等参数尚未返回时,不把后续读取加入命令列表;条件和备选方案用文字说明。MCP 即使返回 total_chunks,也先读取 next_chunk_start 指向的单块,再依据新响应决定下一步。认证失败时,当前步骤转交 arkcli-auth;登录完成后才恢复 Docs。
调用归因示例中的 <agent-id> 必须替换成实际宿主名;未知时用 unknown_agent,不要把未引用的尖括号占位符交给 shell。
整理方舟/豆包接入教程、调用指南或配置说明,即使用户只说“整理成文档发给我”、没有官方链接,也先由本 Skill 核实产品事实,再交给宿主的文档/附件工具排版交付。先列所需主题,未给路径时搜索对应官方资料并读取正文;不能先根据账号资源或 Key 列表写完整教程再补来源。代码示例按需委托 arkcli-code-example,不把“生成文档”自动理解为付费调用模型写作。
明确的官方文档请求、第三方客户端 GUI 中的方舟接入步骤(如 CC Switch 选豆包)或其他 skill 委托的产品知识问题也由本 skill 承接;先按下方反唤起清单确认最终目标。只转换用户已给材料的格式不要求重新检索。不要把 docs 当成不知道该用哪个命令时的兜底入口。
问 CC Switch 里如何选豆包时,优先定位对应套餐的官方 Claude Code「使用 CC Switch」章节,核对 GUI 槽位、专属 Key、Base URL 和 Model Name;不能把通用第三方工具文档的 /api/compatible 当成 Coding Plan 或 Agent Plan 的默认地址。用户未说明套餐时,分别说明已核实的 Coding Plan、Agent Plan 与按量接入条件,再请其选定;当前套餐支持的豆包模型名用对应 arkcli plans model-list --plan <plan> 校准。该控制面查询若因宿主凭证失败,只能给标明来源与套餐的文档示例,不能宣称是当前账号实时可选清单。
按请求选择入口,再执行对应命令:
| 请求 | 首个业务命令 |
|---|---|
| 浏览文档目录,最多 N 条 | docs list --limit N;N 为 1–100,无需关键词 |
| 明确在文档目录中按标题、描述或路径包含关键词筛选,最多 N 条 | docs list --query "<关键词>" --limit N;数量是请求参数,不另取更多后挑选 |
给出 /docs/... 路径或文档 URL | docs get "<原路径或 URL>" --compact;路径直接支持,不补域名 |
| 列公开 API 契约、接口及标识 | docs apis list;api --list 仅列本机注册 Action,不能代替公开目录 |
| 读精确 OpenAPI schema 或必填请求字段 | docs apis list → docs apis spec --id "<返回的 id>" |
| 搜索官方文档中的关键词,或未提供路径的知识检索 | docs search "<关键词或问题>";每页 N 条用 --top-k N |
给定官方文档 URL 就直接读取,包括“读这篇”“总结链接”“查某节”;不先做通用搜索。
WebFetch 失败不代表正文不可用,同一个 URL 可交给 docs get 的公共文档链路。
用户要把接入教程整理成可下载文档时,先将所需主题列为交付清单;每段SDK示例按实际读取的SDK/版本核对import、调用方法、参数层级和输出字段,必要时读取../arkcli-code-example/SKILL.md。错误排查表的每一行须分别核对HTTP状态、产品返回的error.code及适用条件:没有产品错误码来源时,只能写已核实的HTTP状态或症状,不用通用HTTP名称拼出产品Error.Code,也不从邻近服务补写错误名、开通条件或固定时效。未找到依据的行删去或明确待核实,不能以教程需要“完整”而补造。
交付前读取实际保存的整份文档,逐项核验上述代码与错误表。把正文、表格和代码块中的模型 ID、版本号列成去重清单,与本轮工具结果或已读官方来源逐项对应;直接复制原始值,不凭日期、相近名字或记忆补版本。发现无来源的值就删除或换成明确占位,修正后重新读取文件确认所有出现位置一致。不同产品/协议的合法别名须分别保留来源,不能为了统一字符串把它们改成同一个 ID。文件大小、章节数量或格式能打开不代表事实校验通过。
保留实际来源链接,示例模板与已运行结果分开。整理官方资料不等于用户要求付费模型重新生成正文;用户明确指定模型生成时才交回arkcli-chat并遵守真实输出与长文交付流程。未运行的代码不能标为实测通过,真实API Key或其他凭证不得写进教程附件。
面向用户引用正文时,使用同一次正文读取返回的文档站 url,以文档标题为链接文字,并保留返回的章节锚点。source_url 是实际读取的 Markdown 来源,用于核对正文;仅在用户需要原始 Markdown 或版本取证时额外提供并明确标注。CLI 续读仍用 url 与 snapshot,不要把 source_url 传给 docs get。MCP 沿用返回的 url;仅有大纲不构成正文依据。
required、是否可省略、default 是三个不同事实:可选不等于有默认值;只有 schema 的 default 或已读官方正文明确声明时才写默认值,否则写“未声明”。oneOf / anyOf 及按 role 区分的对象必须逐分支表述:一个分支必填不等于所有对象必填,“A 或 B 至少其一”不能写成“A 必填”。用户只需顶层字段时,不扩写未经逐分支核对的嵌套规则。示例、客户端源码和 dry-run 不能代替官方请求 schema。docs list / docs search,核对返回的 items / results;保存到文件时先读回完整 JSON。第一页的 has_more、snapshot 和 next_offset 只能决定下一条命令,不能充当第二页内容。续页未完成就只报告已读页和缺口,不根据目录顺序或记忆补写条目。validation 或 not_found 后先读 error.hint。链接被拒绝时,若输入保留了 /docs/<slug>,优先用 docs list --query "<slug>" 确认当前目录;从当前产品 docs list / docs search 返回的 url 重新定位;不要改域名、猜 slug 或把旧 CDN source_url 反复传给 docs get。目录确认不存在时如实报告,停止重复读取同一路径。has_more=false,直接说明已读完并结束,不再执行 docs get/list/search;即使缺少完整原响应、正文或 snapshot,也不为补齐证据而重读,除非用户明确要求刷新或重新读取。只有 has_more=true 才用原样的 next_chunk_start 和 snapshot 续读。仅在确实仍有未读内容且原续读状态无法恢复时,才从第 0 块开始新读取并单独保存,不拼接不同快照。只解释已有字段和停止决定,不补写未观察到的网络请求细节。search 走签名的 OpenTOP Action(控制面,需要登录身份);list 读产品 CDN 已发布目录;火山公共后端 get 读页面同名 .md,旧 snapshot 续读仍走不可变 CDN Markdown。两者的后端、上线节奏、故障域都不一样。arkcli docs list --query "<原查询>" 在已发布目录里本地过滤,确认后再下结论。不要线性翻完全部目录。next_action 就是这条降级指引;搜索链路故障时错误里的 hint 字段同样给出降级路径。照它做,不要改成「换个搜索词再试十次」。InvalidActionOrVersion 后停止 search;没有后端已恢复的新证据,不在目录降级之后再次安排搜索。--query 只在标题、描述、面包屑、路径上做本地子串匹配,不是语义检索。过滤结果为空时,换词或去掉 --query 再看完整目录,然后才能说「当前公开文档未覆盖」。search --top-k N(1–50);目录每页 N 条用 list --limit N(1–100),沿返回顺序展示。关键词和页大小不改变入口选择;明确搜索时先 search,收到失败或零命中后才按规则降级。docs list;MCP 不支持 --query,也不保证搜索和读取独立可用。后端能力表见 references/commands.md。docs get 返回 not_found」是正常状态,不是 bug。snippet 当全文用来回答问题。snippet 是片段,不含前提、限制、完整代码。docs list 找到该主题的当前路径,或用别的搜索结果重试;拿不到正文就明确告诉用户「这篇文档当前读不到」。火山公共后端读取文档页面 URL 对应的同名 .md,常见排版已序列化为标准 Markdown:提示引用块、并列 Tab 小节和标准链接。Tab 是并列的替代方案,应按用户场景分别读取,不拼成一个流程。旧 snapshot 和部分内嵌内容仍可能保留文档站自定义排版标签;CLI 不自行降级。实测一篇 9 KB 文档里能出现几十个。你会遇到:
<Card>、<Columns>、<ColumnsItem>、<Tabs>、<Tab>、<Note>、<Tip>、<Warning>、<Danger>、<APILink>、<Attachment>、<RenderMd>、<span id="...">,以及尾部带 {target="_self"} 属性块的非标准内联链接。图片是绝对 CDN URL。
纪律:
alt 与普通正文同等重要;不要把 <Card> / <Tab> 标签本身当成代码示例、配置片段或命令。alt,保留需要的围栏代码块,不抄排版标签。--section 和分块边界会退化:自定义标签里的标题不是 Markdown AST 标题,可能触发 section_unavailable;超大 DSL 块也可能被从中间切断。遇到这两种情况,改读全文并顺序拼接 content。本节适用于公共后端。MCP 从一开始就用 arkcli docs get "<返回的 url>" --chunk-start <next_chunk_start> --chunk-count 1 --compact 续读,不传 snapshot,也不声称版本固定。每次只生成下一次读取,拿到新结果后再判断是否继续,不预排后面的块。
snapshot 固定目录版本、正文摘要和分块边界,是续读的唯一正确方式。同名 .md 更新或目录文档变化时,续读返回 snapshot_expired,必须重新开始,不能拼接新旧正文。--chunk-start > 0 时 snapshot 必填。has_more=true 才用返回的 next_chunk_start 续读;已到末尾就说明读完,不猜下一块。arkcli docs list / search 命令中读取 JSON;输出过大才按 references/commands.md 保存并读回完整 JSON、提取 snapshot 和下一位置。续页报错先逐字核对实际入参与原响应;抄错应纠正,不删 snapshot、不把错误定位符造成的 404 归因于 CDN 或 offset。list 翻页必须带同一个 snapshot,同时保留原 --query(如有);snapshot 不保存筛选条件。用 list 返回的 snapshot 去 get,读到的就是列表里那个版本。--section 必须同时带大纲返回的 --snapshot,保证锚点与正文来自同一发布版本。--section "#<返回的 section.id>",使用章节读取返回的新 snapshot 和 next_chunk_start。不能继续使用大纲的整页 snapshot,也不能省略 section 后按整页偏移读取。尚未拿到章节响应时,只安排首块章节读取。snapshot_expired 时从头重取(去掉 --snapshot,--chunk-start 回 0),不要猜 offset、不要拼接不同版本的内容。--section 返回的是章节 snapshot,绑定到具体章节:不能拿它读另一个章节、另一篇文档,也不能喂给 docs list。换章节就去掉旧 snapshot 从 chunk 0 重开。score 不能设绝对阈值score 是检索后端原始分数透传,没有归一化保证,不同查询之间不可比。total 配 total_scope(当前恒为 candidates):它是有界候选集里的唯一文档数,不是全库命中数。要说「一共有多少篇」只能用 docs list 的 total。has_more=true:带同一个 --snapshot 并把 next_offset 作为 --offset 翻页。不带 snapshot 翻页会重新检索并错位,CLI 会直接拒绝。搜索 snapshot 约 5 分钟过期,过期报 snapshot_expired,从第一页重来,不要拼接不同批次。docs apis list / apis spec 读公开 API schemalist 的 apis[] 是可枚举清单,里面的 id / path 是索引里的真实值。spec 的 content 是那一条 OpenAPI JSON。list 返回的 id 跑 spec --id(全局唯一)。--service 是文件名分组(chat、endpoints),多数分组不唯一;命令拒绝时改用 --id 或索引里的 --api-path。不要自己猜路径。docs apis list --transform 'apis.#.id' 缩小输出,再从返回值选择 --id。完整目录或 schema 被 Agent 截断时,读取工具保存的输出文件核实所需字段,不能用示例里的 ID 或截断预览代替。id、service、operation_id、method、path,使用 references/commands.md 的目录解析示例。总数用 len(apis)、分组数从完整数组计算;不从压缩后的回复估数,不按名字拆分推断 service,不把多个 ID 拼成并不存在的 CRUD 组合。摘要需明确是摘要,展示的 ID 保持完整可复制。apis[] 记录并原样保留,包括 method 与 path。只有所有记录的五列均已交付才称为「完整清单」;较长时用目录解析示例生成 TSV 并给出文件位置,不用缩写、通配符或手写组合重建目录。content 中目标 operation 的 requestBody、对应 schema 的 required 与引用到的定义。只有响应 schema 的预览不足以回答;先读保存的完整输出再解析内层 JSON,没有读到就明确说明证据不足。apis spec 当前不返回文档站地址。需要提供参数文档链接时,按接口名或标题用 docs search / docs list 定位,再用 docs get 核对是同一接口及对应参数页,引用其 url。api_path 是请求路径,不能当文档链接;未找到对应页面时说明缺口,不拼造 URL,也不把仅由 schema 确认的细节归给未核实的正文。messages,不能称 model 也已由正文确认。示例中出现字段不能证明必填。schema 内的 externalDocs.url 只是候选入口;未经同一产品 docs get 核对对应参数页,不把它作为已验证页面额外附给用户。references/commands.md 的 Python 管道示例输出请求结构与必填字段。spec 没有 --output 参数;--transform 只投影外层字段。content 是 JSON 字符串,须 json.loads 后读取,不能因其不是 dict 就停止。保存到文件后也必须读取并输出相关结构;文件大小或外层 keys 不是请求字段证据。search 仍走 OpenTOP,list 仍读文档 CDN,火山 get 读取页面同名 .md。不要为了 API 契约去改这两条链路。--api-mcp-url、ARK_DOCS_API_MCP_URL、--docs-mcp-url、ARK_DOCS_MCP_URL、ARK_MCP_URL 任一存在时,apis 改走 MCP,不再读公开目录;MCP 不支持 --id。arkcli-auth;停止业务重试并读取 ../arkcli-auth/SKILL.md。已有登录授权时按 Auth Skill 在同一环境执行两段式 --no-browser;没有授权码时只执行第一阶段并等待,不提前给出带占位授权码的第二阶段命令,完成后恢复原 Docs 请求。不擅自运行 config init,不索要检索后端密钥,不把认证失败说成「文档功能不存在」。--compact 优先,避免正文双份。search。docs list --query "<原查询>";MCP 用普通 docs list。--outline 看结构,再用返回的 id 和 snapshot 走 --section。docs apis list → 公共目录用返回的 id;MCP 用返回的 service 或 api-path。ARKCLI_NO_UPDATE_NOTIFIER=1 ARKCLI_CALLER_TYPE=ai_agent ARKCLI_CALLER_NAME=<agent-id> ARKCLI_SKILL_NAME=arkcli-docs \
arkcli docs search "怎么降低首 token 延迟" --top-k 5
ARKCLI_NO_UPDATE_NOTIFIER=1 ARKCLI_CALLER_TYPE=ai_agent ARKCLI_CALLER_NAME=<agent-id> ARKCLI_SKILL_NAME=arkcli-docs \
arkcli docs get "<search 返回的 url>" --compact --chunk-count 1
搜不到或搜索失败时,用目录本地过滤,不要线性翻完全部文档:
ARKCLI_NO_UPDATE_NOTIFIER=1 ARKCLI_CALLER_TYPE=ai_agent ARKCLI_CALLER_NAME=<agent-id> ARKCLI_SKILL_NAME=arkcli-docs \
arkcli docs list --query "首 token 延迟" --limit 20
长文档先看大纲再定向取章节,比盲拉正文块便宜:
ARKCLI_NO_UPDATE_NOTIFIER=1 ARKCLI_CALLER_TYPE=ai_agent ARKCLI_CALLER_NAME=<agent-id> ARKCLI_SKILL_NAME=arkcli-docs \
arkcli docs get "<search 返回的 url>" --outline
search 返回的 URL 若带 #锚点,默认 get 仍读整页。要只读一节,优先用 --outline 返回的 id——搜索锚点在整页命中时是文档 H1 的 slug,不在大纲里,直接喂给 --section 会报 section_not_found:
ARKCLI_NO_UPDATE_NOTIFIER=1 ARKCLI_CALLER_TYPE=ai_agent ARKCLI_CALLER_NAME=<agent-id> ARKCLI_SKILL_NAME=arkcli-docs \
arkcli docs get "<search 返回的 url>" --section "#<headings 返回的 id>" --snapshot "<outline 返回的 snapshot>" --compact --chunk-count 1
search:results[] 含 title / url / snippet / score / source,以及可选 breadcrumbs / updated_at;顶层有 query、next_action,以及翻页用的 snapshot、total、total_scope、has_more、next_offset。
list:items[] 含 title / url / description / breadcrumbs;顶层有 total(当前目录可见文档数,不是搜索候选数)、has_more、next_offset、revision、snapshot、next_action。
get:title、breadcrumbs、url(面向用户引用的文档站地址,也是 CLI 文档定位地址)、source_url(正文读取实际使用的 Markdown 来源,用于取证核对)、content、chunks[]、total_chunks、has_more、next_chunk_start、revision、snapshot、next_action,以及用了 --section 时的 section{id,title}。--compact 只输出一份正文在 content,省掉 chunks 和 raw_text,其余引用/续读字段全保留。
get --outline:返回 headings[](每项 id / title / level)和引用、snapshot 元数据;content 为空字符串,省略 chunks,不下载正文。headings[].id 就是发布侧锚点,可直接作为 --section "#<id>"。
breadcrumbs 已经剥掉发布侧的根节点(原始数据首项恒为「根目录」,英文文档也一样),所以 search、list、get 三处的面包屑口径一致,第一项就是真实的一级栏目。
出现下面任一情况,不要用 arkcli docs:
| 用户实际在问 | 正确去向 | 为什么不是 docs |
|---|---|---|
调某个原始 OpenAPI Action、构造 --params | arkcli-api-explorer(arkcli api <Action>) | docs 是文档,不是 Raw API 调用通道 |
| 有哪些模型、模型参数 / 上下文 / 模态 | arkcli-models(models search / models get) | 模型广场是结构化事实源,文档散文不是 |
| 我这个账号 / profile 现在能用哪些模型和 Endpoint | arkcli-resources(resources list) | 可用性是账号态,文档里查不到 |
| 我的调用为什么慢 / 报错 / 失败率高 | arkcli-doctor | 诊断要读实时指标,不是读文档 |
| 把 skill 装到本地 Agent、连接 Agent | arkcli +connect(arkcli-shared) | 安装动作与文档检索无关 |
| 我现在登录的是谁、用的哪个 profile / project / region | arkcli-auth 或 arkcli-profile | 本机状态不在文档里;docs 也不做认证预检 |
| 给我一段能跑的调用代码 | arkcli-code-example(arkcli +code-example) | 代码示例有专门的结构化接口 |
| 某个 arkcli 命令怎么用、有哪些 flag | arkcli <命令> --help 或该命令的 owning skill | CLI 自身用法以 help 为准,文档站可能滞后 |
| 与方舟无关的通用检索(天气、新闻、第三方库文档) | 宿主自带的 Web 工具 | docs 只索引方舟官方文档 |
补充边界:
references/commands.mdreferences/failure-modes.mdreferences/evals.md아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.
로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.
아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.
arkcli agent:管理 ARK Managed Agents,包括 Agent / Skill / Env / Session / File / Memory Store / Vault / MCP OAuth。控制面优先走 ForTop/OpenTOP,Session 运行时和 Files 走数据面直联。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Inspect or invoke locally registered ArkCLI actions when product commands cannot cover a task. Use for registry errors or exact raw payloads. Not for public API catalogs or OpenAPI schemas.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
arkcli 认证管理:交互式登录、Volc SSO 登录、查看状态、退出登录、生成 ARK API Key (apikey)、以及云开发机/CI 用 `arkcli init-volc` 从 VOLC_INIT_* 环境变量无交互引导 platform profile。0.1.16 起 SSO 登录走 Gate 1+2 自动绑定 Profile 切面 (type/region/project/owner_trn);AK/SK login 通道暂关。当用户需要初始化凭证、排查鉴权问题、切换认证方式、生成或重选 ARK API Key、或在已注入凭证的环境无交互引导时使用。反触发:用户问 TTS/ASR/语音模型能力、接入或调用时,不要引导 `auth apikey`,只转 models search 说明 arkcli 当前仅支持广场发现。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
查询火山引擎 ARK 拆分账单明细(结算金额、Token 用量计费),支持按账期月、月范围、Endpoint、API Key、产品编码等维度过滤。当用户问账单、花了多少钱、对账、账期、按 EP / API Key 拆账、按产品拆账、月度账单、出账明细时使用。注意 billing 跟 usage stats 不同:stats 出推理量(近实时),billing 出结算金额(T+1 出账,财务口径)。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
模型 API 用法、思考模式开关与强度、Chat/Responses 参数和 SDK 示例,以及 arkcli +chat 真实推理。询问如何配置时按具体模型版本与协议给最小示例;已有报错先核对原请求,不用新推理或新建凭证代替取证。明确要求真实模型输出时,支持多模态、流式、多轮与本地 dry-run;专项理解走 arkcli-understand。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
arkcli +code-example:为指定基础模型生成多语言(Python / Go / Java / Node / curl)调用示例代码并写入本地文件。数据源是火山方舟 OpenTOP OpenGetSampleCode。当用户需要拿某个基础模型的 SDK / curl 调用示例、保存为本地接入模板时使用。反触发:TTS/ASR/语音模型没有 arkcli 示例代码路径,不能靠补版本解决,只能转 models search 说明当前不支持。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.