返回顶部
d

dbdoctor-tools数据库医生工具

>

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.5
安全检测
已通过
164
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

dbdoctor-tools

快速入门示例

场景一:诊断实例性能问题(推荐)

bash

1. 获取租户和项目


python scripts/getcurrentuser.py --extract

2. 获取实例列表

python scripts/get_instance.py --tenant [租户] --project [项目]

3. 执行全面的性能诊断(最近1小时)

python scripts/performance_diagnosis.py --instance-id [实例ID] --start-time [开始时间戳] --end-time [结束时间戳]

场景二:执行实例巡检

bash

1. 获取实例的租户和项目


python scripts/get_instance.py

2. 执行巡检

python scripts/doinspectinstance.py --instance-id [实例ID] --tenant [租户] --project [项目]

3. 获取巡检报告

python scripts/getrecentinspect_report.py --instance-id [实例ID] --start-time [开始时间] --end-time [结束时间] --tenant [租户] --project [项目]

场景三:SQL优化

bash

1. 获取慢SQL列表


python scripts/getslowsql.py --instance-id [实例ID] --start-time [开始时间] --end-time [结束时间]

2. 审核慢SQL

python scripts/sql_audit.py --instance-id [实例ID] --database [数据库] --schema [模式] --sql [SQL语句]

3. 使用AI重写SQL(可选)

python scripts/aisqlrewrite.py --instance-id [实例ID] --database [数据库] --schema [模式] --sql [SQL语句]

安全

凭证管理

本技能支持两种认证模式:

  • - 模式1 - 密码登录(企业版(免费试用)):需要 DBDOCTORURL、DBDOCTORUSER、DBDOCTORPASSWORD。
  • 模式2 - 邮箱验证码登录(免费版(永久免费),Windows/Mac):需要 DBDOCTORURL、DBDOCTOR_EMAIL。当需要验证码时,将交互式提示用户输入。

如果配置了 DBDOCTOR_EMAIL,则优先使用邮箱模式。

凭证由平台管理,并在运行时作为环境变量注入。本技能不会将凭证写入磁盘。 .token_cache 文件(仅包含API会话令牌)是唯一持久化到本地的文件,并已在 .gitignore 中列出。

特权操作

有两个工具执行需要操作者谨慎处理的写操作:

  • - executesql:在目标数据库上执行任意SQL。执行前请检查所有SQL语句。该工具不强制执行只读限制。
  • manageinstance:向平台注册新的数据库实例。执行前请验证所有连接参数(IP、端口、凭证)。

所有其他工具都是针对DBdoctor API的只读查询。

认证机制

程序支持两种登录方式:

  1. 1. 密码模式:从环境变量读取用户名/密码,对密码进行AES加密,并调用 /nephele/login 获取Token。
  2. 邮箱模式:通过 /drapi/user/verificationCode 向配置的邮箱发送验证码,提示用户输入验证码,进行AES加密,并通过 authType=authCode 调用 /nephele/login。

Token 缓存在 .token_cache 中。当Token过期时,系统会自动重新认证(密码模式静默处理;邮箱模式会提示输入新的验证码)。无需手动管理认证。



配置

根据您的登录模式设置以下环境变量:

变量描述是否必需
DBDOCTORURLDBdoctor API基础URL(例如 http://host:port)始终需要
DBDOCTORUSER
登录用户名(也用作UserId) | 仅密码模式 |
| DBDOCTOR_PASSWORD | 登录密码(敏感信息) | 仅密码模式 |
| DBDOCTOR_EMAIL | 用于验证码的登录邮箱 | 仅邮箱模式 |

注意:如果设置了 DBDOCTOR_EMAIL,则使用邮箱验证码模式。否则,使用用户名/密码模式。

模式1:密码登录(企业版(免费试用))

bash

CLI配置(推荐)


clawdbot skills config dbdoctor-tools DBDOCTOR_URL http://[主机]:[端口]
clawdbot skills config dbdoctor-tools DBDOCTOR_USER [用户名]
clawdbot skills config dbdoctor-tools DBDOCTOR_PASSWORD [密码]

模式2:邮箱验证码登录(免费版(永久免费))

bash

CLI配置(推荐)


clawdbot skills config dbdoctor-tools DBDOCTOR_URL http://[主机]:[端口]
clawdbot skills config dbdoctor-tools DBDOCTOR_EMAIL [邮箱]

手动配置

编辑 ~/.clawdbot/clawdbot.json:

json5
{
skills: {
entries: {
dbdoctor-tools: {
env: {
// 模式1:密码登录
DBDOCTOR_URL: http://[主机]:[端口],
DBDOCTOR_USER: [用户名],
DBDOCTOR_PASSWORD: [密码]

// 模式2:邮箱登录(使用此项替代USER/PASSWORD)
// DBDOCTOR_URL: http://[主机]:[端口],
// DBDOCTOR_EMAIL: [邮箱]
}
}
}
}
}

系统环境变量

bash

Linux / Mac - 密码模式


export DBDOCTOR_URL=http://[主机]:[端口]
export DBDOCTOR_USER=[用户名]
export DBDOCTOR_PASSWORD=[密码]

Linux / Mac - 邮箱模式

export DBDOCTOR_URL=http://[主机]:[端口] export DBDOCTOR_EMAIL=[邮箱]

Windows PowerShell - 密码模式

$env:DBDOCTOR_URL=http://[主机]:[端口] $env:DBDOCTOR_USER=[用户名] $env:DBDOCTOR_PASSWORD=[密码]

Windows PowerShell - 邮箱模式

$env:DBDOCTOR_URL=http://[主机]:[端口] $env:DBDOCTOR_EMAIL=[邮箱]

安装依赖

bash
pip install -r requirements.txt

依赖项:requests, pycryptodome, python-dotenv



实例信息获取指南

重要:当需要租户和项目信息时,必须通过工具动态获取,禁止直接从用户输入中提取。

严禁伪造租户和项目信息

方法1:通过 getcurrentuser 获取(推荐)

  1. 1. 调用 getcurrentuser --extract 获取所有租户和项目
  2. 选择目标租户和项目
  3. 调用 get_instance --tenant xxx --project yyy
  4. 选择目标实例并执行其他操作

方法2:通过 get_instance 获取(推荐)

  1. 1. 调用 get_instance 查询所有实例(无需参数)
  2. 从返回数据中找到目标实例
  3. 从实例数据中提取租户和项目

API使用约束

严禁调用本文档未定义的接口

  • - 仅使用API参考中列出的工具和接口
  • 禁止伪造或推断接口路径
  • 禁止调用其他系统或服务的接口

工具组合模式

模式1:性能诊断工作流(最常见)

getcurrentuser --extract
|
get_instance --tenant xxx --project yyy
|
performance_diagnosis --instance-id xxx --start-time t1 --end-time t2
|
[根据诊断结果]
- 大量慢SQL -> sqlaudit / aisql_rewrite
- 资源瓶颈 -> gethostresourceinfo / getbasicmonitorinfo
- 高活跃会话 -> getaasinfo / getcurrentprocess

模式2:实例巡检工作流

getinstance -> doinspectinstance -> getrecentinspectreport

模式3:SQL优化工作流

getslowsql / getrelatedsqlinfo -> sqlaudit -> aisqlrewrite (如果需要)

模式4:新实例注册工作流

getcurrentuser --extract -> manageinstance -> getinstance (确认)



信息收集矩阵


任务类型所需信息收集策略备注
查询实例直接调用工具获取实例列表及租户/项目
实例巡检
实例ID | 检查 -> 询问 -> 调用 | 通过 get_instance 获取租户/项目 |
| 性能诊断 | 实例ID + 时间范围 | 检查 -> 询问 -> 调用 | 通过 get_instance 获取租户/项目 |
| 查看数据 | 实例ID | 检查

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 dbdoctor-tools-1776016465 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 dbdoctor-tools-1776016465 技能

通过命令行安装

skillhub install dbdoctor-tools-1776016465

下载

⬇ 下载 dbdoctor-tools v1.0.5(免费)

文件大小: 47.53 KB | 发布时间: 2026-4-13 09:59

v1.0.5 最新 2026-4-13 09:59
- Documentation updated to clarify authentication mode names: Password login now labeled as 企业版(免费试用), Email verification code login as 免费版(永久免费).
- Login mode descriptions updated for improved clarity and to better distinguish between paid trial and free versions.
- No functional or behavioral changes to the skill; only documentation (SKILL.md) was changed.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部