OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  db-query:支持自动 SSH 隧道管理的项目数据库查询工具

db-query:支持自动 SSH 隧道管理的项目数据库查询工具

 
  docker ·  2026-02-16 08:33:20 · 3 次点击  · 0 条评论  

名称: db-query
描述: 通过自动管理 SSH 隧道来查询项目数据库。当你需要对已配置的数据库执行 SQL 查询时使用此功能,尤其适用于仅能通过 SSH 隧道访问的数据库。自动管理 SSH 连接的生命周期(查询前建立隧道,查询后关闭)。支持通过配置文件中的描述/名称来区分多个数据库。


数据库查询

概述

通过集中配置文件查询数据库,并自动管理 SSH 隧道。处理连接详情、SSH 隧道的建立/拆除以及查询执行。

配置

设置步骤

  1. 创建配置文件~/.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

  2. 添加数据库条目,需包含以下字段:

    • name: 用于查找数据库的描述(必需)
    • host: 数据库主机地址(必需)
    • port: 数据库端口(默认:3306)
    • database: 数据库名称(必需)
    • user: 数据库用户名(必需)
    • password: 数据库密码(必需)
    • ssh_tunnel: 可选的 SSH 隧道配置
  3. SSH 隧道配置(如需要):

    • enabled: true/false
    • ssh_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"

环境要求

  • MySQL 客户端:apt install mysql-client 或等效安装
  • SSH 客户端:通常在 Linux/Mac 上已预装
  • Python 3.6+

注意事项

  • SSH 隧道在查询执行后会自动关闭
  • 使用 --list 参数查看所有已配置的数据库及其描述
  • 数据库搜索不区分大小写,并对 name 字段进行部分匹配
  • SSH 隧道的本地端口应为每个数据库配置唯一值
3 次点击  ∙  0 人收藏  
登录后收藏  
目前尚无回复
0 条回复
About   ·   Help   ·    
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
Developed with Cursor