作为开发者,我们都有过这样的经历:公司政策突然收紧,商业软件许可证成本飙升,或者某些工具在特定环境下无法使用。正是在这样的背景下,CatAIDBViewer应运而生。
当熟悉的Navicat等商业数据库管理工具不再可用时,我们面临着一个选择:是寻找其他替代品,还是自己动手打造一个真正符合需求的工具?选择了后者,并且在AI的助力下,我们成功开发出了这款轻量级但功能完备的数据库管理工具。
CatAIDBViewer(乖猫数据库查看器)是一款基于PyQt6和SQLAlchemy构建的桌面数据库客户端,专为开发者和数据库管理员设计。它的核心理念是:

主界面采用经典的三栏布局:
这种布局既熟悉又高效,让从其他数据库工具迁移过来的用户能够快速上手。


编辑器是整个工具的核心,具备以下特性:
这是CatAIDBViewer的一大亮点功能。点击"NL → SQL"按钮,可以:
示例输入:"查询2024年销售额最高的前10个客户"
AI输出:SELECT customer_name, SUM(amount) as total_sales
FROM orders
WHERE YEAR(order_date) = 2024
GROUP BY customer_id, customer_name
ORDER BY total_sales DESC
LIMIT 10;
模式查看器提供数据库结构的完整视图:
这个功能对于理解复杂数据库结构、进行数据建模分析特别有用。
支持多种格式的数据导出:
┌─────────────────┐
│ UI Layer │ PyQt6界面层
├─────────────────┤
│ Business Layer │ 业务逻辑层
├─────────────────┤
│ Data Layer │ SQLAlchemy数据层
└─────────────────┘src/
├── app.py # 应用入口
├── main_window.py # 主窗口逻辑
├── db/ # 数据库抽象层
│ ├── connection.py # 连接管理
│ ├── executor.py # SQL执行器
│ └── metadata.py # 元数据处理
├── editor/ # 编辑器组件
│ └── sql_editor.py # SQL编辑器
├── ui/ # UI组件
│ ├── connection_dialog.py
│ ├── schema_viewer.py
│ └── ai_settings_dialog.py
└── utils/ # 工具函数
├── ai_client.py # AI客户端
├── csv_export.py # 导出功能
└── settings.py # 配置管理CatAIDBViewer集成了先进的AI能力,最大的亮点是自然语言转SQL功能:
用户可以灵活配置AI服务:
在企业环境中,数据安全至关重要:
# 克隆项目
git clone https://github.com/isee15/open-navicat.git
# 创建虚拟环境
python -m venv .venv
.venv\Scripts\activate # Windows
# source .venv/bin/activate # Linux/macOS
# 安装依赖
pip install -r requirements.txt
# 安装数据库驱动(按需)
pip install PyMySQL psycopg2-binary
# 运行应用
python src/app.py支持PyInstaller打包为独立可执行文件:
pyinstaller --onefile --windowed src/app.py功能 | CatAIDBViewer | Navicat |
|---|---|---|
价格 | 开源免费 | 商业收费 |
AI集成 | ✅ 自然语言转SQL | ❌ 无 |
自定义扩展 | ✅ 开源可修改 | ❌ 闭源 |
跨平台 | ✅ Python跨平台 | ✅ 支持 |
数据库支持 | MySQL, PostgreSQL, SQLite | 更多数据库 |
可视化设计器 | ❌ 暂无 | ✅ ER图设计 |
数据同步 | ❌ 暂无 | ✅ 支持 |
项目地址:GitHub - CatAIDBViewer 问题反馈:Issues 技术交流:Discussions
“当工具成为创新的催化剂,每一行代码都在书写未来。”
App Store 截图生成器、应用图标生成器 、在线图片压缩和 Chrome插件-强制开启复制-护眼模式-网页乱码设置编码 乖猫记账,AI智能分类的最佳聊天记账App。 Elasticsearch可视化客户端工具