# NeoBaseAI-Copilot-for-database **Repository Path**: waiter/NeoBaseAI-Copilot-for-database ## Basic Information - **Project Name**: NeoBaseAI-Copilot-for-database - **Description**: NeoBase 是一款基于人工智能的数据库助手,可以帮助用户通过自然语言与数据库进行交互,实现数据库的管理、查询和优化。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-08-25 - **Last Updated**: 2025-08-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # NeoBase - AI Copilot for Database Screenshot 2025-02-10 at 7 12 19 PM **NeoBase** is an AI-powered database assistant that helps you manage, query, and optimize your databases effortlessly. With a sleek Neo Brutalism design and real-time chat functionality, NeoBase makes database visualization intuitive and efficient. ## Screenshots Screenshot 2025-03-14 at 1 08 09 PM Screenshot 2025-04-26 at 3 44 23 PM ## Features - **AI-Powered Queries**: Generate and optimize SQL queries using natural language prompts. - **Multi-Database Support**: Connect to PostgreSQL, MySQL, MongoDB, Redis, and more. - **Spreadsheet Support**: Upload and query CSV/Excel files with AES-GCM encryption. - **Real-Time Chat Interface**: Interact with your database like you're chatting with an expert. - **Neo Brutalism Design**: Bold, modern, and high-contrast UI for a unique user experience. - **Transaction Management**: Start, commit, and rollback transactions with ease. - **Query Optimization**: Get AI-driven suggestions to improve query performance. - **Schema Management**: Create indexes, views, and manage schemas effortlessly. - **Self-Hosted & Open Source**: Deploy on your infrastructure with full control. ## Supported DBs - PostgreSQL - Yugabyte - MySQL - ClickHouse - MongoDB - Spreadsheet (CSV/Excel) ## Planned to be supported DBs - Cassandra (Priority 1) - Redis (Priority 2) - Neo4j DB (Priority 3) ## Supported LLM Clients - OpenAI (Any chat completion model) - Google Gemini (Any chat completion model) ## Planned to be supported LLM Clients - Anthropic (Claude 3.5 Sonnet) - Ollama (Any chat completion model) ## Tech Stack - **Frontend**: React, Tailwind CSS - **Backend**: Go (Gin framework) - **App Used Database**: MongoDB, Redis - **AI Orchestrator**: OpenAI, Google Gemini - **Database Drivers**: PostgreSQL, Yugabyte, MySQL, MongoDB, Redis, Neo4j, etc. - **Styling**: Neo Brutalism design with custom Tailwind utilities ## Getting Started ## How to setup Read ([SETUP](https://github.com/bhaskarblur/neobase-ai-dba/blob/main/SETUP.md)) to learn how to setup NeoBase on your system. ## Usage 1. **Create a new user in the app**: - Open the client app on `http://localhost:5173` in your browser. - Admin credentials are set via `ADMIN_USERNAME` and `ADMIN_PASSWORD` environment variables. - Creating a new user requires an username, password and user signup secret. - User signup secret is generated via Admin credenials by sending a POST request to `api/auth/generate-signup-secret` with admin username & password in the body - Use this secret to signup a new user from NeoBase UI. 2. **Add a Database Connection**: - Click "Add Connection" in the sidebar. - Choose & Enter your database credentials (e.g., host, port, username, password). - Click "Save" to add the connection. 3. **Chat with Your Database**: - Type natural language prompts in the chat interface (e.g., "Show me all users"). - View the generated SQL, Other DBs query and results. - Paginated results that support large volume of data. 4. **Manage Transactions**: - Run the query in transaction mode by clicking "Play" icon button in query. - You can also cancel the query by clicking "Cancel" icon button in query. - Perform rollbacks by clicking "History" icon button in query. 5. **Optimize Queries**: - Get AI-driven suggestions to improve query performance. ## Contributing We welcome contributions! Here’s how you can help: 1. Fork the repository. 2. Create a new branch (`git checkout -b feature/your-feature`). 3. Commit your changes (`git commit -m 'Add some feature'`). 4. Push to the branch (`git push origin feature/your-feature`). 5. Open a pull request. See the list of contributors in [CONTRIBUTORS](CONTRIBUTORS) file. ## License This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details. Let me know if you'd like to add or modify anything!