Skip to content

Latest commit

 

History

History
250 lines (195 loc) · 12.8 KB

README_CN.md

File metadata and controls

250 lines (195 loc) · 12.8 KB

Chat2DB

🔥🔥🔥 智能且多功能的SQL客户端和报表工具,适用于各种数据库

License Java support GitHub release GitHub Stars GitHub Forks GitHub Contributors

分享 Chat2DB

Share on Telegram Share on Reddit

许可说明: Chat2DB开源内容仅供个人免费使用,如想将该项目用于商业用途,请先联系该项目作者。

Languages: 中文 English

📖 简介

   Chat2DB 是一款有开源免费的多数据库客户端工具,支持windows、mac本地安装,也支持服务器端部署,web网页访问。和传统的数据库客户端软件Navicat、DBeaver 相比Chat2DB集成了AIGC的能力,能够将自然语言转换为SQL,也可以将SQL转换为自然语言,可以给出研发人员SQL的优化建议,极大的提升人员的效率,是AI时代数据库研发人员的利器,未来即使不懂SQL的运营业务也可以使用快速查询业务数据、生成报表能力。

✨ 特性

  • 🌈 AI智能助手,支持自然语言转SQL、SQL转自然语言、SQL优化建议
  • 👭 支持团队协作,研发无需知道线上数据库密码,解决企业数据库账号安全问题
  • ⚙️ 强大的数据管理能力,支持数据表、视图、存储过程、函数、触发器、索引、序列、用户、角色、授权等管理
  • 🔌 强大的扩展能力,目前已经支持MySQL、PostgreSQL、Oracle、SQLServer、ClickHouse、OceanBase、H2、SQLite等等,未来会支持更多的数据库
  • 🛡 前端使用 Electron 开发,提供 Windows、Mac、Linux 客户端、网页版本一体化的解决方案
  • 🎁 支持环境隔离、线上、日常数据权限分离

⏬ 下载安装

描述 下载地址
Windows https://oss-chat2db.alibaba.com/release/1.0.11/Chat2DB%20Setup%201.0.11.exe
MacOS ARM64 (Apple芯片) https://oss-chat2db.alibaba.com/release/1.0.11/Chat2DB-1.0.11-arm64.dmg
MacOS X64 (Intel芯片) https://oss-chat2db.alibaba.com/release/1.0.11/Chat2DB-1.0.11.dmg
Jar包 https://oss-chat2db.alibaba.com/release/1.0.11/ali-dbhub-server-start.jar

🚀 支持的数据库

数据库 支持计划
Mysql
H2
Oracle
PostgreSQL
SQLServer
SQLLite
MariaDB
ClickHouse
DM
Presto
DB2
OceanBase
Redis
Hive
KingBase
MongoDB
Hbase Planning
Elasticsearch Planning
openGauss Planning
TiDB Planning
InfluxDB Planning

🌰 使用Demo

创建数据源

数据源管理

SQL控制台 及 AI智能助手

使用前需要配置OpenAI的Api Key及本地代理配置

🔥 AI配置

使用ChatGPT

方式一(推荐):使用OPENAI的ChatSql功能需要满足两个条件

  • 1、需要有一个openAI的key:OPENAI_API_KEY
  • 2、客户端网络可以连接到OPENAI官网,国内需要科学上网。注意:如果本地VPN未能全局生效,可以通过在客户端中设置网络代理HOST和PORT来保证网络连通性

方式二(推荐):使用我们提供了一个统一的代理服务。

  • 1、不需要opeanAI的key
  • 2、不需要代理,不需要VPN只要可以联网即可使用。

为了方便大家更快速的使用AI的能力,可以扫描下方二维码关注我们的微信公众号,并发送"ai"来申请我们的自定义API_KEY

申请完成之后参考下图进行配置即可进行使用,填入Api Key和Api Host. Api Host配置为http://test.sqlgpt.cn/gateway/api/

📦 Docker部署

  docker pull chat2db/chat2db:latest
  // 前台运行,运行后不能关闭命令行
  docker run -ti --name=chat2db -p 10824:10824 chat2db/chat2db:latest
  // 后台运行,运行后可以关闭命令行
  docker run --name=chat2db -p 10824:10824 chat2db/chat2db:latest
  // 这里正常会提示 Tomcat started on port(s): 10824 (http) with context path 就可以结束了
  
  // 如果这里提示  The container name "/chat2db" is already in use by container, 代表已经存在容器了 运行
  dcoker run chat2db
  // 如果想更新chat2db 则需要先rm 再运行
  docker rm chat2db

🎯 运行环境

注意: 如果需要本地调试

💻 本地调试

  • git clone到本地
$ git clone [email protected]:alibaba/Chat2DB.git
  • 前端安装
$ cd Chat2DB/ali-dbhub-client
$ npm install # 安装前端依赖
$ npm run build:prod # 把js打包生成到后端的source目录
  • 后端调试
$ cd ../ali-dbhub-server
$ mvn clean install # 需要安装maven 3.8以上版本
$ cd ali-dbhub-server/ali-dbhub-server-start/target/
$ java -jar -Dchatgpt.apiKey=xxxxx ali-dbhub-server-start.jar  # 启动应用 chatgpt.apiKey 需要输入ChatGPT的key,如果不输入无法使用AIGC功能
$ # 打开 http://127.0.0.1:10821 开启调试 注:需要进行前端安装
  • 前端调试
$ cd Chat2DB/ali-dbhub-client
$ npm install 
$ npm run start
$ # 打开 http://127.0.0.1:10821 开启前端调试
$ # 注:前端页面完全赖服务,所以前端同学调试也需要把后端项目跑起来

但是前端调试需要映射下资源,可以下载XSwitch,添加以下配置文件

{
  "proxy": [
    [
      "http://127.0.0.1:10821/(.*).js$",
      "http://127.0.0.1:8001/$1.js",
    ],
    [
      "http://127.0.0.1:10821/(.*).css$",
      "http://127.0.0.1:8001/$1.css",
    ],
    [
      "http://127.0.0.1:10821/static/front/(.*)",
      "http://127.0.0.1:8001/$1",
    ],
    [
      "http://127.0.0.1:10821/static/(.*)$",
      "http://127.0.0.1:8001/static/$1",
    ],
  ],
}

📑 文档

常见问题

1、无法获取数据源驱动:getJDBCDriver error: null

问题原因:无法联网导致下载数据库驱动包失败。

解决办法:手动下载相关驱动放入到 ~/.chat2db/jdbc-lib 目录下

下载链接 参考:Application jdbc-jar-downLoad-urls

Stargazers

Stargazers repo roster for @alibaba/Chat2DB

Forkers

Forkers repo roster for @alibaba/Chat2DB

☎️ 联系我们

加群前请先Star和Fork,谢谢~

微信(如果无法添加成功,可以先邮箱联系 [email protected]):

钉钉:9135032392

qq

❤️ 致谢

感谢所有为Chat2DB贡献力量的同学们~

Star History

Star History Chart