Alibabacloud Das Agent — 阿里云DAS Agent
v0.0.2通过自然语言诊断和管理阿里云数据库。当用户需要排查数据库性能问题(高CPU、慢查询、异常连接、锁等待)、检查实例状态、分析磁盘空间、优化SQL、运行健康检查或检测安全基线违规时使用。支持RDS(MySQL/PostgreSQL/SQL Server)、PolarDB、MongoDB、Redis(Tair)和Lindorm。即使对于像“我的数据库很慢”、“无法连接到数据库”、“帮助我检查这个SQL”或“数据库磁盘几乎满了”这样的随意描述,也可以触发此技能。此技能还适用于咨询阿里云特定的数据库功能(例如PolarDB Serverless、DAS自治能力)和比较产品差异(RDS与PolarDB)。不要将此技能用于一般的SQL教程、非阿里云数据库或本地数据库管理。
运行时依赖
安装命令
点击复制技能文档
将自然语言问题发送给阿里云 DAS(数据库自治服务)Agent,并接收诊断结果。 定价和免费层 这是一个付费服务,具有用于试用的免费层。 免费层:当 ALIBABA_CLOUD_DAS_AGENT_ID 未设置时,脚本省略 AgentId 参数,API 将使用具有有限免费配额的默认 Agent ID。 付费使用:对于生产工作负载或更高的使用量,请购买 DAS Agent 订阅并设置自己的 ALIBABA_CLOUD_DAS_AGENT_ID 以绑定专用 Agent 和配额。 推荐:从免费层(默认 Agent ID)开始评估服务。一旦决定采用它进行生产,请购买订阅并配置自己的 Agent ID。 环境变量 脚本需要通过默认凭证链解析的阿里云凭证。DAS Agent ID 是可选的 - 如果未提供,AgentId 参数将被省略,API 将使用具有有限免费配额的默认 Agent ID。 可选:购买 DAS Agent 服务后设置自己的 Agent ID export ALIBABA_CLOUD_DAS_AGENT_ID="" 从 DAS 控制台(可选)获取 阿里云凭证 SDK 自动从多个源(环境变量、配置文件、ECS RAM 角色等)解析凭证。请参阅官方凭证配置文档以获取设置说明。 如果您已购买 DAS Agent 订阅,请在以下位置创建和管理您的 Agent ID: https://das.console.aliyun.com/ 故障排除 凭证解析失败 如果脚本以凭证相关错误退出,则意味着阿里云凭证 SDK 无法从其默认提供程序链中解析可用的凭证。 支持的凭证源: 环境变量(请参阅官方文档) 本地配置文件:~/.aliyun/config.json 或 ~/.alibabacloud/credentials.ini ECS RAM 角色元数据(在阿里云 ECS 实例上运行时) 常见情况: 凭证环境变量为空或缺失 - 根据官方文档进行配置。 提到 ~/.aliyun/config.json 或 ~/.alibabacloud/credentials.ini 的错误 SDK 尝试使用本地配置文件凭证,但文件缺失或无效。如果要使用本地配置文件,请创建/修复默认配置文件。 提到 100.100.100.200 的错误 SDK 尝试使用 ECS 元数据。这在 ECS 上是预期的,但通常是本地机器的其他配置错误。 对于本地开发,如果您不使用 ECS RAM 角色凭证,可以显式禁用 ECS 元数据查找: export ALIBABA_CLOUD_ECS_METADATA_DISABLED=true 这避免了非 ECS 机器上的 100.100.100.200 元数据连接错误,并使缺失凭证失败更容易阅读。 调用 从此技能的 scripts/ 目录运行: cd scripts 管道模式(推荐用于 Agent)- 清晰输出:进度到 stderr,答案清晰地分隔在 stdout 上 uv run call_das_agent.py --question "<用户的问题>" --pipe 默认模式(CLI 聊天 UI)- 实时流式传输工具详细信息 uv run call_das_agent.py --question "<用户的问题>" JSON 模式 - 机器可读 JSONL,一行一个 JSON 对象在 stdout 上 uv run call_das_agent.py --question "<用户的问题>" --json 多回合对话 - 复用服务器分配的会话 ID 以维护上下文 uv run call_das_agent.py --question "列出我的实例" --pipe 返回会话 ID(以 "SESSION:" 开头的行) 提取会话 ID(以 "SESSION:" 开头的行),然后复用它: uv run call_das_agent.py --question "检查第一个" --session "<来自上面的会话 ID>" --pipe 始终在作为 Agent 调用时使用 --pipe。它将所有进度/工具调用噪音路由到 stderr,并仅将 DAS 答案写入 stdout,包裹在清晰的分隔符中 - 使真正的响应不可能错过。 在需要以编程方式解析响应时,首选 --json。 有关 JSON 事件类型和输出模式详细信息,请参阅 references/api-reference.md。 行为说明 DAS Agent 内部编排多个 API 调用和工具调用来回答单个问题。这有重要的影响: 长时间运行的任务:复杂的诊断(多实例检查、综合健康检查、批量 SQL 分析)可能需要几分钟到 30 分钟,因为 DAS Agent 顺序调用监控 API、运行诊断并合成结果。 在开始之前告知用户并提供定期进度更新。 实例注册:目标数据库实例必须在 DAS Agent 下注册。如果您看到错误代码 -1810006,这意味着代理未关联任何实例 - 引导用户到 DAS 控制台设置以关联实例。 在问题中包含实例 ID:DAS Agent 通过 ID 解析实例(例如 rm-bp1xxx,pc-2zeyyy)。始终在问题中包含特定的实例 ID 以获得准确的结果。 如果用户未提供,请询问实例 ID。