使用阿里云CLI(API 版本 2024-03-30)操作阿里云云监控服务(CMS)的 AgentLoop ContextStore,适用于用户提及云监控时。
This skill operates ContextStore resources under Alibaba Cloud CloudMonitor Service (CMS) AgentLoop. ContextStore persists long-running agent context in two store types:
memory: user preferences, facts, episode summaries, and conversation-derived memories.experience: troubleshooting or task execution experience summarized from agent traces.Architecture: Aliyun CLI + CMS AgentLoop + ContextStore + optional source Log Service project/logstore + store-level API Key.
Always confirm the target store contextType before data operations. Memory and experience stores share the same CLI product and subcommands, but their write schemas, filter field paths, and formatted outputs are different.
Pre-check: Aliyun CLI >= 3.3.3 required
Run
aliyun versionto verify >= 3.3.3. If not installed or version too low, runcurl -fsSL https://aliyuncli.alicdn.com/setup.sh | bashto install/update, or seereferences/cli-installation-guide.mdfor installation instructions.
bash
aliyun version
Pre-check: Aliyun CLI plugin update required
[MUST] run
aliyun configure set --auto-plugin-install trueto enable automatic plugin installation. [MUST] runaliyun plugin updateto ensure that any existing plugins are always up to date.
bash
aliyun configure set --auto-plugin-install true
aliyun plugin update
Pre-check: CMS plugin >= 0.2.4 required
ContextStore subcommands and correct typed-value handling for
experience/metadata/config.metadataFieldrequire the CMS plugin at version0.2.4or later. Earlier versions silently coerce nested numbers, booleans, arrays, and null values to strings. Verify and install if necessary:bash
aliyun plugin show --name cms # If missing or older than 0.2.4: aliyun plugin install --names cms --version 0.2.4 # Or install the latest: aliyun plugin install --names cms
No ContextStore-specific environment variables are required. Aliyun CLI credentials and region may come from a configured CLI profile, Alibaba Cloud environment variables, STS, OAuth, or an ECS RAM role.
Never read, echo, or print secret environment variable values. Use aliyun configure list only to check whether a valid profile or identity is available.
Pre-check: Alibaba Cloud Credentials Required
Security Rules:
- NEVER read, echo, or print AK/SK values (e.g.,
echo $ALIBABA_CLOUD_ACCESS_KEY_IDis FORBIDDEN)- NEVER ask the user to input AK/SK directly in the conversation or command line
- NEVER use
aliyun configure setwith literal credential values- ONLY use
aliyun configure listto check credential statusbash
aliyun configure listCheck the output for a valid profile (AK, STS, or OAuth identity).
If no valid profile exists, STOP here.
- Obtain credentials from Alibaba Cloud Console
- Configure credentials outside of this session (via
aliyun configurein terminal or environment variables in shell profile)- Return and re-run after
aliyun configure listshows a valid profile
ContextStore operations require CMS AgentLoop permissions for store, context, and API key APIs. See references/ram-policies.md for the full action list and a policy template.
[MUST] Permission Failure Handling: When any command or API call fails due to permission errors at any point during execution, follow this process:
- Read
references/ram-policies.mdto get the full list of permissions required by this SKILL.- If the
ram-permission-diagnoseskill is installed in the current environment, invoke it to guide the user through requesting the necessary permissions. Otherwise, surface the missing RAM action(s) plus the policy template fromreferences/ram-policies.mdand ask the user to attach the policy to the current RAM identity via the Alibaba Cloud RAM Console.- Pause and wait until the user confirms that the required permissions have been granted before retrying.
IMPORTANT: Parameter Confirmation -- Before executing any command or API call, ALL user-customizable parameters (e.g., RegionId, instance names, CIDR blocks, passwords, domain names, resource specifications, etc.) MUST be confirmed with the user. Do NOT assume or use default values without explicit user approval.
Parameter NameRequired/OptionalDescriptionDefault Value--regionOptionalRegion override for the current CLI command. Confirm when the user does not want the configured default region.CLI configured region--workspaceRequiredAgentLoop workspace ID.None--context-store-nameRequired except list-context-storesContextStore name.None--context-typeRequired for create/write flowsStore type: memory or experience.None--memory-typeRequired for memory writes onlyMemory write type: short or long. Never use for experience writes.None--context-idRequired for single-record get/update/deleteContext record ID.None--itemsRequired for add-contextsJSON array of records to write. Schema depends on contextType.None--filterOptionalJSON filter for search-context or delete-contexts. Field paths depend on contextType.None--queryRequired for searchSemantic search query.None--limitOptionalMaximum search results.Service default--retrieval-optionOptionalExperience search options: reranker, llm_rank, or both comma-separated.None--configOptional/Required by flowStore configuration. Required for experience stores and memory stores sourced from an existing logstore.None--nameRequired for API key commandsStore-level API key name.None
[MUST] Enable AI-Mode -- AI-mode is required for Agent Skill execution. Run the following commands before any CLI invocation:
bash
aliyun configure ai-mode enable aliyun configure ai-mode set-user-agent --user-agent "AlibabaCloud-Agent-Skills/alibabacloud-agentloop-contextstore"[MUST] Disable AI-Mode at EVERY exit point -- Before delivering the final response for ANY reason, always disable AI-mode first. This applies to workflow success, workflow failure, error/exception, user cancellation, session end, or any other scenario where no further CLI commands will be executed.
bash
aliyun configure ai-mode disableIf a previous run left AI-mode enabled (e.g. due to crash, session interruption, or a forgotten exit), check current state with
aliyun configure ai-mode showand runaliyun configure ai-mode disableonce before the new workflow starts.
bash
aliyun cms --api-version 2024-03-30 get-context-store \
--workspace <workspace> \
--context-store-name <context_store_name>
bash
aliyun cms --api-version 2024-03-30 <subcommand> \
--workspace <workspace> \
--context-store-name <context_store_name> \
--cli-dry-run
references/store-management.md.references/context-data-operations.md.references/filter-syntax.md.references/verification-method.md.Use references/verification-method.md for command validation, non-destructive store checks, data write/search checks, API key checks, and cleanup verification.
Confirm destructive cleanup parameters before execution. Prefer narrow deletes (single record) over batch deletes; use store deletion only when the user explicitly confirms the entire store should be removed.
Single record:
bash
aliyun cms --api-version 2024-03-30 delete-context \
--workspace <workspace> \
--context-store-name <context_store_name> \
--context-id <context_id>
Batch (mutually exclusive flags --context-ids or --filter; never both, never a request body):
bash
aliyun cms --api-version 2024-03-30 delete-contexts \
--workspace <workspace> \
--context-store-name <context_store_name> \
--context-ids "<context_id_1>,<context_id_2>"
aliyun cms --api-version 2024-03-30 delete-contexts \
--workspace <workspace> \
--context-store-name <context_store_name> \
--filter '<filter_json>'
Records with immutable: true (memory) or metadata.immutable: true (experience) are skipped server-side and not counted in deletedCount.
Whole store (irreversible; system-managed datasets and internal logstores are removed; user-provided source logstores are NOT removed):
bash
aliyun cms --api-version 2024-03-30 delete-context-store \
--workspace <workspace> \
--context-store-name <context_store_name>
API key:
bash
aliyun cms --api-version 2024-03-30 delete-context-store-api-key \
--workspace <workspace> \
--context-store-name <context_store_name> \
--name <api_key_name>
All supported ContextStore commands, parameter rules, and validation helpers are listed in references/related-commands.md.
--api-version 2024-03-30; otherwise ContextStore subcommands may not be available.contextType before writing, filtering, updating, or interpreting formatted output.--memory-type short or --memory-type long only for memory writes; never pass it for experience writes.categories, immutable, and expirationDate at the item top level; keep experience categories and immutable inside metadata.create-context-store-api-key; never paste it into conversation history, and ask the user to store it securely outside the session.--cli-dry-run before destructive operations or complex JSON requests.deletedCount.delete-contexts only with --context-ids or --filter; it does not accept a request body, and the two flags are mutually exclusive.contextType, contextStoreName, and config.source are immutable after store creation. To change the source logstore or store type, create a new store and migrate data.experience / metadata / config.metadataField. Verify with aliyun plugin show --name cms before any write operation; upgrade with aliyun plugin install --names cms --version 0.2.4 (or omit --version for latest).triggerCondition field for new experience records; the v1 schema uses experience (object) plus metadata (object).WrongRightWhyaliyun cms add-contexts ... (no --api-version)aliyun cms --api-version 2024-03-30 add-contexts ...Subcommand only exists in this API versionMemory write without --memory-type``--memory-type short or --memory-type longRequired for memory writesExperience write with --memory-type longOmit --memory-type for experienceForbidden for experience writesExperience with categories / immutable at item top levelPut them inside metadataMemory uses top-level; experience uses metadataExperience filter {"serviceName":"x"}``{"metadata.serviceName":"x"}Experience metadata fields use metadata. prefixdelete-contexts --body '{...}'``delete-contexts --context-ids "id1,id2" or --filter '{...}'``delete-contexts does not accept a bodymetadata.traceStartNs: 1775799927869697848 (number)"traceStartNs": "1775799927869697848" (string)Bare numbers above 2^53 lose precision via Go float64 parsingecho $ALIBABA_CLOUD_ACCESS_KEY_SECRET``aliyun configure listNever read or print AK/SK secrets
ReferenceContentsreferences/store-management.mdCreate, get, list, update, delete stores and manage store API keys.references/context-data-operations.mdMemory and experience write/search/update/delete schemas and examples.references/filter-syntax.mdShared filter operators and memory versus experience field paths.references/related-commands.mdSupported CLI command table and help validation commands.references/verification-method.mdSuccess checks, dry-run checks, and command validation workflow.references/ram-policies.mdRequired RAM actions and policy template.references/cli-installation-guide.mdAliyun CLI installation and configuration guide.