名称: db-query
描述: 通过自动管理 SSH 隧道来查询项目数据库。当你需要对已配置的数据库执行 SQL 查询时使用此功能,尤其适用于仅能通过 SSH 隧道访问的数据库。自动管理 SSH 连接的生命周期(查询前建立隧道,查询后关闭)。支持通过配置文件中的描述/名称来区分多个数据库。
通过集中配置文件查询数据库,并自动管理 SSH 隧道。处理连接详情、SSH 隧道的建立/拆除以及查询执行。
创建配置文件 于 ~/.config/clawdbot/db-config.json:
bash
mkdir -p ~/.config/clawdbot
# 复制示例配置文件并进行编辑
cp /usr/lib/node_modules/clawdbot/skills/db-query/scripts/config.example.json ~/.config/clawdbot/db-config.json
添加数据库条目,需包含以下字段:
name: 用于查找数据库的描述(必需)host: 数据库主机地址(必需)port: 数据库端口(默认:3306)database: 数据库名称(必需)user: 数据库用户名(必需)password: 数据库密码(必需)ssh_tunnel: 可选的 SSH 隧道配置SSH 隧道配置(如需要):
enabled: true/falsessh_host: 远程 SSH 主机ssh_user: SSH 用户名ssh_port: SSH 端口(默认:22)local_port: 要转发的本地端口(例如:3307)remote_host: SSH 后的远程数据库主机(默认:localhost)remote_port: 远程数据库端口(默认:3306){
"databases": [
{
"name": "生产用户库",
"host": "localhost",
"port": 3306,
"database": "user_db",
"user": "db_user",
"password": "secret",
"ssh_tunnel": {
"enabled": true,
"ssh_host": "prod.example.com",
"ssh_user": "deploy",
"local_port": 3307
}
}
]
}
python3 /usr/lib/node_modules/clawdbot/skills/db-query/scripts/db_query.py --list
python3 /usr/lib/node_modules/clawdbot/skills/db-query/scripts/db_query.py \
--database "生产用户库" \
--query "SELECT * FROM users LIMIT 10"
脚本将执行以下操作:
1. 根据描述在配置文件中匹配数据库
2. 启动 SSH 隧道(如果已配置)
3. 执行查询
4. 自动关闭 SSH 隧道(重要,用于清理)
python3 /usr/lib/node_modules/clawdbot/skills/db-query/scripts/db_query.py \
--config /path/to/custom-config.json \
--database "test" \
--query "SHOW TABLES"
apt install mysql-client 或等效安装--list 参数查看所有已配置的数据库及其描述name 字段进行部分匹配