Token导航 LogoToken导航

Agent Skill · 开发

test000-my-skill(测试 000 我的技能)

用于辅助测试设计、自动化测试、用例整理和回归验证。它适合让 Agent 编写单元测试、端到端测试、测试计划或根据失败日志定位问题。使用时需要确认项目测试框架、运行命令和夹具数据,避免为了通过测试而改坏真实逻辑;涉及浏览器或外部服务时,应区分本地模拟、测试环境和生产环境。

test000-my-skill 是开发类 Agent Skill,可用宿主为 OpenClaw,通过ClawHub获取,权限为需要联网;许可证为 MIT-0,第三方扫描有提醒项,按安装量在开发类的 21,746 个 Skill 里排第 8,975。

总安装 2,917周安装 118GitHub Stars 公开资料未说明下载 916核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
MIT-0
版本
1.0.0

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:test000-my-skill(测试 000 我的技能)
来源仓库:https://github.com/18108851659-yzh/test000-my-skill
安装命令:
openclaw skills install test000-my-skill
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install test000-my-skill

这个 Skill 是做什么的

开发类 Skill 面向写代码、改代码和排查问题,一般会读写仓库文件,部分还会执行构建或测试命令。

提供 DMS 客户端数据管理能力,包括实例管理、SQL查询、工单创建、团队管理、用户管理。用于用户请求数据库实例添加、数据查询、提交工单、团队配置等操作时调用。

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 OpenClaw;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 openclaw skills install test000-my-skill;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要需要联网,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

test000-my-skill 怎么安装?

在终端执行 openclaw skills install test000-my-skill。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

test000-my-skill 支持哪些 AI 工具?

公开资料标注支持 OpenClaw。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

test000-my-skill 需要什么权限?

权限级别是需要联网。该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

test000-my-skill 是免费的吗?

来源标注的许可证是 MIT-0。本站不代收任何费用,也不托管安装包;能否商用、要不要署名,以许可证原文为准。

test000-my-skill 用的人多吗?

公开数据是累计安装 2,917 次,近一周安装 118 次,下载 916 次。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

test000-my-skill 安全吗?

第三方扫描有提醒项,说明存在需要人工确认的行为。安装前请打开源码看清它读了什么、联网到哪里。

值得选的地方和要先想清楚的地方

值得选的地方

  • 专注 OpenClaw 一种宿主,触发方式和使用习惯不用来回切换。
  • 许可证明确为 MIT-0,商用和分发边界好判断。

先想清楚的地方

  • 第三方扫描存在提醒项或未通过项,需要人工逐条确认。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 OpenClaw,想直接扩展它能力的人。
  • 需要处理开发类任务、又不想每次都手写提示词的人。

不太适合

  • 需要厂商级技术支持和 SLA 的生产系统。

开发类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
skill-vetter

技能审查员 · OpenClaw

8,779,018986操作浏览器MIT-0通过
ontology

本体论 · OpenClaw

6,636,960576只读MIT-0通过
entra-app-registration

内部应用程序注册 · Codex、Claude

6,631,872764接触敏感数据未明确通过
entra-app-registration

内部应用程序注册 · Codex、Claude

3,757,680201接触敏感数据未明确通过
nano-banana-pro

纳米香蕉专业版 · OpenClaw

3,526,898364接触敏感数据MIT-0有提醒
test000-my-skill

测试 000 我的技能 · 本页

2,917—需要联网MIT-0有提醒

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

name
天翼云 DMS 数据管理服务 (客户端)
description
提供 DMS 客户端数据管理能力,包括实例管理、SQL查询、工单创建、团队管理、用户管理。用于用户请求数据库实例添加、数据查询、提交工单、团队配置等操作时调用。

天翼云 DMS 数据管理服务 (客户端)

本 Skill 提供 DMS(数据管理服务)客户端的自动化操作能力,支持通过 API 调用或 CLI 工具实现实例管理、数据查询、工单创建、团队配置等功能。

功能概述

本 Skill 支持以下 4 个核心功能场景:

  1. 自动实例管理 - 数据库实例的添加、删除、修改
  2. 数据查询 - SQL 执行和数据探索分析
  3. 自然语言提工单 - 工单创建和查询
  4. 自动团队配置管理 - 团队创建、用户邀请、实例分配

⚠️ 避坑指南(必读)

1. 实例登录方式

实例登录支持两种方式:

方式一:使用 dbAccountId 登录(推荐)

通过 account-list 命令获取数据库账号 ID,然后使用账号 ID 登录,无需密码。

步骤:

# 1. 查询实例账户列表
java -jar dms-cli.jar instance account-list --id <实例ID> --origin <origin值>

# 2. 使用 dbAccountId 登录
java -jar dms-cli.jar instance login \
    --id <实例ID> \
    --db-account-id <账号ID> \
    --origin <origin值>
方式二:使用账密登录

使用数据库账号和密码登录,需要用户手动提供真实密码,不支持任何默认密码。

命令:

java -jar dms-cli.jar instance login \
    --id <实例ID> \
    --db-account <数据库账号> \
    --password <数据库密码> \
    --origin <origin值>

⚠️ 注意:

  • 参数名是 --password,不是 --db-password
  • 密码会被自动 AES 加密传输
  • 禁止提供默认密码或自动尝试密码

2. origin 参数必须显式指定

错误写法(可能失败):

java -jar dms-cli.jar instance login --id 10413 --db-account root --password "密码"
# origin 使用默认值 5,但实例实际可能是 2

正确写法:

# 先查询实例详情确认 origin 值
java -jar dms-cli.jar instance detail --id 10413
# 查看返回数据中的 "origin" 字段

# 登录时显式指定正确的 origin
java -jar dms-cli.jar instance login --id 10413 --db-account root --password "密码" --origin 2

⚠️ origin 取值:

origin值来源常见场景
1RDS云数据库天翼云RDS
2公网/直连客户端添加的公网实例
3DMS代理Agent模式
4AOne环境AOne开发环境
5内网内网数据库(默认)

3. 弱管控实例也需要 Token

⚠️ 重要:即使 controlType=0(弱管控),执行 SQL 仍需要先登录获取 Token!

错误做法:

# 直接执行 SQL,不登录
java -jar dms-cli.jar sql execute --instance-id 10413 --sql "SHOW DATABASES"
# 会报错:"查询弱管控实例Token不能为空"

正确流程:

# 1. 先登录获取 Token
java -jar dms-cli.jar instance login --id 10413 --db-account root --password "密码" --origin 2
# 返回: {"code":200,"data":"26d4540fe7e01ff1",...}  -- Token 在 data 字段

# 2. 使用 Token 执行 SQL
java -jar dms-cli.jar sql execute \
    --instance-id 10413 \
    --sql "SHOW DATABASES" \
    --instance-token "26d4540fe7e01ff1" \
    --origin 2

4. database list API 可能返回空

问题: database list 命令返回空数组,但实例确实有数据库。

原因: 该 API 对某些实例可能不返回数据。

解决方案: 使用 SQL 直接查询

# 先登录获取 Token
java -jar dms-cli.jar instance login --id 10413 --db-account root --password "密码" --origin 2

# 用 SQL 查询数据库列表
java -jar dms-cli.jar sql execute \
    --instance-id 10413 \
    --sql "SHOW DATABASES" \
    --instance-token "Token值" \
    --origin 2

5. account-list 可能返回空

问题: account-list 命令返回空数组,但实例详情显示有 dbAccount: "root"。

解决方案: 直接使用实例详情中的 dbAccount 值登录

# 查询实例详情
java -jar dms-cli.jar instance detail --id 10413
# 找到 "dbAccount": "root"

# 直接使用该账号登录
java -jar dms-cli.jar instance login --id 10413 --db-account root --password "密码" --origin 2

6. ⚠️⚠️⚠️ PostgreSQL 数据库切换的正确方法(极重要)

问题: 使用 --database 或 --db-id 参数执行 SQL 时,数据可能写入错误的数据库!

根因分析(已验证):

  1. WebSocket 连接建立时会绑定到登录时的数据库
  2. --database 和 --db-id 参数不会切换数据库连接,只是设置消息体参数
  3. PostgreSQL 不支持跨数据库操作,必须在连接时就指定正确的数据库

⚠️ 验证结果:

# 测试:创建表并插入数据,检查 db_name 列
CREATE TABLE tpcds_verify (id INT, db_name TEXT DEFAULT current_database())
INSERT INTO tpcds_verify (id) VALUES (1)
SELECT * FROM tpcds_verify
# 结果:db_name = "autotest_db_3952484"(错误的数据库!)
# 即使指定了 --database tpcds 和 --db-id 17575

✅ 正确做法:登录时必须使用 --db-name 参数指定目标数据库!

# ❌ 错误做法:登录时不指定数据库,后续无法切换
java -jar dms-cli.jar instance login \
    --id 10292 \
    --db-account-id 4587 \
    --origin 2
# 登录后连接到默认数据库,无法切换!

# ❌ 错误做法:使用 --database 参数尝试切换数据库
java -jar dms-cli.jar sql execute \
    --instance-id 10292 \
    --sql "CREATE TABLE test (id INT)" \
    --database tpcds \
    --instance-token "xxx" \
    --origin 2
# 表仍然创建在默认数据库中!

# ✅ 正确做法:登录时使用 --db-name 参数指定目标数据库(PG需要此参数)
java -jar dms-cli.jar instance login \
    --id 10292 \
    --db-account-id 4587 \
    --origin 2 \
    --db-name tpcds
# 现在连接已经绑定到 tpcs 数据库

# 验证当前数据库
java -jar dms-cli.jar sql execute \
    --instance-id 10292 \
    --sql "SELECT current_database()" \
    --instance-token "xxx" \
    --origin 2
# 应该返回 "tpcds"

完整安全流程(PostgreSQL 专用):

# 步骤1:查询目标数据库的 dbId(可选,用于某些需要 dbId 的操作)
java -jar dms-cli.jar sql execute \
    --instance-id 10292 \
    --sql "SELECT datname, oid FROM pg_database WHERE datistemplate = false" \
    --instance-token "xxx" \
    --origin 2

# 步骤2:登出当前连接(如果有)
java -jar dms-cli.jar instance logout --token "旧Token"

# 步骤3:重新登录并指定目标数据库
java -jar dms-cli.jar instance login \
    --id 10292 \
    --db-account-id 4587 \
    --origin 2 \
    --db-name tpcds
# 返回新的 Token

# 步骤4:验证当前数据库
java -jar dms-cli.jar sql execute \
    --instance-id 10292 \
    --sql "SELECT current_database()" \
    --instance-token "新Token" \
    --origin 2
# 确认返回 "tpcds"

# 步骤5:执行 SQL(现在可以安全地操作 tpcs 数据库)
java -jar dms-cli.jar sql execute \
    --instance-id 10292 \
    --sql "CREATE TABLE test (id INT PRIMARY KEY)" \
    --instance-token "新Token" \
    --origin 2 \
    --db-type 2

# 步骤6:验证表是否在正确的数据库中
java -jar dms-cli.jar sql execute \
    --instance-id 10292 \
    --sql "SELECT tablename FROM pg_tables WHERE schemaname = 'public'" \
    --instance-token "新Token" \
    --origin 2

⚠️ 不同数据库类型的处理方式:

数据库类型dbType切换数据库方式关键参数
MySQL1--database 参数有效登录后可用 USE database
PostgreSQL2必须登录时指定--db-name 在登录时
SQL Server6--database 参数有效登录后可用 USE database
MongoDB/DDS9--database 参数有效连接字符串指定

⚠️ PostgreSQL 特殊说明:

  • --db-name 参数只在 instance login 命令中有效
  • 登录后无法通过任何参数切换数据库
  • 每次需要操作不同数据库时,必须先登出再重新登录
  • --db-id 和 --schema-id 参数用于 schema 级别操作,不切换数据库

枚举参数说明

一、实例来源 (origin)

值枚举名中文说明英文说明
1RDS云数据库/天翼云数据库Cloud Database
2PUBLIC公网/直连数据库Public Network/Direct Connection Database
3AGENTDMS代理数据库DMS Proxy Database
4AONEAOne环境数据库AOne Environment Database
5INTRANET内网数据库Intranet Database

二、数据库类型 (dbType)

值枚举名中文说明
1MYSQLMySQL
2PGSQLPostgreSQL
3ADBTeleDB For AnalyticDB
4GPSQLGreenplum
5TELEDBXTeleDB for Xscale
6SQLSERVERSQL Server
7DRDSDRDS
8MONGOMongoDB
9DDSDDS
10HIVEHive
11ORACLEOracle
12DAMENG达梦
13CLICKHOUSEClickHouse
14TIDBTiDB

三、实例环境 (envType / defaultEnvType)

值枚举名中文说明英文说明
1DEV开发develop
2BETA测试beta
3PRE预发pre-product
4PRO生产product

四、实例状态 (state)

值枚举名中文说明英文说明
1DEFAULT正常Normal
2ERROR异常Exception
3DISABLE禁用Disabled

五、读写类型 (rw / isRw)

值枚举名中文说明
0READONLY只读
1RW读写

六、实例模式 (mode / instanceMode)

值枚举名中文说明英文说明
1WEBWeb模式Web Mode
2CLIENTClient模式Client Mode

七、管控类型 (controlType)

值枚举名中文说明
0WEAK_CONTROL_TYPE弱管控模式
1STRONG_CONTROL_TYPE强管控模式

⚠️ 说明:

  • 弱管控模式:无需数据库账号密码即可登录,但执行 SQL 仍需要 Token
  • 强管控模式:需要数据库账号密码授权后才能执行 SQL

八、工单类型 (type)

值中文说明
export数据导出工单
import数据导入工单
sqlSQL变更工单
querySQL查询工单
sqlreviewSQL评审工单

九、工单状态 (status)

值中文说明
0待提交
1审批中
2审批通过
3审批拒绝
4执行中
5执行成功
6执行失败
7已撤回
8已关闭

十、团队成员角色 (role)

值枚举名中文说明
1ADMIN管理员
2MEMBER普通成员
5READONLY只读

十一、实例登录状态 (loginStatus)

值中文说明
0未登录
1已登录

构建与运行

前提条件

  • Java 11 或更高版本
  • Maven 3.6+

构建项目

cd dms-data-management-java
mvn clean package

运行 CLI

java -jar target/dms-cli-1.0.0.jar <command>

一、实例管理命令

创建实例
java -jar dms-cli.jar instance create \
    --alias "测试数据库" \
    --host 127.0.0.1 \
    --port 3306 \
    --user root \
    --password "your_password" \
    --type mysql
修改实例
# 基本修改
java -jar dms-cli.jar instance modify --id 123 --alias "新名称"
java -jar dms-cli.jar instance modify --id 123 --host 192.168.1.1 --port 3307

# 将实例添加到团队(重要:需要先通过 instance detail 获取 origin 值)
java -jar dms-cli.jar instance modify --id <实例ID> --team-id <团队ID> --origin <origin值>
# origin值说明:
#   1 = RDS (云数据库)
#   2 = PUBLIC (公网/直连)
#   3 = AGENT (DMS代理)
#   4 = AONE (AOne环境)
#   5 = INTRANET (内网)
删除实例
java -jar dms-cli.jar instance delete --id 123
查看实例详情
java -jar dms-cli.jar instance detail --id 123
# 返回示例:
# {"code":200,"data":{..., "id":"10413", "origin":2, "controlType":0, "dbAccount":"root", ...}}
查看实例列表
java -jar dms-cli.jar instance list --page 1 --page-size 10
测试连接
java -jar dms-cli.jar instance test \
    --host 127.0.0.1 \
    --port 3306 \
    --user root \
    --password "password" \
    --type mysql
# type可选值:mysql(1), pgsql(2), sqlserver(6), mongo(8), doris(3), etc.
登录/登出实例 ⚠️

实例登录支持两种方式:

方式一:使用 dbAccountId 登录(推荐)

# 查询账户列表
java -jar dms-cli.jar instance account-list --id <实例ID> --origin <origin值>

# 使用 dbAccountId 登录(无需密码)
java -jar dms-cli.jar instance login \
    --id <实例ID> \
    --db-account-id <账号ID> \
    --origin <origin值>

方式二:使用账密登录

# ⚠️ 必须指定正确的 origin 值(从实例详情获取)
# ⚠️ 密码需要用户手动提供,不支持默认密码
java -jar dms-cli.jar instance login \
    --id <实例ID> \
    --db-account <数据库账号> \
    --password <数据库密码> \
    --origin <origin值>

登出

java -jar dms-cli.jar instance logout --token "instance_token"
添加实例到团队
java -jar dms-cli.jar instance add-to-team --id 123 --team-id 456

二、用户管理命令

用户列表
java -jar dms-cli.jar user list --page 1 --page-size 10
用户详情
java -jar dms-cli.jar user detail --id 123
添加用户
java -jar dms-cli.jar user add --email "user@example.com" --captcha "123456"
删除用户
java -jar dms-cli.jar user delete --id 123
java -jar dms-cli.jar user delete --id 123 --tenant-id 456
修改用户
java -jar dms-cli.jar user modify --id 123 --comment "用户备注"

三、团队管理命令

创建团队
java -jar dms-cli.jar team create --name "数据分析团队" --desc "团队描述" --manager-ids "42"
按名称查找团队
java -jar dms-cli.jar team find --name "数据分析团队"
# 返回: {"id":"123","teamName":"数据分析团队","memberCount":1,...}
# Agent可以通过此命令获取团队ID
添加团队成员
# role取值说明:
#   1 = 管理员 (ADMIN)
#   2 = 普通成员 (MEMBER)
#   5 = 只读 (READONLY)
java -jar dms-cli.jar team add-member --team-id 123 --user-id "405" --role 2
修改团队
java -jar dms-cli.jar team modify --id 123 --name "新团队名"
删除团队
java -jar dms-cli.jar team delete --id 123
团队详情
java -jar dms-cli.jar team detail --id 123
团队列表
java -jar dms-cli.jar team list --page 1 --page-size 10
我的团队
java -jar dms-cli.jar team my

四、工单管理命令

创建工单
# 导出工单 (type=export)
java -jar dms-cli.jar workorder create \
    --type export \
    --instance-id 123 \
    --database "db_name" \
    --table "table_name"

# 导入工单 (type=import)
java -jar dms-cli.jar workorder create \
    --type import \
    --instance-id 123 \
    --database "db_name"

# SQL变更工单 (type=sql)
java -jar dms-cli.jar workorder create \
    --type sql \
    --instance-id 123 \
    --sql "UPDATE table SET column='value' WHERE id=1"
工单详情
java -jar dms-cli.jar workorder detail --id 123
工单列表
# 支持 status 参数过滤
# status取值:
#   0=待提交, 1=审批中, 2=审批通过, 3=审批拒绝
#   4=执行中, 5=执行成功, 6=执行失败, 7=已撤回, 8=已关闭
java -jar dms-cli.jar workorder list --page 1 --page-size 10
java -jar dms-cli.jar workorder list --status 1
撤回工单
java -jar dms-cli.jar workorder withdraw --id 123
重试工单
java -jar dms-cli.jar workorder retry --id 123

五、数据库查询命令 ⚠️

查看数据库列表
# ⚠️ 注意:可能返回空数组,建议使用 SQL 查询
java -jar dms-cli.jar database list --instance-id 123

# 分页查询
java -jar dms-cli.jar database page-list --instance-id 123 --page 1 --page-size 20
执行 SQL ⚠️ 完整流程

⚠️ 重要:执行 SQL 前必须先登录获取 Token!

流程步骤

  1. 查询实例详情,获取关键信息
   java -jar dms-cli.jar instance detail --id <实例ID>
   # 记录 origin, dbAccount, controlType
  1. 登录实例获取 Token

方式一:使用 dbAccountId 登录(推荐)

   # 查询账户列表获取 dbAccountId
   java -jar dms-cli.jar instance account-list --id <实例ID> --origin <origin值>

   # 使用 dbAccountId 登录
   java -jar dms-cli.jar instance login \
       --id <实例ID> \
       --db-account-id <账号ID> \
       --origin <origin值>

方式二:使用账密登录

   # ⚠️ 参数是 --password,不是 --db-password
   # ⚠️ 必须指定正确的 --origin 值
   # ⚠️ 密码需要用户手动提供
   java -jar dms-cli.jar instance login \
       --id <实例ID> \
       --db-account <数据库账号> \
       --password <数据库密码> \
       --origin <origin值>
  1. ⚠️ 验证当前数据库(关键步骤!)
   # MySQL/PostgreSQL 验证当前数据库
   java -jar dms-cli.jar sql execute \
       --instance-id <实例ID> \
       --sql "SELECT current_database()" \
       --instance-token <Token> \
       --origin <origin值>
   # 确认返回的数据库名称是否为目标数据库!
   # 如果不匹配,需要使用 --db-id 参数或重新登录
  1. 执行 SQL
   # 基本执行
   java -jar dms-cli.jar sql execute \
       --instance-id <实例ID> \
       --sql "SELECT * FROM table_name" \
       --instance-token <登录获取的Token> \
       --origin <origin值>

   # PostgreSQL 必须使用 db-id 参数
   java -jar dms-cli.jar sql execute \
       --instance-id <实例ID> \
       --sql "CREATE TABLE test (id INT)" \
       --database <数据库名> \
       --db-id <数据库ID> \
       --schema-id <SchemaID> \
       --db-type 2 \
       --instance-token <Token> \
       --origin <origin值>
  1. ⚠️ 执行后验证数据是否写入正确的数据库
   java -jar dms-cli.jar sql execute \
       --instance-id <实例ID> \
       --sql "SELECT current_database(), table_name FROM information_schema.tables WHERE table_schema = 'public'" \
       --database <数据库名> \
       --instance-token <Token> \
       --origin <origin值>
SQL 执行示例
# 1. 登录获取 Token
java -jar dms-cli.jar instance login \
    --id 10413 \
    --db-account root \
    --password "DIEVU-k7eNxR" \
    --origin 2
# 返回: {"code":200,"data":"26d4540fe7e01ff1",...}

# 2. ⚠️ 验证当前数据库
java -jar dms-cli.jar sql execute \
    --instance-id 10413 \
    --sql "SELECT database()" \
    --instance-token "26d4540fe7e01ff1" \
    --origin 2
# 确认返回的数据库名称是否正确!

# 3. 使用 Token 查询数据库列表
java -jar dms-cli.jar sql execute \
    --instance-id 10413 \
    --sql "SHOW DATABASES" \
    --instance-token "26d4540fe7e01ff1" \
    --origin 2

# 4. 在指定数据库执行 SQL(先验证数据库)
java -jar dms-cli.jar sql execute \
    --instance-id 10413 \
    --sql "SHOW TABLES" \
    --database "dms_console" \
    --instance-token "26d4540fe7e01ff1" \
    --origin 2

# 5. PostgreSQL 示例(必须使用 db-id 和 schema-id)
# 先查询数据库 ID
java -jar dms-cli.jar sql execute \
    --instance-id 10292 \
    --sql "SELECT datname, oid FROM pg_database WHERE datistemplate = false" \
    --instance-token "xxx" \
    --origin 2

# 使用 db-id 执行 SQL
java -jar dms-cli.jar sql execute \
    --instance-id 10292 \
    --sql "CREATE TABLE test (id INT PRIMARY KEY)" \
    --database tpcds \
    --db-id 17575 \
    --schema-id 4239 \
    --db-type 2 \
    --instance-token "xxx" \
    --origin 2

# 验证表是否创建在正确的数据库
java -jar dms-cli.jar sql execute \
    --instance-id 10292 \
    --sql "SELECT current_database(), tablename FROM pg_tables WHERE schemaname = 'public'" \
    --database tpcds \
    --db-id 17575 \
    --instance-token "xxx" \
    --origin 2

配置文件说明

配置文件 config.json 需要包含以下内容:

{
  "base_url": "https://localhost:8091",
  "ws_url": "wss://localhost:8091/cloud/ws/sqlConsole/query",
  "tokens": ["token1", "token2"],
  "headers": {
    "Accept": "application/json, text/plain, */*",
    "Accept-Language": "zh-CN",
    "Content-Type": "application/json",
    "From-Client": "true",
    "User-Agent": "Mozilla/5.0..."
  },
  "cookies": {
    "Authorization-jwt": "your_jwt_token",
    "XSRF-TOKEN": "your_xsrf_token",
    "Authorization-jwt-local": "your_local_token"
  },
  "xsrf_token": "your_xsrf_token",
  "verify": false
}

API 接口说明

一、实例管理

功能方法接口说明
创建实例POST/cloud/meta/instance/create创建新的数据库实例
修改实例POST/cloud/meta/instance/modify修改实例信息,支持添加实例到团队
删除实例POST/cloud/meta/instance/delete删除指定实例
实例详情POST/cloud/meta/instance/detail获取实例详细信息
实例列表POST/cloud/meta/instance/pageList分页查询实例列表
测试连接POST/cloud/meta/instance/testConnection测试实例连接是否正常
登录实例POST/cloud/meta/instance/login登录到指定实例
登出实例POST/cloud/meta/instance/logout登出实例
添加实例到团队POST/cloud/meta/instance/modify通过修改接口的 --team-id 参数添加

二、用户与团队管理

功能方法接口说明
用户登录POST/cloud/dmsUser/userLoginDMS 用户登录
用户登出POST/cloud/dmsUser/userLogoutDMS 用户登出
添加用户POST/cloud/dmsUser/joinTenant添加用户到组织
删除用户POST/cloud/dmsUser/exitTenant从组织删除用户
用户列表POST/cloud/dmsUser/pageList分页查询用户列表
用户详情POST/cloud/dmsUser/detail获取用户详细信息
修改用户POST/cloud/dmsUser/modify修改用户信息
创建团队POST/cloud/team/create创建新的团队
添加团队成员POST/cloud/team/member/create将用户添加到团队
修改团队POST/cloud/team/modify修改团队信息
删除团队POST/cloud/team/delete删除指定团队
团队详情POST/cloud/team/detail获取团队详细信息
团队列表POST/cloud/team/pageList分页查询团队列表
按名称查找团队-team find 命令遍历列表查找指定名称的团队

三、工单管理

功能方法接口说明
创建工单POST/cloud/workOrder/create创建新的工单
工单详情POST/cloud/workOrder/detail获取工单详情
工单列表POST/cloud/workOrder/pageList分页查询工单列表
撤回工单POST/cloud/workOrder/withdraw撤回指定工单
重试工单POST/cloud/workOrder/retry重试失败的工单

常见场景流程

场景一:创建团队并添加成员和实例

当用户要求创建团队、邀请用户加入、将实例添加到团队时,使用以下流程:

步骤1:创建团队

java -jar dms-cli.jar team create --name "团队名称" --desc "描述" --manager-ids "42"
# 返回 {"code":200,"data":"SUCCESS"}

步骤2:查找新团队ID(因为创建返回无ID)

java -jar dms-cli.jar team find --name "团队名称"
# 返回团队详情,包含 id

步骤3:添加成员

# role: 1=管理员, 2=普通成员, 5=只读
java -jar dms-cli.jar team add-member --team-id <团队ID> --user-id <用户ID> --role 2

步骤4:查找实例ID和origin(从instance detail获取)

java -jar dms-cli.jar instance detail --id <实例ID>
# 从返回数据中找到 id, origin 字段

步骤5:将实例添加到团队

java -jar dms-cli.jar instance modify --id <实例ID> --team-id <团队ID> --origin <origin值>

场景二:SQL查询执行

⚠️ 请参考上方"数据库查询命令"部分的完整流程


重要说明

  1. 认证要求: 所有 API 调用需要有效的 JWT Token,通过配置文件中的 cookies 传递
  2. 密码安全: 敏感密码需要使用 AES 加密后传输,加密密钥为 DMS-FRONT@2023#*
  3. 权限控制: 部分操作需要特定权限(如实例创建、删除需要对应功能权限)
  4. WebSocket 连接: SQL 执行使用 WebSocket 协议,需要保持连接直到查询完成
  5. 实例管控模式: 实例分为强管控和弱管控两种模式

- 弱管控 (controlType=0): 登录时无需密码,但执行 SQL 仍需要 Token - 强管控 (controlType=1): 需要数据库账号密码授权后才能执行 SQL

  1. ⚠️ Token 有效期: Token 有有效期限制,过期需要重新登录
  2. ⚠️ origin 参数: 登录和 SQL 执行都必须指定正确的 origin 值,默认值可能不正确

平台分布

OpenClaw

73%
按下载量换算669

安全审计

VirusTotal

可疑

ClawScan

可疑

Static analysis

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在提醒或未通过项,安装前请自行复核。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills