explaingit

shuaizai88/chatbi

17VueAudience · pm founderComplexity · 4/5ActiveLicenseSetup · hard

TLDR

Chinese-language NL-to-SQL business intelligence app where a non-technical user asks questions in plain language and gets back tables and charts, with voice input and an embeddable iframe mode.

Mindmap

mindmap
  root((chatbi))
    Inputs
      Plain language question
      Voice input
      Business database
    Outputs
      SQL query
      Result table
      Bar and pie charts
      Voice answer
    Use Cases
      Self serve analytics
      Embed in internal tools
      Mobile question and answer
    Tech Stack
      Spring Boot
      MyBatis Plus
      langchain4j
      Vue 3
      Element Plus
      Postgres pgvector
      Redis

Things people build with this

USE CASE 1

Embed chatbi as an iframe inside an existing internal business app so staff can ask plain-language questions about company data.

USE CASE 2

Connect chatbi to a Postgres database with pgvector and let GLM5 or Qwen Plus translate questions into SQL.

USE CASE 3

Use the offline mobile speech model to ask questions by voice from a phone and get back a chart.

USE CASE 4

Plug in your own embedding model (M3E or a cloud equivalent) to control how schema and column metadata are vectorised.

Tech stack

JavaSpring BootVuelangchain4jPostgresRedis

Getting it running

Difficulty · hard Time to first run · 1day+

Multi-service stack: JDK 17, Maven, Node, Redis, pgvector via Docker, two SQL imports, plus an LLM and embedding model with credentials.

GPL license with a paid commercial option; modifications and bundled software must usually be open-sourced under the same terms unless a commercial licence is bought.

In plain English

dbchat, also known as chatbi in some industries, is a Chinese-language project that lets a non-technical user ask questions about a company's business data in plain language and get back tables and charts. The user types or speaks a question, an AI language model converts that question into a SQL database query, the system runs the query against the connected business database through a standard Java database connector, and the answer is shown back as a table, bar chart, or pie chart. Voice input is supported on phones using an offline speech recognition model. The README explains that the project can be embedded into an existing business application as an iframe, with permissions and data source choice controlled by the host system rather than by dbchat itself. This means a company can drop the question-answering feature into a tool its staff already use without giving dbchat any direct control over which data each person can see. The technology stack listed is Spring Boot 3.5 and MyBatis-Plus 3.5 on the Java backend, the langchain4j library version 1.12.2 for connecting to the AI model, and Vue 3 with Element Plus on the frontend. It depends on pgvector, an extension of the PostgreSQL database for storing vector embeddings, and on Redis for caching. The setup instructions cover installing JDK 17, Maven, Node, and Redis, then running a Docker container for pgvector, importing two SQL files, and starting the backend and frontend separately. Recommended AI models are GLM5 or the latest Qwen Plus, with M3E or a cloud-hosted model for the vector embeddings. The author notes that the page design is not yet polished, that a professional frontend developer has been engaged to improve it by the end of the month, and that mobile support for DingTalk, WeChat Official Accounts, and Feishu is planned. The licence is GPL, with paid commercial use offered. Contact is by QQ email.

Copy-paste prompts

Prompt 1
Set up chatbi locally: install JDK 17, Maven, Node, Redis, run the pgvector Docker container, import the two SQL files, then start backend and frontend.
Prompt 2
Swap chatbi's default LLM from GLM5 to Qwen Plus and update the langchain4j configuration plus the embedding model to M3E.
Prompt 3
Add a permissions layer to chatbi's iframe embed so the host application can restrict which tables a given user can query.
Prompt 4
Extend chatbi with a third chart type (line chart over time) and wire it into the existing table or bar or pie chart switch.
Prompt 5
Audit chatbi's prompt-to-SQL pipeline for SQL-injection style risks when the model emits a query the user did not type.
Open on GitHub → Explain another repo

Generated 2026-05-22 · Model: sonnet-4-6 · Verify against the repo before relying on details.