SuperAPI AI Directory

arkcli-resources

Deployment & operations

View repository

Updated 10-16 08:08

About this skill

arkcli resources

CRITICAL — Before starting, MUST first use the Read tool to read ../arkcli-shared/SKILL.md, which contains the authentication gate, configuration troubleshooting, and command selection order CRITICAL — When the user has already seen Endpoint NotFound and also wants to verify the current full ID / historical usage, you must first switch to reading ../arkcli-infer-endpoint/SKILL.md, which is led by the infer endpoint list → usage stats --endpoint evidence chain. Do not just run resources resolve/list and then guess the ID suffix or claim it has been deleted.

Usage principles

  • arkcli resources domain is always read-only. Even if the user expresses a creation intent in the context of a resource list, you must first switch to reading ../arkcli-deploy/SKILL.md, and this Skill must not create, modify, or delete resources
  • The ordinary product intent of "deploy a model and obtain an Endpoint" continues to go through arkcli +deploy. This online workflow does not support Client Preview,must not execute arkcli +deploy --dry-run, and must not silently downgrade to low-level CRUD in order to obtain Preview
  • After switching to the Deploy Skill, first read-only verify the model, name, Region, configuration, and billing impact and restate them to the user; before receiving a new explicit confirmation for this round,must not execute the real arkcli +deployin the same round. The Agent is strictly forbidden from adding --yes、echo Y or setting ARKCLI_ALLOW_HEADLESS_ACTIVATION
  • Only when the user explicitly requests raw CRUD, an exact CreateEndpoint request, or a CI/script preview, switch to ../arkcli-infer-endpoint/SKILL.md, using the leaf command arkcli infer endpoint create ... --dry-run; after Preview is complete, a new confirmation is still required before real execution
  • arkcli resources list is a read-only real-time control plane query,hits upstream every time, with no local cache
  • The list is a resource discovery result and may be filtered by project, creator, and modality; an empty list or the current default not appearing in items does not mean the specified Endpoint does not exist or cannot be invoked.
  • When only read-only verifying identity or default resources, no exact resource ID is specified, and the list is empty, report the confirmed facts and information gaps, and end the verification; do not switch to profile show/list/keys listto fill in fields. An empty list is not authorization for configuration repair or Key synchronization.
  • arkcli resources resolve <ep-id> First determine the real binding according to endpoint_model_type . For a Custom Model Endpoint, the model_id / custom_model_id must maintain the cm-... identity, and the base model expresses lineage and capability source only through base_model_* ; do not guess the purpose from ID/model name substrings
  • Dispatch logic follows profile.Type: platform → ListEndpoints, agent-plan / coding-plan → the corresponding plan API
  • agent-plan-team The three modalities use the team seat Key + package model;coding-plan-team only text uses the team seat Key, while image/video can see the platform Endpoint but invocation still requires a pay-as-you-go API Key
  • resources list Distinguish "visible to the account" from "invocable by the current profile": read invocable and required_overrides, and do not assert that the current credential is usable just because an ID is visible
  • invocable=true only indicates Profile/resource type compatibility, and does not prove that the API Key is still valid, has permissions, or has quota. Credential ownership and real data plane invocation results must be verified separately; metadata cannot replace request success.
  • This skill is not responsible for changing the default — if the user wants to change the default, go to ../arkcli-profile/SKILL.md of profile set-default
  • --profile X True identity (P0-A correction): use X's token / UserID to hit the control plane, not the identity with active=A hitting it and then displaying it as B's resources

Applicable scenarios

  • The user asks "which endpoints / models are available under the current profile"
  • The user runs profile set-default and gets <id> 不在可用列表, come back here to see the real available IDs
  • The user runs +chat / +gen --model and gets InvalidEndpointOrModel.NotFound, come back here to confirm the ID is visible under the active profile
  • The user switched profiles and wants to know how the available resources under the new profile differ from the old one
  • The user only provides an Endpoint and does not know whether to go through +chat、+understand or +gen
  • The user passes an Endpoint + API Key but does not provide a Base URL, which needs to be derived from the Endpoint's authoritative region

Anti-trigger signals

  • The user wants to find a model / pick a model / "which model is the strongest / most cost-effective" → switch to ../arkcli-models/SKILL.md(with enrich + weighted ranking)
  • The user wants to create an endpoint → switch to ../arkcli-deploy/SKILL.md(arkcli +deploy); this round only does read-only verification, restatement, and confirmation, and does not execute directly
  • The user explicitly wants raw CreateEndpoint / CI / exact request preview → switch to ../arkcli-infer-endpoint/SKILL.md, using infer endpoint create --dry-run
  • The user wants to manage an endpoint(start / stop / get / update / list details) → switch to ../arkcli-infer-endpoint/SKILL.md
  • The user has already gotten Endpoint NotFound and wants to determine whether the ID is missing a suffix or whether it ever existed historically → switch to ../arkcli-infer-endpoint/SKILL.md; do not stop at single-point resolution of resources

Difference between resources and models

Dimension arkcli resources list arkcli models ...
Scope Discoverable resources and compatibility under the current profile Platform-wide foundation model catalog
Output endpoint ID(ep-xxx) or plan model name All foundation_model fields + ArkModels enrich
Dispatch Switch endpoint / plan / coding API by profile.type Generic ListFoundationModel
Cache None Has cache scope (profile/region/project)
Primary use Discover candidates, check Profile/resource type compatibility Find models, compare models, confirm capability

In short:resources list provides resource discovery and compatibility under the current Profile,models provides the platform model catalog; neither guarantees that a real data-plane call will succeed.

Agent quick execution order

  1. The user provided ep-... → arkcli resources resolve <ep-id> --format json, first read endpoint_model_type and model_id, then read supported_workflows / generation_modality / requires_user_intent
  2. Unsure of the current profile → arkcli auth whoami --format json, read the current identity and the available profile.name / profile.type; when fields are missing, diagnose according to the currently compiled product, do not guess the type.profile show/list may synchronize and write back the local Key inventory, and is not used as read-only admission before ordinary generation. During read-only verification,auth status / auth whoami / resources list execute only one complete ArkCLI command at a time and read the raw JSON and exit status; do not concatenate ; echo、head or redirect and then only check the exit code. When a command is rejected by the host, explain the gap, and do not treat the rejection as a fact about the account or resources.
  3. text resource → arkcli resources list --modality text --format json
  4. image / video resource → arkcli resources list --modality image --format json / --modality video
  5. Multi-profile comparison → run separately --profile A --modality text and --profile B --modality text
  6. Read each item's invocable / required_overrides;is_default: true only indicates the default preference, and does not guarantee that the current credential can invoke it
  7. When the already-specified current default / user-specified EP is not in the list, resolve the same EP under the same identity; verify region, Running status, target API/workflow/modality, and warnings, then verify Profile/Key data-plane compatibility. Do not bypass explicitly non-invokable items or required_overrides; do not create an EP merely because the list is empty, or silently switch models, Profile, or default.

Command overview

Command Description
arkcli resources list List the visible resources, data plane, and invocation compatibility for the specified modality under the current/specified profile
arkcli resources resolve <endpoint-id> Authoritatively resolve the Endpoint-bound model, modality, candidate workflows, and region

Output form

{
  "profile": "platform_cn-beijing_default",
  "type": "platform",
  "modality": "text",
  "items": [
    {
      "id": "ep-20260424-aaaaa",
      "resource_kind": "endpoint",
      "data_plane": "platform",
      "credential_kind": "paygo",
      "invocable": true
    }
  ],
  "current_default": "ep-20260424-bbbbb",
  "item_count": 1
}

is_default appears only when items[].id == current_default ;invocable=false view when required_overrides(for example ["api_key"]). Visible resources do not mean the current credential can invoke them.

resources resolve binding identity contract:

  • endpoint_model_type=CustomModel:model_id == custom_model_id == cm-...;base_model_* only describes the training lineage and capability metadata source; do not use base_model_id as a substitute for the real binding.
  • endpoint_model_type=FoundationModel:model_id is still the base model ID, and its existing semantics remain unchanged.
  • resolution_warnings remains fail-soft when non-empty; do not guess the binding on your own based on Custom/Foundation references that appear at the same time.

Common errors

  • coding-plan's image/video uses the platform Endpoint pool; verify the postpaid Key before invoking. When the list is empty, check the query scope/permissions; if there is already a precise target, resolve it first; creating a resource is a different user intent, so hand it off to the Deploy Skill and do not trigger it automatically from an empty list.
  • coding-plan resources list: 缺 AccountID (请先 arkcli auth login) → only the text path requires AccountID; if SSO is not logged in or claims.Sub is empty during token parsing, go through arkcli auth login volc-sso
  • ListEndpoints: NotLogin / Unauthorized → login state/STS expired / --profile X 's X has no token in the identity store; first auth login
  • unsupported profile type "X" for resources list → verify the current effective context according to the shared rules, then hand off to the Config/Profile Skill for troubleshooting; do not rebuild or modify the Profile without user intent.

Reference