Volcengine RDS PostgreSQL

v1.0.0

使用火山引擎 RDS PostgreSQL,帮助用户完成 RDS PostgreSQL 相关的实例管理、数据库操作、账号管理和运维任务,可直接调用 uv run ./scripts/call_rds_postgresql.py 脚本获取实时结果。

0· 154·0 current·0 all-time
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description, SKILL.md, requirements.txt, and the Python script all focus on Volcengine RDS PostgreSQL and VPC operations. Requesting VOLCENGINE_ACCESS_KEY and VOLCENGINE_SECRET_KEY is appropriate and expected for calling the Volcengine SDK APIs invoked in the script.
Instruction Scope
SKILL.md directs the agent to run the included script (via `uv run` or `python`) and to set the Volcengine AK/SK and optional region. The script only constructs SDK requests for RDS and VPC endpoints and prints results to stdout/stderr. There are no instructions to read unrelated files, other environment variables, or to transmit data to unexpected external endpoints.
Install Mechanism
This is instruction-only (no platform install spec). The included requirements.txt and the script reference the official-looking `volcengine-python-sdk[rdspostgresqlv2,vpc]` package; dependencies must be installed by the user (or by `uv` execution). This is low-risk, but users should ensure they trust the PyPI package and have `uv` available.
Credentials
Only VOLCENGINE_ACCESS_KEY and VOLCENGINE_SECRET_KEY are required (and an optional region). Those credentials directly map to the documented API calls. No unrelated secrets or broad system credentials are requested.
Persistence & Privilege
The skill is not marked always:true and does not request persistent system-wide privileges or modify other skills' configs. The script runs on-demand and does not install background services.
Assessment
This skill appears coherent for managing Volcengine RDS PostgreSQL. Before enabling: (1) provide only a least-privilege AK/SK — ideally read-only permissions for the RDS and VPC actions the skill needs, (2) review the volcengine-python-sdk package on PyPI (and its maintainers) before installing dependencies, (3) ensure you have the `uv` runner or install Python deps in an isolated environment, and (4) avoid using production credentials with write/delete permissions unless you explicitly need full management operations. The script itself only calls Volcengine SDK APIs and prints results; if you require higher assurance, inspect the full script and test with a non-production account first.

Like a lobster shell, security has layers — review code before you run it.

Runtime requirements

🐘 Clawdis
OSmacOS · Linux
Binsuv
EnvVOLCENGINE_ACCESS_KEY, VOLCENGINE_SECRET_KEY
latestvk973t56rzw43wc8vqff3ense118370hj
154downloads
0stars
1versions
Updated 1mo ago
v1.0.0
MIT-0
macOS, Linux

Skill 概览

本 Skill 用于在对话中充当 火山引擎 RDS PostgreSQL 的智能运维代理:

  • 理解用户的自然语言需求(中文或英文),识别是否与 RDS PostgreSQL 相关;
  • 直接调用内置脚本 scripts/call_rds_postgresql.py 实时查询 RDS PostgreSQL 并获取结果;
  • 当获取到结果或用户粘贴错误信息时,进一步解释、诊断并给出后续建议

工作模式:

  • 使用 scripts/call_rds_postgresql.py 脚本直接获取 RDS PostgreSQL 的实时响应

运行方式: 脚本支持两种运行方式:

# 方式 1: 使用 uv (推荐,自动管理依赖)
uv run ./scripts/call_rds_postgresql.py [action] [options]

# 方式 2: 使用 python (需要预先安装依赖)
python ./scripts/call_rds_postgresql.py [action] [options]

标准使用流程

  1. 确认任务类型与参数

    • 判断用户意图:查询实例列表、查看实例详情、管理数据库、管理账号、查看参数配置、创建实例等。
    • 收集必要参数(如未指定则使用默认值):
      • --region:地域 ID(默认 cn-beijing)
      • --action:操作类型(如 list-instancesdescribe-instancelist-databases 等)
      • --instance-id:实例 ID(部分操作必需)
  2. 构造查询并调用脚本

    • 示例(以下命令可使用 uv runpython 运行):
      # 查询实例列表
      uv run ./scripts/call_rds_postgresql.py list-instances
      # 或
      python ./scripts/call_rds_postgresql.py list-instances
      
      # 查询指定实例详情
      uv run ./scripts/call_rds_postgresql.py describe-instance --instance-id postgres-xxx
      # 或
      python ./scripts/call_rds_postgresql.py describe-instance --instance-id postgres-xxx
      
      # 查询实例的数据库列表
      uv run ./scripts/call_rds_postgresql.py list-databases --instance-id postgres-xxx
      # 或
      python ./scripts/call_rds_postgresql.py list-databases --instance-id postgres-xxx
      
      # 查询实例的账号列表
      uv run ./scripts/call_rds_postgresql.py list-accounts --instance-id postgres-xxx
      # 或
      python ./scripts/call_rds_postgresql.py list-accounts --instance-id postgres-xxx
      
      # 查询实例参数
      uv run ./scripts/call_rds_postgresql.py list-parameters --instance-id postgres-xxx
      # 或
      python ./scripts/call_rds_postgresql.py list-parameters --instance-id postgres-xxx
      
      # 查询 VPC 列表(用于创建实例)
      uv run ./scripts/call_rds_postgresql.py list-vpcs
      # 或
      python ./scripts/call_rds_postgresql.py list-vpcs
      
      # 查询子网列表
      uv run ./scripts/call_rds_postgresql.py list-subnets --vpc-id vpc-xxx --zone-id cn-beijing-a
      # 或
      python ./scripts/call_rds_postgresql.py list-subnets --vpc-id vpc-xxx --zone-id cn-beijing-a
      
  3. 解析结果并后续处理

    • 将 RDS PostgreSQL 的响应用自然语言解释给用户;
    • 如返回包含敏感操作,评估风险并提醒:
      • 避免在生产环境直接执行高风险操作(如删除实例、删除数据库等);
      • 建议在测试环境验证或做好备份。

工具脚本使用说明

支持的操作(Actions)

操作说明必需参数
list-instances查询 RDS PostgreSQL 实例列表
describe-instance查询指定实例详情--instance-id
list-databases查询实例的数据库列表--instance-id
list-accounts查询实例的账号列表--instance-id
list-parameters查询实例的参数配置--instance-id
list-parameter-templates查询参数模板列表
describe-parameter-template查询参数模板详情--template-id
list-vpcs查询 VPC 列表
list-subnets查询子网列表--vpc-id
get-price查询实例价格多个配置参数

命令行参数

参数说明默认值
action操作类型(必需)-
--region / -r火山引擎地域 IDcn-beijing
--instance-id / -i实例 ID
--page-number分页页码1
--page-size每页记录数10
--output / -o输出格式(json/table)json

注意--region--page-number--page-size 等全局参数必须放在子命令之前,例如:

uv run ./scripts/call_rds_postgresql.py --region cn-shanghai list-instances

放在子命令之后会被忽略(argparse 解析限制)。

输出格式

脚本会将查询信息输出到 stderr,将结果输出到 stdout,便于分离日志和结果:

[操作] list-instances
[地域] cn-beijing
============================================================
[查询结果]
<实际结果内容>

常见使用场景

1. 查看所有实例

uv run ./scripts/call_rds_postgresql.py list-instances

2. 查看实例详情

uv run ./scripts/call_rds_postgresql.py describe-instance --instance-id postgres-xxx

3. 查看实例的数据库

uv run ./scripts/call_rds_postgresql.py list-databases --instance-id postgres-xxx

4. 查看实例的账号

uv run ./scripts/call_rds_postgresql.py list-accounts --instance-id postgres-xxx

5. 查看实例参数配置

uv run ./scripts/call_rds_postgresql.py list-parameters --instance-id postgres-xxx

6. 按版本过滤实例

uv run ./scripts/call_rds_postgresql.py list-instances --db-engine-version PostgreSQL_14

7. 创建实例前查询网络信息

# 先查询 VPC
uv run ./scripts/call_rds_postgresql.py list-vpcs

# 再查询子网
uv run ./scripts/call_rds_postgresql.py list-subnets --vpc-id vpc-xxx --zone-id cn-beijing-a

环境变量配置

  1. 获取火山引擎访问凭证:参考 用户指南 获取 AK/SK

  2. 配置以下环境变量:

export VOLCENGINE_ACCESS_KEY="your-access-key"
export VOLCENGINE_SECRET_KEY="your-secret-key"
export VOLCENGINE_REGION="cn-beijing"  # 可选,默认 cn-beijing

权限说明list-vpcslist-subnets 调用的是 VPC 服务接口,AK/SK 需要同时授予 RDS PostgreSQLVPCvpc:DescribeVpcsvpc:DescribeSubnets)两个服务的权限, 否则会返回 AccessDenied 403 错误。

Comments

Loading comments...