Token导航 LogoToken导航TokenDH.com
研究检索敏感数据clawhub未标认证来源可访问clear审计提醒

dbdoctor-tools数据库医生工具

Agent Skill

dbdoctor-tools 用于查找、检索和筛选相关信息,适合在 OpenClaw 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

6,477

周安装

262

GitHub Stars

公开资料未说明

下载量

2,033
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

请帮我安装这个 Agent Skill:dbdoctor-tools(数据库医生工具)
来源仓库:https://github.com/dbdoctor-das/dbdoctor-tools
安装命令:
openclaw skills install dbdoctor-tools
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

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

ClawHubOpenClaw
openclaw skills install dbdoctor-tools

简介

dbdoctor-tools 是 DBdoctor 平台工具,用于查询实例、慢 SQL 与性能指标。

  • 适合数据库性能诊断与报告生成场景。
  • 支持多种监控指标与可视化输出。dbdoctor-tools 属于研究检索类 Skill,可作为该场景下的辅助能力补充。
  • 安装命令为 openclaw skills install dbdoctor-tools。
  • 需接入对应数据库实例与授权账号。

SKILL.md

name
dbdoctor-tools
description
>
license
Apache-2.0
compatibility
Requires Python 3.9+ with requests, pycryptodome, python-dotenv packages. Network access to DBdoctor API server required.
allowed-tools
Bash Read
requires
env
commands
metadata
author
DBdoctor-DAS
version
1.1.0
tags
[database, performance, diagnosis, slow-sql, sql-audit, monitoring, dbdoctor]

Quick Start Examples

Scenario 1: Diagnose Instance Performance Issues (Recommended)

# 1. Get tenant and project
python scripts/get_current_user.py --extract

# 2. Get instance list
python scripts/get_instance.py --tenant [tenant] --project [project]

# 3. Execute comprehensive performance diagnosis (last 1 hour)
python scripts/performance_diagnosis.py --instance-id [instance_id] --start-time [start_ts] --end-time [end_ts]

Scenario 2: Execute Instance Inspection

# 1. Get tenant and project of the instance
python scripts/get_instance.py

# 2. Execute inspection
python scripts/do_inspect_instance.py --instance-id [instance_id] --tenant [tenant] --project [project]

# 3. Get inspection report
python scripts/get_recent_inspect_report.py --instance-id [instance_id] --start-time [start] --end-time [end] --tenant [tenant] --project [project]

Scenario 3: SQL Optimization

# 1. Get slow SQL list
python scripts/get_slow_sql.py --instance-id [instance_id] --start-time [start] --end-time [end]

# 2. Audit slow SQL
python scripts/sql_audit.py --instance-id [instance_id] --database [db] --schema [schema] --sql "[sql]"

# 3. Use AI to rewrite SQL (optional)
python scripts/ai_sql_rewrite.py --instance-id [instance_id] --database [db] --schema [schema] --sql "[sql]"

***

Security

Credential Management

This skill supports two authentication modes:

  • Mode 1 - Password login (企业版(免费试用)): Requires DBDOCTOR_URL, DBDOCTOR_USER, DBDOCTOR_PASSWORD.
  • Mode 2 - Email verification code login (免费版(永久免费), Windows/Mac): Requires DBDOCTOR_URL, DBDOCTOR_EMAIL. When a verification code is needed, the user will be prompted interactively.

If DBDOCTOR_EMAIL is configured, email mode takes precedence.

Credentials are managed by the platform and injected as environment variables at runtime. This skill does not write credentials to disk. The .token_cache file (API session token only) is the only file persisted locally and is listed in .gitignore.

Privileged Operations

Two tools perform write operations that require operator care:

  • execute\_sql: Executes arbitrary SQL on the target database. Review all SQL statements before execution. The tool does not enforce read-only restrictions.
  • manage\_instance: Registers new database instances to the platform. Verify all connection parameters (IP, port, credentials) before execution.

All other tools are read-only queries against the DBdoctor API.

Authentication Mechanism

The program supports two login methods:

  1. Password mode: Reads username/password from environment variables, AES-encrypts the password, and calls /nephele/login to obtain a Token.
  2. Email mode: Sends a verification code to the configured email via /drapi/user/verificationCode, prompts the user to enter the code, AES-encrypts it, and calls /nephele/login with authType=authCode.

Token is cached in .token_cache. When the token expires, the system automatically re-authenticates (password mode is silent; email mode prompts for a new verification code). No manual auth management is required.

***

Configuration

Set the following environment variables based on your login mode:

VariableDescriptionRequired
DBDOCTOR\_URLDBdoctor API base URL (e.g. http://host:port)Always
DBDOCTOR\_USERLogin username (also used as UserId)Password mode only
DBDOCTOR\_PASSWORDLogin password (sensitive)Password mode only
DBDOCTOR\_EMAILLogin email for verification codeEmail mode only
Note: If DBDOCTOR_EMAIL is set, email verification code mode is used. Otherwise, username/password mode is used.

Mode 1: Password login (企业版(免费试用))

# CLI configuration (recommended)
clawdbot skills config dbdoctor-tools DBDOCTOR_URL "http://[host]:[port]"
clawdbot skills config dbdoctor-tools DBDOCTOR_USER "[username]"
clawdbot skills config dbdoctor-tools DBDOCTOR_PASSWORD "[password]"

Mode 2: Email verification code login (免费版(永久免费))

# CLI configuration (recommended)
clawdbot skills config dbdoctor-tools DBDOCTOR_URL "http://[host]:[port]"
clawdbot skills config dbdoctor-tools DBDOCTOR_EMAIL "[email]"

Manual configuration

Edit ~/.clawdbot/clawdbot.json:

{
  skills: {
    entries: {
      "dbdoctor-tools": {
        env: {
          // Mode 1: Password login
          DBDOCTOR_URL: "http://[host]:[port]",
          DBDOCTOR_USER: "[username]",
          DBDOCTOR_PASSWORD: "[password]"

          // Mode 2: Email login (use this instead of USER/PASSWORD)
          // DBDOCTOR_URL: "http://[host]:[port]",
          // DBDOCTOR_EMAIL: "[email]"
        }
      }
    }
  }
}

System environment variables

# Linux / Mac - Password mode
export DBDOCTOR_URL="http://[host]:[port]"
export DBDOCTOR_USER="[username]"
export DBDOCTOR_PASSWORD="[password]"

# Linux / Mac - Email mode
export DBDOCTOR_URL="http://[host]:[port]"
export DBDOCTOR_EMAIL="[email]"

# Windows PowerShell - Password mode
$env:DBDOCTOR_URL="http://[host]:[port]"
$env:DBDOCTOR_USER="[username]"
$env:DBDOCTOR_PASSWORD="[password]"

# Windows PowerShell - Email mode
$env:DBDOCTOR_URL="http://[host]:[port]"
$env:DBDOCTOR_EMAIL="[email]"

Install Dependencies

pip install -r requirements.txt

Dependencies: requests, pycryptodome, python-dotenv

***

Instance Information Retrieval Guidelines

Important: When tenant and project information is needed, it must be dynamically retrieved through tools, and is prohibited from being extracted directly from user input.

Strictly prohibited from fabricating tenant and project information

Method 1: Retrieve via get_current_user (Recommended)

1. Call get_current_user --extract to get all tenants and projects
2. Select target tenant and project
3. Call get_instance --tenant xxx --project yyy
4. Select target instance and execute other operations

Method 2: Retrieve via get_instance (Recommended)

1. Call get_instance to query all instances (no parameters needed)
2. Find target instance from returned data
3. Extract tenant and project from instance data

API Usage Constraints

Strictly prohibited from calling interfaces not defined in this document

  • Only use tools and interfaces listed in the API Reference
  • Prohibited from fabricating or inferring interface paths
  • Prohibited from calling interfaces of other systems or services

***

Tool Combination Patterns

Pattern 1: Performance Diagnosis Workflow (Most Common)

get_current_user --extract
        |
get_instance --tenant xxx --project yyy
        |
performance_diagnosis --instance-id xxx --start-time t1 --end-time t2
        |
[Based on diagnosis results]
    - Many slow SQLs -> sql_audit / ai_sql_rewrite
    - Resource bottleneck -> get_host_resource_info / get_basic_monitor_info
    - High active sessions -> get_aas_info / get_current_process

Pattern 2: Instance Inspection Workflow

get_instance -> do_inspect_instance -> get_recent_inspect_report

Pattern 3: SQL Optimization Workflow

get_slow_sql / get_related_sql_info -> sql_audit -> ai_sql_rewrite (if needed)

Pattern 4: New Instance Registration Workflow

get_current_user --extract -> manage_instance -> get_instance (confirm)

***

Information Collection Matrix

Task TypeRequired InformationCollection StrategyNotes
Query InstanceNoneCall tool directlyGet instance list and tenant/project
Instance InspectionInstance IDCheck -> Ask -> Calltenant/project via get_instance
Performance DiagnosisInstance ID + Time RangeCheck -> Ask -> Calltenant/project via get_instance
View DataInstance IDCheck -> Ask -> Calltenant/project via get_instance

For detailed processing strategies, decision trees and rules: reference/agent_guidelines.md

***

Tool API Reference

For complete API documentation with parameters, examples, and related pages, see: reference/api_reference.md

Quick Reference: Parameter Requirements Summary

ToolRequired Parameters
get\_instanceNone (returns all instances)
get\_current\_userNone (get current user tenant-project info)
get\_instance\_abnormal--instance-id
get\_database\_by\_instance--instance-id
manage\_instance--ip, --port, --engine, --db-user, --db-password, --db-version, --tenant, --project
get\_slow\_sql--instance-id, --start-time, --end-time
get\_table\_ddl--instance-id, --database, --schema, --table
execute\_sql--instance-id, --database, --schema, --sql, --engine, --tenant, --project
sql\_audit--instance-id, --database, --schema, --sql
get\_sql\_audit\_rules--engine (optional), --priority (optional)
do\_inspect\_instance--instance-id, --tenant (optional), --project (optional)
get\_recent\_inspect\_report--instance-id, --start-time, --end-time, --tenant, --project
get\_inspect\_itemNone
get\_current\_process--instance-id
alert\_message--status (optional), --priority (optional), --instance-ip (optional)
performance\_diagnosis--instance-id, --start-time, --end-time (comprehensive, recommended)
get\_basic\_monitor\_info--instance-id, --start-time, --end-time
get\_host\_resource\_info--instance-id, --start-time, --end-time
get\_db\_parameter\_info--instance-id
get\_aas\_info--instance-id, --start-time, --end-time
get\_related\_sql\_info--instance-id, --start-time, --end-time
get\_instance\_info--instance-id
get\_slow\_sql\_by\_time--instance-id, --start-time, --end-time
ai\_sql\_rewrite--instance-id, --database, --schema, --sql
get\_sql\_rewrite\_result--task-id

***

Notes

  1. Timestamps: Time range parameters use Unix timestamps (seconds), not milliseconds
  2. Schema: For MySQL, schema name equals database name
  3. Engine Types: mysql, oracle, postgresql, dm (Dameng), sqlserver, oracle-rac
  4. SQL Parameter: When --sql contains spaces or special characters, wrap in quotes
  5. tenant/project: Must be obtained via get_instance — never fabricate or extract from user input
  6. Time Range Default: Alert queries default to last 2 hours if not specified
  7. Performance Diagnosis: Recommended time ranges: last 1h, 6h, or 24h

Reference Document Index

  • reference/api_reference.md - Complete Tool API Reference (parameters, examples, related pages)
  • reference/performance_diagnosis_guide.md - Performance Diagnosis Knowledge Base
  • reference/best_practices.md - Best Practices Guide
  • reference/audit_and_inspection_rules.md - SQL Audit Rules and Inspection Rules
  • reference/troubleshooting.md - Common Issues and Solutions
  • reference/agent_guidelines.md - Agent Processing Strategies and Decision Guidelines

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

76.89%
按下载量换算1,563

安全审计

VirusTotal

可疑

ClawScan

可疑

Static analysis

通过

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills