OtterMind /Chat2DB
Chat2DB is a free, cross-platform, local-first database client and SQL workspace for developers, DBAs, analysts, and data teams. Connect to 40+ databases, manage data, edit and run SQL, and use your own AI model to generate, explain, and optimize queries. Available on desktop, web, Docker, and CLI, with MCP support.
★ 28,358⑂ 3,046
28,358
stars
+9+10+56
3,046
forks
–
watchers
–
prs
–
issues
–
releases
–
discussions
README
Powered by OtterMind 面向开发者、DBA、分析师和数据团队的 AI 驱动数据库客户端与 SQL 工作空间。 Chat2DB 是什么? Chat2DB Community 是一款免费的跨平台数据库客户端,支持 Windows、macOS 和 Linux。它完全运行在你自己的机器上,提供功能完整的 SQL 工作空间,并可接入你自己的 AI 模型作为智能助手。 - 40+ 种数据库 —— MySQL、PostgreSQL、Oracle、SQL Server、ClickHouse、MongoDB、Redis、SQLite、MariaDB、TiDB、Hive、DB2、Snowflake、BigQuery、Elasticsearch、Trino、TimescaleDB、Greenplum、YugabyteDB、CrateDB、QuestDB、Apache IoTDB、Firebird、HSQLDB、Apache Derby 等,通过插件扩展;新的 JDBC 数据库仅需配置即可接入,无需修改代码。 - SQL 工作空间 —— SQL 编辑、补全、格式化、执行、SQL 收藏与历史记录。 - AI 助手 —— 接入自定义 AI 模型,用自然语言生成、解释和优化 SQL。 - 数据库管理 —— 元数据浏览、表和对象管理(DDL/DML)、在线编辑数据。 - 数据导入导出、Dashboard 与图表,以及支持 MCP 的开源 CLI。 产品界面 | Dashboard 与图表 | ER 图 | | --- | --- | | !Dashboard 与图表 | !ER 图 | | 可视化数据管理 | 数据导入导出 | | --- | --- | | !可视化数据管理 | !数据导入导出 | 超前预览 下一条功能线在进入常规 Beta 通道之前,先以超前预览的形式发布: - Chat2DB Community 5.4.0-beta.1(超前预览) —— 提供 macOS、Windows、Linux 安装包。 - 它带来可选的本地 Agent 运行时,包含技能、外部 MCP Server、文件与终端工具;在 AI 输入框的运行时选择器里选 Pi Agent 即可启用(首次选择会确认并下载运行时)。 - 该预览版既不是稳定版,也不是常规 Beta:Latest 仍是稳定版,常规 Beta 线继续走 5.3.8-beta.x。想在应用内收到它,请在设置 → 关于我们开启接收 Beta 版本。 快速开始 方式一:桌面应用 从 GitHub Releases 下载对应平台的安装包,安装后即可连接数据库使用,无需其他配置。 方式二:Docker 系统要求:Docker 19.03.0+、Docker Compose 2.0.0+(Compose V2,仅 Compose 方式需要)、CPU 2 核以上、内存 4 GiB 以上。 先创建加密密钥(用途见加密密钥一节),再启动容器: bash 在仓库目录中首次执行一次;重复执行会复用同一把合法密钥。 git clone https://github.com/OtterMind/Chat2DB.git && cd Chat2DB ./script/security/init-community-encryption-key.sh docker run --detach \ --name chat2db-community \ --restart unless-stopped \ --publish 127.0.0.1:10825:10825 \ --volume "$HOME/.chat2db-community-docker:/root/.chat2db-community" \ --env CHAT2DB_COMMUNITY_ENCRYPTION_KEY_FILE=/run/secrets/chat2db-community-encryption.key \ --volume "$HOME/.config/chat2db-community/encryption.key:/run/secrets/chat2db-community-encryption.key:ro" \ chat2db/chat2db:latest 然后在浏览器中访问 http://localhost:10825。 也可以使用仓库自带的 Compose 配置: bash ./script/security/init-community-encryption-key.sh docker compose --file docker/docker-compose.yml up --detach 注意事项: - 更新时先拉取新镜像、删除旧容器,再重新执行启动命令。容器重建时必须保留 ~/.config/chat2db-community/encryption.key。 - docker run 示例将应用数据保存在 $HOME/.chat2db-community-docker;Compose 配置使用名为 chat2db-community-data 的命名卷。两处存储不会自动共享数据。 - Chat2DB Community 5.3.0 使用独立的 /root/.chat2db-community 目录,不会自动迁移旧镜像 /root/.chat2db 中的数据。 安全须知 Chat2DB Community 是单用户、本机优先的应用,不提供用户账号或多用户之间的 权限边界。HTTP 服务必须绑定到 127.0.0.1 或 ::1,不要暴露给其他用户或 不可信网络。 自定义 JDBC Driver 是可执行 Java 代码,只应安装来自可信来源的驱动。导入的 配置文件、压缩包、SQL 文件、数据库内容和 AI 响应仍属于不可信数据。完整信任 边界和漏洞报告流程请参阅安全策略。 如果你觉得这个项目对你有用,帮我们点个 Star ⭐️ 吧! 加密密钥 Chat2DB Community 使用 AES-256-GCM 加密保存的数据源密码和 AI 模型 API Key,每个安装实例使用独立密钥。在仓库目录中执行一次以下命令创建密钥(依赖 openssl): bash ./script/security/init-community-encryption-key.sh 密钥会写入 ~/.config/chat2db-community/encryption.key。请单独备份该文件,并在升级和容器重建时保留 —— 替换或丢失密钥会导致已保存的数据源密码和 AI 模型 API Key 无法解密。Web/headless 方式启动时缺少合法密钥会直接启动失败;只有 Desktop 模式会自动创建缺失的密钥。 密钥配置参考(自定义路径、解析优先级、校验规则) 密钥必须是合法的 Base64,且解码后恰好为 32 字节