AI 面板的目标:让「写不出的 SQL」和「看不懂的 SQL」不再阻塞你。 ## Ask 的操作 | 动作 | 用途 | | --- | --- | | 自由提问 | 结合当前 SQL 与库结构回答问题 | | 生成 SQL | 自然语言 → SQL(「查最近 7 天下单但未支付的用户」) | | 解释 | 把一段复杂 SQL 翻译成中文说明 | | 优化 | 分析慢查询,给出索引 / 改写建议 | | 修复 | 报错信息 + SQL → 修正版本 | | 样例 | 按表结构生成示例查询 | ## Ask | Agent 侧栏输入框下方的下拉框切换模式,默认 Ask: | 模式 | 行为 | | --- | --- | | **Ask** | 回答问题或建议 SQL;不执行数据库工具,也不自动改动 SQL 窗口。点击回复里的「复制到 SQL 窗口」后可自行执行 | | **Agent** | 使用与 MCP 同源的工具查询、分析当前编辑器绑定的连接与库(Redis 为当前 DB);展示步骤与结果,可在结果区打开 | Agent 支持 openai-chat(DeepSeek 等)、Anthropic messages、OpenAI responses。当前连接须在 `~/.opsxdb/mcp.json` 白名单内;Agent 的工具调用限定在当前连接/库,外部 MCP 客户端仍按自己的白名单运行。数据库账号本身的跨库权限仍由数据库控制。 默认 **只读**。若将 `mode` 设为 `read_write`,写操作仍须在气泡确认条核对连接、库、语句后点「执行」(一次一刀);切库后原确认失效,模型不能自行带确认令牌。 ## MCP 把同一套工具暴露给 Cursor / Claude / Codex: ```bash npm install -g @rlwj-lab/opsxdb-mcp@latest # 另需 Go 二进制,见 MCP 接入文档 npx -y @rlwj-lab/opsxdb-mcp ``` 在桌面 **设置 → MCP** 可检测安装、切换只读/危险 SQL、勾选连接白名单,并复制 Cursor / Claude Code / VS Code 等配置片段。完整说明见 [MCP 接入](/docs/mcp)。 白名单写在 `~/.opsxdb/mcp.json` 的 `allowed_connection_ids`;空白名单拒绝全部连接。审计:`~/.opsxdb/logs/mcp-audit.jsonl`。 侧栏标题旁仅在外部 MCP **近期有调用**时显示绿色「MCP」点;悬停/点击可看最近摘要。 ## 使用方式 1. 连接库后打开右侧 AI 面板; 2. 选择动作,输入需求或粘贴 SQL(可附上对象树上下文); 3. 核对生成结果,点击「复制到 SQL 窗口」,再按 ⌘/Ctrl + Enter 执行。 > **提示**:生成的 SQL 依旧走危险语句确认流程 —— AI 产出与手写 SQL 同等对待,不放宽防护。 ## 配置服务 点击桌面右上角「设置」,在「大模型 → AI 供应商」选择服务,填写模型、API 密钥和接口地址,再点击「保存」或「测试连接」(测试会先保存配置)。也可以从 AI 面板的设置入口配置。 支持离线演示和 OpenAI 兼容服务。已保存的 API Key 不回显,留空保存表示保留原密钥。配置加载失败时可重试。 ## 数据流向承诺 接入模型服务时遵循三条原则: - 默认只发送你明确提交的内容(不含连接凭据); - 可完全关闭 AI 功能; - 使用云端模型时在界面上明确标识。 AI 自动跟随 SQL 编辑器当前连接与数据库(Redis 显示 DB 编号,集群固定 DB0),输入框上方可核对目标。Ask 模式下选择自由提问、生成 SQL、解释、优化、修复或样例后发送;Shift+Enter 换行。切换标签时,晚到的建议只留在回复里,不会改写 SQL 窗口。