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
JavaCreated 2023-06-20chat2db.ai
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 字节

Snapshot: 2026-11-10T09:35:25Z · Data license Apache-2.0 · JSON