CLI-First, AI-Native Database Management Tool
A free, open-source alternative to Navicat Premium, built with Python.
OpenNavicat is a full-featured database management tool inspired by Navicat Premium. It provides both a CLI-first interface and an optional GUI (PySide6/Qt), with built-in AI capabilities for natural language queries, SQL optimization, and schema design.
- CLI-First — Every operation has a CLI command. AI (LLM) can call CLI directly.
- AI-Native — Natural language to SQL, query optimization, auto-fix broken SQL, intelligent data generation.
- Full GUI — Navicat-like graphical interface with object browser, SQL editor, table designer, data viewer, BI dashboard, and more.
- Multi-Database — MySQL/MariaDB + PostgreSQL + SQLite + MongoDB + Redis.
- 7 Export Formats — CSV, JSON, XML, HTML, SQL, TXT, Excel.
- Privacy-First — Data masking for AI requests. Full offline mode with Ollama. Encrypted credential storage.
- Open Source — MIT License. Free for personal and commercial use.
| Feature | OpenNavicat | Navicat Premium | DBeaver EE | DataGrip |
|---|---|---|---|---|
| Price | Free (MIT) | $599/yr | $299/yr | $199/yr |
| CLI-First | ✅ Native | ❌ | ❌ (dbeaver-cli limited) |
❌ |
| AI-Native (NL2SQL, optimize, fix) | ✅ Built-in | ✅ (paid add-on) | ❌ | 🟡 (AI Assistant) |
| ReAct Agent | ✅ Multi-step | ❌ | ❌ | ❌ |
| Schema RAG | ✅ Vector/keyword | ❌ | ❌ | ❌ |
| Cross-Platform | ✅ Win/Mac/Linux | ✅ Win/Mac | ✅ Win/Mac/Linux | ✅ Win/Mac/Linux |
| MySQL / PG / SQLite | ✅ | ✅ | ✅ | ✅ |
| MongoDB / Redis | ✅ | ✅ | ✅ | ✅ |
| BI Dashboard | ✅ Built-in (no ext libs) | ✅ | ❌ | ❌ |
| ER Model Designer | ✅ Conceptual/Logical/Physical | ✅ | ✅ | ✅ |
| Schema & Data Sync | ✅ MySQL↔PG | ✅ | ✅ | ❌ |
| Scheduled Automation | ✅ (APScheduler) | ✅ | ❌ | ❌ |
| SSH Tunnel | ✅ (asyncssh) | ✅ | ✅ | ✅ |
| i18n | ✅ zh_CN / en_US | ✅ 10+ langs | ✅ 20+ langs | ✅ 15+ langs |
| CLI ↔ GUI Bridge | 🚧 Planned | ❌ | ❌ | ❌ |
| Plugin System | 🔮 Future | ❌ | ✅ | ✅ |
| Open Source | ✅ MIT | ❌ Proprietary | 🟡 (Community edition) | ❌ Proprietary |
| Docker Image | ✅ ghcr.io | ❌ | ❌ | ❌ |
One-liner (auto-downloads latest CLI for your platform):
# Linux/macOS
curl -fsSL https://github.com/hackmagic/OpenNavicat/releases/latest/download/install.sh | bash
# Windows (PowerShell)
iwr -Uri https://github.com/hackmagic/OpenNavicat/releases/latest/download/install.ps1 | iexInstall via pip (recommended — includes both CLI and GUI):
pip install open-navicatOr use Docker (CLI only, lightweight):
docker run --rm ghcr.io/hackmagic/opennavicat:latest conn listOr download standalone executables from Releases:
| Package | Platform | Description | Size |
|---|---|---|---|
opennavicat-cli-* |
Win/Mac/Linux | CLI only (no Qt) | ~15 MB |
opennavicat-* |
Win/Mac/Linux | Full GUI with PySide6 | ~120 MB |
Package managers: If you'd like to see OpenNavicat on Homebrew, Scoop, or Chocolatey, upvote or open an issue on GitHub!
# Add a connection
opennavicat conn add --name prod --host db.example.com --user root --test
# Activate connection
opennavicat conn open prod
# Natural language query
opennavicat query nl "show me the top 10 customers by revenue"
# Execute SQL
opennavicat query run "SELECT COUNT(*) FROM users"
# Launch GUI
opennavicat gui| Command | Description | Example |
|---|---|---|
query nl |
Natural language → SQL → Execute | query nl "users registered last 7 days" |
ai optimize |
SQL performance analysis | ai optimize "SELECT * FROM t WHERE YEAR(d)=2026" |
ai explain |
Plain language SQL explanation | ai explain "SELECT ... LEFT JOIN ..." |
ai fix |
Fix broken SQL queries | ai fix "SELCT * FORM users" |
ai chat |
Interactive data analysis | ai chat --conn prod |
ai agent |
ReAct multi-step reasoning | ai agent "query all active users" --db mydb |
ai config |
Configure AI provider | ai config --provider deepseek --api-key sk-xxx |
ai test |
Test AI connection | ai test |
ai chat-history |
View/clear chat history | ai chat-history show |
schema design |
AI schema design | schema design "blog: users, posts, comments" --deploy |
data generate |
Intelligent test data | data generate mydb.users --count 1000 |
opennavicat
├── conn Connection management
│ ├── list / add / edit / remove / test / open / close
│
├── query SQL queries
│ ├── run / file / explain / nl / history
│
├── schema Schema management
│ ├── databases / list / show / create / diff / sync / design
│
├── data Data operations
│ ├── browse / export / import / generate
│
├── backup Backup & restore
│ ├── create / restore / list / delete / history / schedule
│ ├── jobs / job-remove / job-toggle
│
├── ai AI assistant
│ ├── ask / optimize / explain / fix / chat / tables
│ ├── agent / config / test / chat-history
│
└── gui Launch GUI (optional)
| Component | Technology |
|---|---|
| CLI Framework | Typer + Rich |
| GUI Framework | PySide6 (Qt 6) |
| Database Driver | aiomysql + asyncpg + aiosqlite + motor + redis.asyncio (async) |
| SSH Tunnel | asyncssh |
| SQL Parser | sqlparse |
| Password Encryption | cryptography (AES-GCM) |
| AI Engine | OpenAI / DeepSeek / Ollama |
| Scheduler | APScheduler |
| Packaging | PyInstaller |
| Document | For | Description |
|---|---|---|
| CLI Reference | All users | Complete CLI command reference |
| AI Module | Developers | AI architecture, prompts, provider config |
| Architecture | Developers | System architecture, module design |
| Security | Ops/Security | Encryption, transport security |
| Privacy | All users | Data sent to AI, data masking, Ollama offline setup |
| Tutorials | All users | End-to-end walkthroughs |
| Development Guide | Contributors | Setup, code standards, testing |
| Data Flow | Developers | Data flow diagrams |
| Deployment | Ops | Packaging, CI/CD, Docker |
We welcome contributions! Please read CONTRIBUTING.md first.
MIT License — Free for personal and commercial use.
OpenNavicat 是一款功能齐全的数据库管理工具,灵感来源于 Navicat Premium。它提供 CLI 优先 的操作方式和可选的 图形界面(PySide6/Qt),内置 AI 能力,支持自然语言查询、SQL 优化和结构设计。
- CLI 优先 — 每个操作都有对应的 CLI 命令,AI (LLM) 可直接调用。
- AI 原生 — 自然语言转 SQL、查询优化、自动修复错误 SQL、智能数据生成。
- 完整 GUI — 类 Navicat 图形界面,包含对象浏览器、SQL 编辑器、表设计器、数据查看器、BI 看板等。
- 多数据库 — MySQL/MariaDB + PostgreSQL + SQLite + MongoDB + Redis。
- 7 种导出格式 — CSV、JSON、XML、HTML、SQL、TXT、Excel。
- 隐私优先 — AI 请求自动脱敏,支持 Ollama 全离线模式,凭据加密存储。
- 开源免费 — MIT 许可证,个人和商业用途均可免费使用。
| 特性 | OpenNavicat | Navicat Premium | DBeaver EE | DataGrip |
|---|---|---|---|---|
| 价格 | 免费 (MIT) | $599/年 | $299/年 | $199/年 |
| CLI 优先 | ✅ 原生支持 | ❌ | ❌ (dbeaver-cli 有限) |
❌ |
| AI 原生 (NL2SQL、优化、修复) | ✅ 内置 | ✅ (付费附加) | ❌ | 🟡 (AI Assistant) |
| ReAct Agent | ✅ 多步推理 | ❌ | ❌ | ❌ |
| Schema RAG | ✅ 向量/关键词 | ❌ | ❌ | ❌ |
| 跨平台 | ✅ Win/Mac/Linux | ✅ Win/Mac | ✅ Win/Mac/Linux | ✅ Win/Mac/Linux |
| MySQL / PG / SQLite | ✅ | ✅ | ✅ | ✅ |
| MongoDB / Redis | ✅ | ✅ | ✅ | ✅ |
| BI 看板 | ✅ 内置 (零外部库) | ✅ | ❌ | ❌ |
| ER 模型设计器 | ✅ 概念/逻辑/物理 | ✅ | ✅ | ✅ |
| 结构 & 数据同步 | ✅ MySQL↔PG | ✅ | ✅ | ❌ |
| 定时自动化 | ✅ (APScheduler) | ✅ | ❌ | ❌ |
| SSH 隧道 | ✅ (asyncssh) | ✅ | ✅ | ✅ |
| 国际化 | ✅ 中/英 | ✅ 10+ 语言 | ✅ 20+ 语言 | ✅ 15+ 语言 |
| CLI ↔ GUI 联动 | 🚧 规划中 | ❌ | ❌ | ❌ |
| 插件系统 | 🔮 未来计划 | ❌ | ✅ | ✅ |
| 开源 | ✅ MIT | ❌ 专有 | 🟡 (社区版) | ❌ 专有 |
| Docker 镜像 | ✅ ghcr.io | ❌ | ❌ | ❌ |
一行命令安装(自动下载最新版 CLI):
# Linux/macOS
curl -fsSL https://github.com/hackmagic/OpenNavicat/releases/latest/download/install.sh | bash
# Windows (PowerShell)
iwr -Uri https://github.com/hackmagic/OpenNavicat/releases/latest/download/install.ps1 | iexpip 安装(推荐,包含 CLI 和 GUI):
pip install open-navicat或用 Docker(纯 CLI,轻量):
docker run --rm ghcr.io/hackmagic/opennavicat:latest conn list或下载独立可执行文件 — 从 Releases 获取:
| 包 | 平台 | 说明 | 体积 |
|---|---|---|---|
opennavicat-cli-* |
Win/Mac/Linux | 纯 CLI,不含 Qt | ~15 MB |
opennavicat-* |
Win/Mac/Linux | 完整 GUI + PySide6 | ~120 MB |
# 添加连接
pip install open-navicat
# 添加连接
opennavicat conn add --name prod --host db.example.com --user root --test
# 激活连接
opennavicat conn open prod
# 自然语言查询
opennavicat query nl "上个月每个品类的销售额趋势"
# 执行 SQL
opennavicat query run "SELECT COUNT(*) FROM users"
# 启动图形界面
opennavicat gui| 命令 | 功能 | 示例 |
|---|---|---|
query nl |
自然语言 → SQL → 执行 | query nl "最近7天注册用户" |
ai optimize |
SQL 性能分析 | ai optimize "SELECT * FROM t WHERE YEAR(d)=2026" |
ai explain |
SQL 作用解释 | ai explain "SELECT ... LEFT JOIN ..." |
ai fix |
修复报错 SQL | ai fix "SELCT * FORM users" |
ai chat |
交互式数据分析 | ai chat --conn prod |
ai agent |
ReAct 多步推理代理 | ai agent "查询所有活跃用户" --db mydb |
ai config |
配置 AI 提供商 | ai config --provider deepseek --api-key sk-xxx |
ai test |
测试 AI 连接 | ai test |
ai chat-history |
查看/清除聊天历史 | ai chat-history show |
schema design |
AI 设计表结构 | schema design "博客系统: 用户、文章、评论" --deploy |
data generate |
智能生成测试数据 | data generate mydb.users --count 1000 |
| 文档 | 适合 | 内容 |
|---|---|---|
| CLI 参考手册 | 所有用户 | 全部 CLI 命令参考 |
| AI 模块设计 | 开发者 | AI 架构、Prompt、提供商配置 |
| 架构设计 | 开发者 | 系统架构 |
| 安全设计 | 运维/安全 | 加密、传输安全 |
| 隐私保护 | 所有用户 | AI 数据范围、脱敏、Ollama 离线方案 |
| 开发指南 | 贡献者 | 环境搭建、代码规范、测试 |
| 部署指南 | 运维 | 安装、打包、CI/CD、Docker |
| 组件 | 技术 |
|---|---|
| CLI 框架 | Typer + Rich |
| GUI 框架 | PySide6 (Qt 6) |
| 数据库驱动 | aiomysql + asyncpg + aiosqlite + motor + redis.asyncio(异步) |
| SSH 隧道 | asyncssh |
| SQL 解析 | sqlparse |
| 密码加密 | cryptography (AES-GCM) |
| AI 引擎 | OpenAI / DeepSeek / Ollama |
| 定时任务 | APScheduler |
| 打包 | PyInstaller |
⚠️ Windows 用户请注意 OpenNavicat 是开源免费软件,暂未购买 EV 代码签名证书。首次运行 GUI 时 Windows SmartScreen 可能弹出 "Windows 已保护你的电脑" 警告。请点击 "更多信息" → "仍要运行" 放行。源码完全公开,请放心使用。
欢迎贡献!请先阅读 CONTRIBUTING.md(贡献指南)。
MIT 许可证 — 个人和商业用途均可免费使用。