【免费下载链接】gridex
A native macOS / windows / Linux database IDE built with Swift and AppKit. Connect to PostgreSQL, MySQL, SQLite, and Redis from a single app with a fast, keyboard-driven interface.
Gridex 是一款 AI 原生的原生数据库 IDE,其内置的Gridex AI Chat能把 Claude、GPT、Gemini 和 Ollama 变成你的数据库助手:用自然语言提问,它会自动读取当前连接的表结构(Schema),生成符合 PostgreSQL、MySQL、SQLite 等方言的可执行 SQL,一键复制即可运行。本文带你拆解它的完整工作机制与实用技巧。
一、Gridex:一个会写 SQL 的跨平台数据库客户端
在了解 AI Chat 之前,先认识一下它所在的"家"。Gridex 同时覆盖三大平台,且都是真正的原生应用(macOS 用 Swift + AppKit,Windows 用 WinUI 3,Linux 用 Qt 6),没有 Electron 套壳:
| 平台 | 技术栈 | 目录 |
|---|---|---|
| macOS | Swift 5.10+ / AppKit + SwiftUI | macos/ |
| Windows | C++ / WinUI 3 | windows/Gridex/ |
| Linux | C++20 / Qt 6 | linux/src/ |
它一套应用就能连接 7 种数据库:PostgreSQL、MySQL、SQLite、Redis、MongoDB、SQL Server、ClickHouse,所有引擎共用同一个DatabaseAdapter协议,因此网格、查询编辑器、ER 图、备份和 AI Chat 在每种数据库上体验一致。更多项目背景见 README.md。
二、AI Chat 工作流程:从自然语言到可执行 SQL
如上图右侧的AI Assistant面板,一次对话的完整链路只有 4 步:
- 提问:在输入框输入自然语言问题(如"Find the top 10 records by date");
- 组装上下文:AIContextEngine.swift 从当前连接的 Schema 中挑出与问题最相关的表,拼成系统提示词;
- 流式生成:请求从你的电脑直连 AI 服务商,逐字流式返回回答(源码见 AIChatView.swift);
- 渲染与复制:回答中的
```sql代码块会被解析成带 Copy 按钮的代码卡片,复制到查询编辑器执行即可。
首次打开 AI 面板时,会有 4 个建议提示词帮你快速上手(定义于 AIChatView.swift):
| 建议提示词 | 适合场景 |
|---|---|
| Show me the schema of all tables | 快速了解整库结构 |
| Find the top 10 records by date | 按日期取 Top 10 记录 |
| Generate a SQL query to count rows | 行数统计 |
| Explain the relationships between tables | 理清表间关系 |
三、Schema 上下文引擎:AI 如何"看懂"你的表结构
这是 Gridex AI Chat 的核心魔法,实现非常精炼,就在 AIContextEngine.swift:
- 关键词打分选表:把你问题中的每个词与表名(+10 分)、列名(+5 分)、外键引用的表(+3 分)比对,取得分最高的15 张表;若完全无匹配,则回退到前 20 张表;
- DDL 注入:命中的表通过
toDDL(dialect:)转成 CREATE TABLE 语句注入提示词,保证 AI 拿到的列名、类型、主键完全准确; - Token 预算:按"约 4 字符 = 1 token"估算,聊天时预算为 8000 token,避免大库把上下文撑爆;
- 系统提示词规则(AIContextEngine.swift):要求生成符合目标数据库方言的 SQL、对用户输入使用参数化查询、解释推理过程、执行前等待用户确认。
所以输出一定是"贴着"你的真实结构写的,例如:
SELECT order_id, customer_id, total_amount FROM public.orders ORDER BY order_date DESC LIMIT 10;这些表结构数据同时也是 ER 图的数据源——AI 和 ER 图读的是同一份 SchemaSnapshot.swift:
四、支持哪些 AI 模型?Claude、GPT、Gemini 与 Ollama 对比
macOS 端的 5 个 Provider 各自独立实现,全部符合流式优先的 LLMService.swift 协议;Linux 端由 AIServiceFactory.cpp 统一创建相同的服务商:
| AI 服务商 | 认证方式 | 默认模型 | 特点 |
|---|---|---|---|
| Anthropic (Claude) | API Key | claude-sonnet-4-6 | 流式 + 工具调用 + 扩展思考 |
| OpenAI (GPT) | API Key | GPT-4.x / 5.x | Function calling |
| Google Gemini | API Key | gemini-2.5-flash | Flash / Pro 两档 |
| Ollama | 本地,无需 API Key | llama3 等本地模型 | 完全离线 |
| ChatGPT (Sign in) | OAuth 登录 | gpt-5.4 | 复用 ChatGPT 账号 |
几个值得注意的设计:
- 🔄聊天窗口内直接切换:点击面板顶部的服务商状态条,即可在不离开聊天的情况下切换 Provider 和模型;
- 🔒密钥只存本地:API Key 存放在 macOS Keychain / Windows 凭据管理器,请求从你的机器直连服务商,Gridex 不做任何代理;
- 🏠Ollama 零配置:本地模型走 OllamaProvider.swift 的原生
/api/chatNDJSON 流式接口,自动拉取localhost:11434上已下载的模型列表,数据不出内网; - 🧩可扩展:macOS 还预留了 Azure OpenAI、Groq、OpenRouter 等 OpenAI 兼容端点,方便接入自托管推理服务。
五、实用技巧:让 AI 更懂你的业务
- 📎 附加指定表:输入框左侧的
+按钮可以"Attach Tables"。选中的表结构会以--- Schema Context ---段内联进消息(AIChatView.swift),强制 AI 聚焦你指定的表,回答更精准; - 🗂 每个连接独立会话:聊天记录按数据库连接隔离(存于 AppState),切换连接不会串台,点重置按钮即可开启新对话;
- 📋 先复制后执行:AI 输出的 SQL 一律以代码块呈现,带 Copy 按钮。粘贴进查询编辑器执行前,你始终有机会人工审核——这是官方提示词明确要求的"执行前确认"策略;
- 💬 追问式迭代:历史消息会完整随请求发送,可以持续追问"给这个查询加上按月份分组",AI 记得前文。
六、进阶:MCP Server,让外部 AI 客户端也能接入你的数据库
除了内置 AI Chat,Gridex 还内置了一个MCP(Model Context Protocol)服务器,把数据库能力开放给 Claude Desktop、Cursor 等外部 AI 客户端(MCPServer.swift):
- 15 个工具覆盖查结构(list_tables、describe_table)、只读查询(query、explain_query)到受控写入(insert_rows 等);
- 三级权限:每条连接可设为
locked/read_only/read_write,SQL 净化器会拒绝越权语句,写操作还需行数预估 + 人工批准; - 完整审计日志:每次工具调用的 SQL、耗时、状态都留痕,随时回答"AI 昨晚到底动了什么数据"。
七、关键源码导航
想深入源码?按这条线索走最快:
- 上下文引擎:AIContextEngine.swift
- 聊天界面与消息流:AIChatView.swift
- 模型服务商:macos/Services/AI/Providers/
- Linux 端实现:AIChatViewModel.cpp
- Windows 端实现:AiService.h
- MCP 工具与安全层:macos/Services/MCP/
结语
Gridex AI Chat 的思路很清晰:不让 AI 猜你的表,而是把真实 Schema 精准喂给它——关键词选表、DDL 注入、方言约束、执行前确认,层层兜底。无论你是想省 API Key 用 Ollama 本地跑,还是接入 Claude / GPT / Gemini 尝鲜,只需在设置里填好配置,用自然语言聊着天就能写出生产级 SQL。
【免费下载链接】gridex
A native macOS / windows / Linux database IDE built with Swift and AppKit. Connect to PostgreSQL, MySQL, SQLite, and Redis from a single app with a fast, keyboard-driven interface.
相关推荐
Mini-Gemini深度解析:如何让AI真正"看懂"图像并智能回答
你是否曾经想过,AI不仅能识别图像中的物体,还能像人类一样理解图像背后的含义并进行深度对话?Mini Gemini正是这样一个创新性的多模态AI框架,它让计算机
OmniTool深度解析:AI如何真正"看懂"你的电脑屏幕?
OmniTool深度解析:AI如何真正"看懂"你的电脑屏幕? 还在为复杂的自动化脚本和API集成而烦恼吗?想象一下,如果AI能够像人类一样直接"看懂"电脑屏幕并
人工智能计算机视觉AI AgentGUI 自动化大模型如何让AI同时"看懂"文字和图片?多模态技术深度解析
如何让AI同时"看懂"文字和图片?多模态技术深度解析 想象一下,你给AI一张海滩照片和文字"夕阳下的冲浪者",它就能生成一段动态的冲浪视频。这种看似科幻的场景,
人工智能大模型媒体生成预训练微调
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考