Skip to main content

OpenNavicat

CLI-First, AI-Native Database Management Tool

A free, open-source alternative to Navicat Premium, built with Python.

Python 3.10+ License: MIT PRs Welcome Issues

English | 简体中文


English

What is OpenNavicat?

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.

Highlights

  • 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.
  • 7 Export Formats — CSV, JSON, XML, HTML, SQL, TXT, Excel.
  • Open Source — MIT License. Free for personal and commercial use.

Quick Start

# Install
pip install open-navicat

# 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

AI Features

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

CLI Commands

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)

Tech Stack

Component Technology
CLI Framework Typer + Rich
GUI Framework PySide6 (Qt 6)
Database Driver aiomysql + asyncpg + aiosqlite (async)
SSH Tunnel asyncssh
SQL Parser sqlparse
Password Encryption cryptography (AES-GCM)
AI Engine OpenAI / DeepSeek / Ollama
Scheduler APScheduler
Packaging PyInstaller

Documentation

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
Development Guide Contributors Setup, code standards, testing
Data Flow Developers Data flow diagrams
Deployment Ops Packaging, CI/CD, Docker

Contributing

We welcome contributions! Please read CONTRIBUTING.md first.

License

MIT License — Free for personal and commercial use.


简体中文

什么是 OpenNavicat?

OpenNavicat 是一款功能齐全的数据库管理工具,灵感来源于 Navicat Premium。它提供 CLI 优先 的操作方式和可选的 图形界面(PySide6/Qt),内置 AI 能力,支持自然语言查询、SQL 优化和结构设计。

核心特性

  • CLI 优先 — 每个操作都有对应的 CLI 命令,AI (LLM) 可直接调用。
  • AI 原生 — 自然语言转 SQL、查询优化、自动修复错误 SQL、智能数据生成。
  • 完整 GUI — 类 Navicat 图形界面,包含对象浏览器、SQL 编辑器、表设计器、数据查看器、BI 看板等。
  • 多数据库 — MySQL/MariaDB + PostgreSQL + SQLite。
  • 7 种导出格式 — CSV、JSON、XML、HTML、SQL、TXT、Excel。
  • 开源免费 — MIT 许可证,个人和商业用途均可免费使用。

快速上手

# 安装
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

AI 功能

命令 功能 示例
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 框架 Typer + Rich
GUI 框架 PySide6 (Qt 6)
数据库驱动 aiomysql + asyncpg + aiosqlite(异步)
SSH 隧道 asyncssh
SQL 解析 sqlparse
密码加密 cryptography (AES-GCM)
AI 引擎 OpenAI / DeepSeek / Ollama
定时任务 APScheduler
打包 PyInstaller

贡献

欢迎贡献!请先阅读 CONTRIBUTING.md(贡献指南)。

许可证

MIT 许可证 — 个人和商业用途均可免费使用。

Metadata

Release files for open-navicat 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for open-navicat 0.3.0
File Size Uploaded
open_navicat-0.3.0.tar.gz 180.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for open-navicat 0.3.0
File Interpreter ABI Platform
open_navicat-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 408.8 kB

Release files / open_navicat-0.3.0.tar.gz

Download URL open_navicat-0.3.0.tar.gz
Size 180.5 kB
Tags Source
SHA-256 checksum
How to use checksums
0dd714b7de6abbdfc6021fcd36d0de5adaaf84a41aead5342cc481229a718eee
BLAKE2b-256 checksum
How to use checksums
88cbefb8b4ed1a7f1a035d58898ba8a1cda1c698ee81a60b77ebebd6b42b1201
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.4.1 CPython/3.12.8 Windows/11

Release files / open_navicat-0.3.0-py3-none-any.whl

Download URL open_navicat-0.3.0-py3-none-any.whl
Size 228.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ed8ae760193d2b190ecd979562aee19081e5f4b37da44ba574ad168876631e38
BLAKE2b-256 checksum
How to use checksums
3aca13e63f347fadc1093df4e18b01cd40a4855383954036f588cd9431d6c843
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.4.1 CPython/3.12.8 Windows/11

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 release files

0.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page