2026-03-22 16:26:23 +08:00
2026-03-22 00:42:48 +08:00
2026-03-21 22:44:41 +08:00
2026-03-22 16:26:23 +08:00
2026-03-19 12:27:31 +08:00
2026-03-21 20:36:43 +08:00
2026-03-14 12:55:46 +08:00

🇨🇳 简体中文 | 🇬🇧 English

🦞 DataClaw

Unleash the claws on your data, making analysis as easy and refreshing as raising lobsters! 🌊📊 DataClaw is your intelligent, AI-powered Data Analysis Platform. Chat with your data, visualize insights instantly, and build dashboards—all through natural language. No SQL degree required!


Why DataClaw?

Tired of writing complex SQL queries just to get a simple bar chart? DataClaw acts as your personal data scientist. Powered by advanced LLMs and an intelligent agentic workflow, it translates your questions into database queries, fetches the data, and renders beautiful visualizations on the fly.

Whether you're querying a massive Supabase/PostgreSQL database or just tossing in a CSV file, DataClaw's got you covered! 🚀

🌟 Key Features

  • 🗣️ Chat to SQL: Ask questions in plain English (or Chinese!). DataClaw understands your schema, generates accurate SQL, and self-corrects if things go sideways.
  • 📈 Instant Visualizations: Returns not just raw tables, but auto-generated interactive charts tailored to your data's shape.
  • 🗂️ Multi-Source Ready: Connects seamlessly to PostgreSQL, Supabase, and local CSV/Excel uploads.
  • 🧠 Bring Your Own LLM: Native integration with LiteLLM. Plug in OpenAI, DeepSeek, Zhipu, DashScope, Volcengine, or any compatible provider.
  • 🛠️ Extensible Agent Skills: Built on top of the powerful nanobot framework (a lightweight version of OpenClaw). Add custom tools and slash commands (/) to tailor the agent to your specific business logic.
  • 📊 Customizable Dashboards: Pin your favorite chat-generated charts to a drag-and-drop dashboard for quick access.


🏗️ Architecture

DataClaw is divided into three main claws (components):

  1. frontend/ 🎨: The shiny shell. Built with React 19, Vite, TailwindCSS, and Zustand. It features a chat-like interface, streaming AI responses, and interactive Vega charts.
  2. backend/ ⚙️: The muscle. A FastAPI application managing projects, data source connections, user sessions, and API gateways.
  3. nanobot/ 🧠: The brain. The core AI agent framework handling NL2SQL, schema caching, prompt injection, and LLM routing.

🚀 Quick Start

Ready to dive in? Let's get DataClaw running on your local machine!

1. Backend Setup 🐍

Ensure you have Python 3.10+ installed.

cd backend
# Create a virtual environment (optional but recommended)
python -m venv .venv
source .venv/bin/activate

# Install dependencies
pip install -r requirements.txt

# Start the FastAPI server
uvicorn app.main:app --reload --port 8000

Note: Ensure your nanobot is properly linked or installed in editable mode as per the project workspace.

2. Frontend Setup ⚛️

Ensure you have Node.js 18+ installed.

cd frontend
# Install dependencies
npm install

# Start the Vite development server
npm run dev

Open your browser and navigate to http://localhost:5173. Boom! 🎉 You're ready to chat with your data.


🔌 Data Source Configuration Guide

DataClaw supports connecting to various types of data sources to meet different analysis needs. You can click + in the Data Sources menu to create and configure them. Here are detailed connection guides for common data sources:

▶ PostgreSQL (pgsql)

Connects to standard relational databases. You can either fill in the individual parameters through the form or paste a complete Connection String directly.

  • Host: The host address of the database. If you are running the database on your local machine (e.g., using pgAdmin), please enter 127.0.0.1 (do not enter localhost to avoid Unix Socket resolution errors).
  • Port: Typically defaults to 5432.
  • Database: The specific name of the database you want to connect to.
  • Username / Password: Database authentication credentials (the default user is usually postgres).
  • Connection String (Optional): You can also directly input a string like postgresql://postgres:your_password@127.0.0.1:5432/your_database_name, which will override the individual input fields above.
▶ Supabase

A connection method specifically optimized for Supabase cloud PostgreSQL databases, enforcing SSL and using connection pools by default to improve stability.

  • We recommend using the Connection String configuration directly: Go to your Supabase project console -> Project Settings -> Database -> Connection string -> Select the URI tab. Copy the link that looks like postgresql://postgres.[project-ref]:[password]@aws-0-[region].pooler.supabase.com:6543/postgres?sslmode=require and paste it in.
  • Note: Supabase enables Transaction Pooler by default (Port 6543). If you want a Direct connection, change the port to 5432 and ensure the URL includes sslmode=require.
▶ SQLite

A lightweight local file-based database, perfect for quick testing or analyzing single-machine application data.

  • File Upload: You can directly click the button to upload a .db, .sqlite, or .sqlite3 database file from your local machine. The file will be securely saved in the server's upload directory for analysis.
  • File Path (Advanced): If the service is deployed on a server and the SQLite file already exists at an absolute path on the server, you can also enter the absolute path directly in the input box (e.g., /data/my_app.db).
▶ CSV

The most common data exchange format, plug-and-play, no complex database configuration required.

  • File Upload: Similar to SQLite, click the button to select and upload a local .csv file. The system will use engines like DuckDB or Pandas in the background to virtualize it into an SQL-queryable table.
  • Once uploaded successfully, you can query this CSV file directly as if it were a database table in the chat interface!

🤝 Contributing

Got a cool idea? Found a bug? We'd love your help! Feel free to open an issue or submit a pull request. Let's make data analysis fun again!


💖 Acknowledgements

The development of DataClaw was deeply inspired by the following excellent open-source projects. Special thanks to:

  • WrenAI: A powerful Text-to-SQL solution whose architecture and concepts provided great inspiration.
  • Aix-DB: Provided an excellent reference for intelligent data analysis and interactive user experience.

S
Description
全源灵动AI数据分析平台
Readme 39 MiB
Languages
Python 57.9%
C# 23.9%
TypeScript 15.9%
Shell 1.5%
PowerShell 0.3%
Other 0.5%