← 返回 Skills 市场
sdk-team

Alibabacloud Das Agent

作者 alibabacloud-skills-team · GitHub ↗ · v0.0.2 · MIT-0
cross-platform ⚠ suspicious
114
总下载
0
收藏
0
当前安装
2
版本数
在 OpenClaw 中安装
/install alibabacloud-das-agent
功能描述
Diagnose and manage Alibaba Cloud databases through natural language. Use when users need to troubleshoot database performance issues (high CPU, slow queries...
使用说明 (SKILL.md)

DAS Agent Chat

Send natural language questions to the Alibaba Cloud DAS (Database Autonomy Service) Agent and receive diagnostic results.

Pricing and Free Tier

This is a paid service with a free tier for trial usage.

  • Free Tier: When ALIBABA_CLOUD_DAS_AGENT_ID is not set, the script omits the AgentId parameter and the API will use a default Agent ID which comes with a limited free quota for trial purposes.
  • Paid Usage: For production workloads or higher usage volumes, purchase a DAS Agent subscription and set your own ALIBABA_CLOUD_DAS_AGENT_ID to bind your dedicated agent and quota.

Recommendation: Start with the free tier (default Agent ID) to evaluate the service. Once you decide to adopt it for production, purchase a subscription and configure your own Agent ID.

Environment Variables

The script requires Alibaba Cloud credentials resolvable via the default credential chain. The DAS Agent ID is optional — if not provided, the AgentId parameter will be omitted and the API will use a default Agent ID with limited free quota.

# Optional: Set your own Agent ID after purchasing DAS Agent service
export ALIBABA_CLOUD_DAS_AGENT_ID="\x3Cagent_id>"               # Obtain from DAS console (optional)

The Alibaba Cloud Credentials SDK automatically resolves credentials from multiple sources (environment variables, configuration files, ECS RAM roles, etc.). Refer to the official credential configuration documentation for setup instructions.

If you have purchased a DAS Agent subscription, create and manage your Agent ID at: https://das.console.aliyun.com/

Troubleshooting

Credential Resolution Failed

If the script exits with a credential-related error, it means the Alibaba Cloud Credentials SDK could not resolve a usable credential from its default provider chain.

Supported credential sources:

  • Environment variables (see official documentation)
  • Local profile files: ~/.aliyun/config.json or ~/.alibabacloud/credentials.ini
  • ECS RAM Role metadata when running on an Alibaba Cloud ECS instance

Common cases:

  • Credential environment variables are empty or missing — configure them according to the official documentation.
  • Errors mentioning ~/.aliyun/config.json or ~/.alibabacloud/credentials.ini The SDK attempted local profile-based credentials, but the files were missing or invalid. Create/fix the default profile if you want to use local profiles.
  • Errors mentioning 100.100.100.200 The SDK attempted ECS metadata. This is expected on ECS, but usually a local-machine misconfiguration elsewhere.

For local development, if you are not using ECS RAM Role credentials, you can explicitly disable ECS metadata lookup:

export ALIBABA_CLOUD_ECS_METADATA_DISABLED=true

This avoids confusing 100.100.100.200 metadata connection errors on non-ECS machines and makes missing-credential failures easier to read.

Invocation

Run from the scripts/ directory of this skill:

cd scripts

# Pipe mode (RECOMMENDED for agents) — clean output: progress to stderr, answer clearly delimited on stdout
uv run call_das_agent.py --question "\x3Cuser's question>" --pipe

# Default mode (CLI chat UI) — real-time streaming with tool details
uv run call_das_agent.py --question "\x3Cuser's question>"

# JSON mode — machine-readable JSONL, one JSON object per line on stdout
uv run call_das_agent.py --question "\x3Cuser's question>" --json

# Multi-turn conversation — reuse the server-assigned session ID to maintain context
uv run call_das_agent.py --question "List my instances" --pipe  # Returns session_id on first line
# Extract session_id (line starting with "SESSION:"), then reuse it:
uv run call_das_agent.py --question "Check the first one" --session "\x3Csession_id_from_above>" --pipe

Always use --pipe when invoking as an agent. It routes all progress/tool-call noise to stderr and writes only the DAS answer to stdout, wrapped in clear delimiters — making the real response impossible to miss.

Prefer --json when you need to parse the response programmatically. For JSON event types and output mode details, see references/api-reference.md.

Behavioral Notes

DAS Agent internally orchestrates multiple API calls and tool invocations to answer a single question. This has important implications:

  1. Long-running tasks: Complex diagnostics (multi-instance inspection, comprehensive health checks, batch SQL analysis) can take several minutes up to 30 minutes, because DAS Agent sequentially calls monitoring APIs, runs diagnostics, and synthesizes results. Inform the user before starting and provide periodic progress updates.

  2. Instance enrollment: The target database instance must be enrolled under the DAS Agent. If you see error code -1810006, it means the agent is not associated with any instance — guide the user to the DAS console settings to associate instances.

  3. Include instance ID in questions: DAS Agent resolves instances by ID (e.g., rm-bp1xxx, pc-2zeyyy). Always include the specific instance ID in the question for accurate results. If the user hasn't provided one, ask them or first query the instance list.

  4. Parallel execution: When diagnosing multiple instances, launch multiple script processes in parallel — each invocation is independent and stateless (unless sharing a session ID).

  5. Multi-turn conversations — always reuse the session ID when questions are related: If the user's questions are sequential or contextually connected (follow-up diagnostics, drill-down analysis, referencing a previous result, comparing findings), you must pass --session \x3Csession_id> on every subsequent call. Starting a new session mid-conversation forces the DAS Agent to re-run all prior context from scratch, wastes time, and produces lower-quality answers.

    Decision rule: Default to reusing the session ID. Only start a new session when the user explicitly switches to a completely unrelated topic or asks to "start over".

    The session ID is server-assigned and returned as the very first line of every --pipe invocation:

    SESSION: \x3Cuuid>
    

    Extract it immediately after each call and carry it forward. In --json mode it appears as {"type": "session", "session_id": "..."} on the first line.

    Examples of when reuse is mandatory:

    • "List my instances" → "Check CPU on the first one" → "Why is it high?"
    • "Run a health check on rm-bp1xxx" → "Show me the top slow queries"
    • "What locks are held?" → "Kill that session"

    The DAS Agent retains the full conversation history server-side, so follow-up questions can be short and natural — no need to repeat instance IDs or prior context.

Output

For output mode comparison and format details, see references/api-reference.md.

After running the script, relay the complete stdout to the user verbatim. Do not summarize, paraphrase, or omit any part of the script's stdout. The DAS Agent's actual diagnostic answer is embedded in the output — the user must see it in full.

For detailed API signature and SSE event documentation, see references/api-reference.md.

安全使用建议
This skill is functionally aligned with an Alibaba Cloud DAS client, but there are documentation mismatches you should resolve before installing. Specifically: (1) Confirm whether ALIBABA_CLOUD_DAS_AGENT_ID is optional or required and whether the required IAM permission is only das:Chat (preferred) or a broader AliyunHDMFullAccess (riskier). (2) Understand the default credential chain: the script may read ~/.aliyun/config.json or ~/.alibabacloud/credentials.ini or call the ECS metadata endpoint — avoid running it on machines that hold unrelated/privileged Alibaba Cloud credentials. (3) The package lists dependencies from PyPI and expects a 'uv' runner; only run in an environment where you control installed packages (or audit dependencies first). (4) If you proceed, run in a least-privilege account/role limited to das:Chat and in an isolated environment until you’re comfortable with behavior. If the author can clarify and fix the inconsistent docs (AgentId required vs optional, exact IAM policy), that would reduce the concern.
功能分析
Type: OpenClaw Skill Name: alibabacloud-das-agent Version: 0.0.2 The skill is a legitimate tool for interacting with the Alibaba Cloud Database Autonomy Service (DAS) to perform database diagnostics. The Python script `call_das_agent.py` uses the official Alibaba Cloud credentials SDK to handle authentication and communicates exclusively with the verified service endpoint `das.cn-shanghai.aliyuncs.com`. The instructions in `SKILL.md` are consistent with the tool's purpose, and the code includes appropriate input validation and error handling without any signs of malicious intent, data exfiltration, or unauthorized execution.
能力标签
cryptocan-make-purchases
能力评估
Purpose & Capability
The code and docs implement a DAS Chat client that POSTs to das.cn-shanghai.aliyuncs.com and uses the Alibaba Cloud credential chain — this is coherent with the stated purpose of diagnosing Alibaba Cloud databases. However, the documentation is inconsistent about permission scope: SKILL.md and scripts mention the default credential chain and an optional ALIBABA_CLOUD_DAS_AGENT_ID, but other doc files (references/api-reference.md and references/ram-policies.md) disagree on whether AgentId is required and whether the permission is das:Chat or a broader AliyunHDMFullAccess. Registry metadata lists no required env vars even though runtime uses credential sources.
Instruction Scope
Runtime instructions and the Python client explicitly rely on the Alibaba Cloud default credential provider chain, which may read local files (~/.aliyun/config.json or ~/.alibabacloud/credentials.ini) and query the ECS metadata service (100.100.100.200). Those file/metadata accesses are legitimate for cloud SDKs but they are not declared in the registry metadata; the SKILL.md also promotes omitting AgentId (using a default shared Agent) which has billing/usage implications. The skill does not call any unexpected external endpoints beyond the documented DAS endpoint.
Install Mechanism
No install spec is provided (instruction-only at registry level), which is low risk, but the package includes a pyproject.toml that pins deps from PyPI (alibabacloud_credentials, requests, pytz). The SKILL.md requires a 'uv' runner but the skill does not provide an install step for it. There is no download from an untrusted URL or archive extraction.
Credentials
The skill requires access to Alibaba Cloud credentials via the default provider chain (environment variables, profile files, or ECS RAM role). That is expected for a cloud service client, but registry metadata did not list any required env vars and references/api-reference.md contradicts SKILL.md about whether ALIBABA_CLOUD_DAS_AGENT_ID is required. The broad wording in SKILL.md about credential sources means the script may access local credential files and metadata service — users should ensure only intended credentials/roles are available to the runtime.
Persistence & Privilege
The skill does not request always:true, does not modify other skills, and does not declare system-wide persistence. It runs as an on-demand client and prints results to stdout; no elevated persistence or cross-skill configuration writes are present.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install alibabacloud-das-agent
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /alibabacloud-das-agent 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v0.0.2
alibabacloud-das-agent 0.0.2 - Updated scripts/call_das_agent.py (details not shown). - No changes to skill usage, interface, or documentation detected. - No new features or breaking changes listed in SKILL.md.
v0.0.1
Initial release of alibabacloud-das-agent. - Enables natural language diagnosis and management of Alibaba Cloud databases via DAS Agent. - Supports performance troubleshooting, status checks, disk analysis, SQL optimization, health inspections, and security baseline detection. - Compatible with RDS (MySQL, PostgreSQL, SQL Server), PolarDB, MongoDB, Redis (Tair), and Lindorm. - Offers free tier with default Agent ID; allows subscription for increased quota via custom Agent ID. - Requires Alibaba Cloud credentials; supports multi-turn conversations with session management. - Includes detailed instructions for invocation, environment setup, and troubleshooting credential issues.
元数据
Slug alibabacloud-das-agent
版本 0.0.2
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 2
常见问题

Alibabacloud Das Agent 是什么?

Diagnose and manage Alibaba Cloud databases through natural language. Use when users need to troubleshoot database performance issues (high CPU, slow queries... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 114 次。

如何安装 Alibabacloud Das Agent?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install alibabacloud-das-agent」即可一键安装,无需额外配置。

Alibabacloud Das Agent 是免费的吗?

是的,Alibabacloud Das Agent 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Alibabacloud Das Agent 支持哪些平台?

Alibabacloud Das Agent 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Alibabacloud Das Agent?

由 alibabacloud-skills-team(@sdk-team)开发并维护,当前版本 v0.0.2。

💬 留言讨论