跳到主要内容

查询编辑器

OpsKat 为每种数据资产类型都内置了控制台。每种类型使用最契合其数据模型的界面,因此没有一个适用于所有类型的统一编辑器

资产类型控制台
MySQL / PostgreSQL / SQL Server / SQLite共享的 Monaco SQL 编辑器(见下文)
MongoDB专用的 MongoDB 面板 —— 集合浏览器 + mongosh 风格查询编辑器
Redis键浏览器 + 命令控制台(无 SQL 编辑器)
etcd专用的 etcd 面板 —— KV 树浏览器 + 查询栏
Kafka专用的 Kafka 面板 —— 基于表单的 Broker/Topic/消费者组/ACL/Schema 界面

数据库连接可以通过 SSH 隧道进行安全访问。

SQL 编辑器

四种 SQL 驱动 —— MySQL、PostgreSQL、SQL Server 和 SQLite —— 共享同一个基于 Monaco 的 SQL 编辑器。

连接

从侧边栏选择数据库资产并打开 查询 标签页。如果数据库资产配置了 SSH 隧道,OpsKat 会先建立 SSH 连接,再通过隧道连接数据库。

左侧的库/表树可用于浏览数据库和表,并直接在数据网格中打开某张表。

编写和执行查询

  • 在编辑器中编写 SQL,支持语法高亮和表名自动补全
  • Ctrl/Cmd+Enter 执行(选中的文本,若未选中则执行整个编辑器内容)
  • SELECTSHOWDESCRIBEEXPLAIN 语句以行的形式返回结果
  • INSERTUPDATEDELETE 语句返回受影响的行数
  • 可以从下拉菜单为特定查询覆盖默认数据库
  • 查询历史弹窗保留最近的语句,并可从代码片段库插入 SQL 片段
  • 危险语句(如 DELETEDROPTRUNCATEALTER)在执行前会要求确认

SQL 分析

OpsKat 使用 TiDB Parser 在执行前分析 SQL 语句。这提供了以下能力:

  • 语句分类 — 自动识别语句类型(SELECT、INSERT、UPDATE、DELETE、DROP、TRUNCATE 等)
  • 危险模式检测 — 标记高风险操作,例如:
    • 不带 WHERE 子句的 DELETEUPDATE
    • PREPARE 语句
    • CALL 语句
  • 策略执行 — 语句类型和标记会在执行前与资产的查询策略进行比对

结果网格

查询结果以分页表格形式展示:

  • 列标题与查询输出的列名对应
  • 每页行数可配置(50 / 100 / 200 / 500 行)
  • INSERT / UPDATE / DELETE 会显示受影响的行数
  • 结果可以导出

Redis

Redis 资产使用 SQL 编辑器,而是打开一个键浏览器加命令控制台。

连接

选择 Redis 资产并打开 查询 标签页。与数据库类似,Redis 连接也可以通过 SSH 资产进行隧道连接。

键浏览器

键浏览器提供了可视化界面来浏览 Redis 数据:

  • 树形(按分隔符分组,默认 :)或扁平列表视图浏览键
  • 使用 glob 模式过滤键(基于 SCAN,例如 user:*
  • 从底部选择器切换数据库(db0、db1 …)
  • 打开某个键以查看和编辑其值、类型和 TTL —— 针对字符串、哈希、列表、集合、有序集合和流提供专用编辑器
  • 创建和删除键,以及编辑或移除 TTL

命令控制台

每个键的详情视图都包含一个命令输入框,用于运行任意 Redis 命令,结果会根据命令返回类型(字符串、整数、列表、哈希、nil)格式化。概览 标签页展示 INFO 的服务器/内存/键空间统计,并可选择自动刷新。

策略执行

通过这些控制台执行的所有查询和命令都与 AI 智能体操作遵循相同的策略规则

  • SQL — 根据资产的查询策略检查(允许/拒绝的语句类型、危险模式标记)
  • Redis — 根据资产的 Redis 策略检查(允许/拒绝的命令模式)
  • MongoDBetcdKafka — 根据各自的策略类别检查

如果操作被策略拒绝,将不会执行。如果需要确认,执行前会提示你进行审批。