# biu-sql **Repository Path**: wangxy202012/biu-sql ## Basic Information - **Project Name**: biu-sql - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-06 - **Last Updated**: 2026-05-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
# Tabularis

![](https://img.shields.io/github/release/debba/tabularis.svg?style=flat) ![](https://img.shields.io/github/downloads/debba/tabularis/total.svg?style=flat) ![Build & Release](https://github.com/debba/tabularis/workflows/Release/badge.svg) [![Known Vulnerabilities](https://snyk.io//test/github/debba/tabularis/badge.svg?targetFile=package.json)](https://snyk.io//test/github/debba/tabularis?targetFile=package.json) [![Discord](https://img.shields.io/discord/1470772941296894128?color=5865F2&logo=discord&logoColor=white)](https://discord.gg/YrZPHAwMSG) [![Gitster](https://gitster.dev/api/repositories/badge/cmlko1jr60005ne4yh7i7oy3e)](https://gitster.dev/repo/debba/tabularis)

Snap Store AUR WinGet

一款为开发者打造的轻量级跨平台数据库客户端,基于 Tauri 和 React 构建。 **支持语言:** 英语、意大利语、西班牙语、简体中文 **Discord** - [加入我们的 Discord 服务器](https://discord.gg/YrZPHAwMSG),与维护者交流。
Tabularis
> 💡 **起源故事:** 本项目始于一次 AI 辅助开发的实验,探索智能体从零开始构建一个完整功能工具能走多远。 ## 下载安装 [![Windows](https://img.shields.io/badge/Windows-下载-blue?logo=windows)](https://github.com/debba/tabularis/releases/download/v0.9.13/tabularis_0.9.13_x64-setup.exe) [![macOS](https://img.shields.io/badge/macOS-下载-black?logo=apple)](https://github.com/debba/tabularis/releases/download/v0.9.13/tabularis_0.9.13_x64.dmg) [![Linux AppImage](https://img.shields.io/badge/Linux-AppImage-green?logo=linux)](https://github.com/debba/tabularis/releases/download/v0.9.13/tabularis_0.9.13_amd64.AppImage) [![Linux .deb](https://img.shields.io/badge/Linux-.deb-orange?logo=debian)](https://github.com/debba/tabularis/releases/download/v0.9.13/tabularis_0.9.13_amd64.deb) [![Linux .rpm](https://img.shields.io/badge/Linux-.rpm-red?logo=redhat)](https://github.com/debba/tabularis/releases/download/v0.9.13/tabularis-0.9.7-1.x86_64.rpm) ## 赞助商 - turboSMTP **[turboSMTP](https://www.serversmtp.com/?utm_source=tabularis&utm_medium=referral&utm_campaign=sponsor)** — 专业 SMTP 中继服务,确保邮件直达收件箱 - Kilo Code **[Kilo Code](https://www.kilo.ai/?utm_source=tabularis&utm_medium=referral&utm_campaign=sponsor)** — 开源 AI 编程助手,支持 500+ 模型,更快构建与迭代 - Usero **[Usero](https://usero.io/?utm_source=tabularis&utm_medium=referral&utm_campaign=sponsor)** — 反馈自动转化为代码 _[成为赞助商 →](https://tabularis.dev/sponsors)_ ## 目录 - [赞助商](#赞助商) - [安装](#安装) - [Windows](#windows) - [macOS](#macos) - [Linux (Snap)](#linux-snap) - [Linux (AppImage)](#linux-appimage) - [Arch Linux (AUR)](#arch-linux-aur) - [更新](#更新) - [截图展示](#截图展示) - [Discord](#discord) - [更新日志](#更新日志) - [功能特性](#功能特性) - [连接管理](#连接管理) - [数据库浏览器](#数据库浏览器) - [SQL 编辑器](#sql-编辑器) - [快捷键](#快捷键) - [可视化查询构建器](#可视化查询构建器) - [数据表格](#数据表格) - [日志](#日志) - [插件系统](#插件系统) - [配置存储](#配置存储) - [AI 功能(可选)](#ai-功能可选) - [MCP 服务器 — AI Agent 集成](#mcp-服务器--ai-agent-集成) - [技术栈](#技术栈) - [开发](#开发) - [路线图](#路线图) - [许可证](#许可证) ## 安装 ### Windows #### WinGet(推荐) ```bash winget install Debba.Tabularis ``` #### 直接下载 从 [Releases 页面](https://github.com/debba/tabularis/releases) 下载安装包并运行: ``` tabularis_x.x.x_x64-setup.exe ``` 按照屏幕提示完成安装。 ### macOS #### Homebrew(推荐) 先添加 tap: ```bash brew tap debba/tabularis ``` 然后安装: ```bash brew install --cask tabularis ``` [![Homebrew](https://img.shields.io/badge/Homebrew-Repository-orange?logo=homebrew)](https://github.com/debba/homebrew-tabularis) #### 直接下载 在 macOS 上安装 Tabularis 时,需要在「系统偏好设置 → 安全性与隐私 → 辅助功能」中允许 Tabularis 访问。 如果升级安装,已存在于允许列表中的旧版本需要手动移除后才能授权新版本。 从 Releases 直接下载的 macOS 用户可能需要执行: ```bash xattr -c /Applications/tabularis.app ``` ### Linux (Snap) ```bash sudo snap install tabularis ``` [![Snap Store](https://img.shields.io/badge/snap-tabularis-blue?logo=snapcraft)](https://snapcraft.io/tabularis) ### Linux (AppImage) 从 [Releases 页面](https://github.com/debba/tabularis/releases) 下载 `.AppImage` 文件,添加执行权限后运行: ```bash chmod +x tabularis_x.x.x_amd64.AppImage ./tabularis_x.x.x_amd64.AppImage ``` ### Arch Linux (AUR) ```bash yay -S tabularis-bin ``` ## 更新 ### 自动更新 Tabularis 启动时会自动检查更新。当有新版本可用时,会弹出通知,您可以一键下载并安装。 ### 手动更新 您也可以手动检查更新,或直接从 [Releases 页面](https://github.com/debba/tabularis/releases) 下载最新版本。 ## 截图展示 **查看完整截图请访问 [tabularis.dev](https://tabularis.dev)** ## Discord 加入我们的 [Discord 服务器](https://discord.gg/YrZPHAwMSG),与维护者交流、提出功能建议或获取社区帮助。 ## [更新日志](./CHANGELOG.md) ## 功能特性 ### 连接管理 > [完整文档请访问 tabularis.dev →](https://tabularis.dev/wiki/connections) - 支持 **MySQL/MariaDB**、**PostgreSQL**(支持多 Schema)和 **SQLite**。 - **多数据库选择:** 单个连接中可选择多个 MySQL/MariaDB 数据库,每个数据库在侧边栏中以独立的可折叠节点显示。 - 保存、管理和克隆连接配置,安全地本地持久化存储。 - **全新连接页面:** 支持网格和列表视图,实时搜索,各数据库驱动使用官方品牌图标和配色。 - **在编辑器中打开:** 右键点击侧边栏中的任意连接,可通过右键菜单直接在编辑器中打开。 - 从连接管理器管理 **SSH 连接**。 - 支持将密码安全存储在系统 **Keychain** 中。 - **SSH 隧道**支持自动就绪检测。 ### 数据库浏览器 > [完整文档请访问 tabularis.dev →](https://tabularis.dev/wiki/schema-management) - **树形视图:** 浏览表、列、键、外键、索引、视图和存储过程。 - **内联编辑:** 直接在侧边栏中编辑表和列的属性。 - **ER 图:** 交互式实体关系可视化(支持平移、缩放、布局),可选择性地生成表关系图。 - **右键操作:** 查看数据、统计行数、修改表结构、复制/删除表。 - **视图支持:** 浏览、检查和查询数据库视图,支持完整元数据。 - **存储过程:** 查看和管理存储过程与函数,包含参数详情。 - **快速元数据加载:** 并行获取 Schema 信息。 - **SQL 转储与导入:** 一键导出和恢复数据库。 ### SQL 编辑器 > [完整文档请访问 tabularis.dev →](https://tabularis.dev/wiki/editor) - **Monaco 编辑器:** 语法高亮和自动补全。 - **标签页界面:** 每个标签页隔离独立的数据库连接。 - **分屏视图:** 在可调整大小的分屏布局中并排打开多个数据库连接。 - **多种执行方式:** 支持运行完整脚本、选中内容或单条语句。 - **保存查询:** 持久化常用 SQL 查询。 - **AI 助手浮层:** 编辑器中直接显示 AI 辅助按钮。 ### 快捷键 > [完整文档请访问 tabularis.dev →](https://tabularis.dev/wiki/keyboard-shortcuts) - **内置快捷键:** 导航、编辑器和数据表格操作(如 `Ctrl+B` 切换侧边栏,`Ctrl+T` 新建标签页,`Ctrl+→/←` 翻页)。 - **完全自定义:** 在 **设置 → 快捷键** 中重新映射任何未锁定的快捷键 — 按下组合键即可录制,点击 ↺ 可重置。 - **平台自适应:** macOS 使用 `Cmd`,Windows/Linux 使用 `Ctrl`。 - **可视化提示:** 在侧边栏中按住 `Ctrl+Shift` 显示数字标签(1–9),快速切换连接。 - **持久化覆盖:** 保存至应用配置目录的 `keybindings.json` 文件中,也可手动编辑。 ### 可视化查询构建器 > [完整文档请访问 tabularis.dev →](https://tabularis.dev/wiki/visual-query-builder) - **拖拽操作:** 使用 ReactFlow 可视化构建查询。 - **可视化 JOIN:** 连接表以创建关系。 - **高级逻辑:** WHERE/HAVING 过滤、聚合函数(COUNT, SUM, AVG)、排序和限制。 - **实时 SQL:** 即时生成对应 SQL 代码。 ### 数据表格 > [完整文档请访问 tabularis.dev →](https://tabularis.dev/wiki/data-grid) - **内联和批量编辑:** 修改单元格并一次性提交多个更改。 - **行管理:** 创建、删除和选择多行。 - **复制选中行:** 将选中内容直接导出到剪贴板。 - **导出:** 将结果保存为 CSV 或 JSON 格式。 - **智能上下文:** 聚合查询自动切换为只读模式,普通表自动启用编辑模式。 - **空间数据支持:** 初步支持 MySQL 的 GEOMETRY 类型,支持原生 SQL 空间函数。 ### 插件系统 > [完整文档请访问 tabularis.dev →](https://tabularis.dev/wiki/plugins) Tabularis 支持**外部插件系统**扩展数据库支持。插件是独立的可执行文件,通过 **JSON-RPC 2.0 协议**经 stdin/stdout 与应用通信,可用任何语言编写。 - **安装插件:** 在 **设置 → 可用插件** 中浏览和安装社区驱动 — 无需重启。 - **管理驱动:** 在 **设置 → 已安装驱动** 中查看所有已注册驱动(内置和插件),一键卸载插件。 - **任意数据库:** 通过编写或安装插件,添加对 DuckDB、MongoDB 或其他数据库的支持。 - **插件注册表:** 官方插件列在 [`plugins/registry.json`](./plugins/registry.json) 中。 - **开发指南:** 参见 [`plugins/PLUGIN_GUIDE.md`](./plugins/PLUGIN_GUIDE.md),用任意语言构建自己的驱动。 ### 日志 - **实时监控:** 在设置中直接查看应用日志。 - **级别过滤:** 按 DEBUG、INFO、WARN 或 ERROR 级别过滤。 - **内存缓冲:** 可配置的日志保留策略。 - **查询展开:** 在日志中自动展开和检查 SQL 查询。 - **导出日志:** 将日志保存为 `.log` 文件,便于调试或审计。 - **开关控制:** 启用/禁用日志记录和调整缓冲区大小,无需重启。 - **CLI 调试模式:** 使用 `tabularis --debug` 启动,从启动时即开启详细日志(包含 SQLx 内部查询)。 ### 配置存储 配置文件存储在 `~/.config/tabularis/`(Linux)、`~/Library/Application Support/tabularis/`(macOS)或 `%APPDATA%\tabularis\`(Windows)。 - `connections.json`:连接配置。 - `saved_queries.json`:已保存的 SQL 查询。 - `config.json`:应用设置(主题、语言、每页行数)。 - `themes/`:自定义主题。 - `preferences/`:每个连接的编辑器偏好设置(标签页、查询、布局)。 #### 编辑器偏好设置 Tabularis 会自动为每个数据库连接保存编辑器状态。重新打开连接时,会恢复之前打开的标签页及其查询内容。 **存储位置:** `~/.config/tabularis/preferences/{connectionId}/preferences.json` **保存的内容:** - 标签页标题和类型(控制台、表、可视化查询) - SQL 查询和查询参数 - 当前活动表和已选列 - 筛选、排序和限制条件 - 可视化查询构建器的流程状态 - 编辑器可见性状态 **不保存的内容:** - 查询结果(需要重新执行查询) - 错误信息 - 执行时间 - 未提交的编辑或删除 - 加载状态 这种方式确保快速启动的同时,跨会话保留您的工作区布局。 #### `config.json` 选项 - `theme`:主题 ID(如 `"tabularis-dark"`、`"monokai"`)。 - `fontFamily`:编辑器字体系列。 - `fontSize`:编辑器字体大小(px)。 - `language`:`"auto"`、`"en"`(英语)、`"it"`(意大利语)、`"es"`(西班牙语)、`"zh"`(简体中文)。 - `resultPageSize`:默认每页行数。 - `aiEnabled`:启用/禁用 AI 功能。 - `customRegistryUrl`:自定义插件注册表 URL(覆盖默认的官方注册表)。 #### 自定义 AI 模型覆盖 您可以通过编辑 `config.json` 并添加 `aiCustomModels` 对象来覆盖或添加自定义 AI 模型: ```json { "resultPageSize": 1000, "language": "en", "aiEnabled": true, "aiProvider": "openai", "aiCustomModels": { "openai": ["gpt-4o", "gpt-4-turbo", "gpt-3.5-turbo", "gpt-5-preview"], "anthropic": ["claude-3-opus-20240229", "claude-3-sonnet-20240229"], "minimax": ["MiniMax-M2.7", "MiniMax-M2.7-highspeed"], "openrouter": ["google/gemini-pro-1.5", "meta-llama/llama-3-70b-instruct"] } } ``` ### AI 功能(可选) 可选的文本转 SQL 和查询解释功能,由以下服务提供支持: - **OpenAI** - **Anthropic** - **MiniMax**(MiniMax-M2.7 和 MiniMax-M2.7-highspeed,204K 上下文) - **OpenRouter**(访问 Gemini、Llama、DeepSeek 等) - **Ollama**(本地 LLM 支持,完全隐私) - **OpenAI 兼容 API**(Groq、Perplexity、Azure OpenAI、LocalAI 等) #### 本地 AI(Ollama) 在设置中选择 "Ollama" 作为提供商。Tabularis 会自动检测运行在端口 `11434`(可配置)上的本地模型。无需 API 密钥。 #### OpenAI 兼容 API 选择 "OpenAI Compatible" 作为提供商,可连接任何实现 OpenAI API 格式的服务。在设置中配置自定义端点 URL 和模型名称。例如: - **Groq**:`https://api.groq.com/openai/v1` - **Perplexity**:`https://api.perplexity.ai` - **本地服务器**:`http://localhost:8000/v1` #### 动态模型获取 Tabularis 会自动从已配置的提供商获取最新可用模型。 - **刷新:** 点击设置中的刷新图标,从 API 更新模型列表。 - **缓存:** 模型列表本地缓存 24 小时,确保快速启动。 - **验证:** 当所选模型在当前提供商中不可用时,会提供可视化反馈。 ### MCP 服务器 — AI Agent 集成 Tabularis 内置了 **MCP(Model Context Protocol)服务器**,允许 AI Agent 直接从聊天界面读取您的数据库 Schema 并执行查询。 ```bash tabularis --mcp ``` #### 支持的客户端 | 客户端 | 一键安装 | 手动配置 | |--------|----------|----------| | **Claude Desktop** | 支持(设置 → MCP) | `~/Library/Application Support/Claude/claude_desktop_config.json` | | **Cursor** | 支持(设置 → MCP) | `~/.cursor/mcp.json` | | **Windsurf** | 支持(设置 → MCP) | `~/.codeium/windsurf/mcp_config.json` | #### 一键配置 1. 在 Tabularis 中打开 **设置 → MCP 服务器集成** 2. 点击对应 AI 客户端旁的 **安装配置** 3. 重启客户端 #### 手动配置 在客户端的 MCP 配置文件中添加以下内容: ```json { "mcpServers": { "tabularis": { "command": "/path/to/tabularis", "args": ["--mcp"] } } } ``` #### 可用工具 连接成功后,您的 AI Agent 可以: | 工具 | 描述 | |------|------| | `list_connections` | 列出所有已保存的数据库连接 | | `list_tables` | 列出连接中的表(支持 Schema 过滤) | | `describe_table` | 获取完整的表结构:列、索引、外键 | | `run_query` | 执行任意 SQL 查询并返回结果 | #### 示例提示 > "显示我生产数据库中的所有表,并描述 `orders` 表的结构" > "编写并执行一个查询,找出本月订单总金额排名前 10 的客户" > "检查 `users` 表是否有缺失的索引" ## 技术栈 - **前端:** React 19、TypeScript、Tailwind CSS v4。 - **后端:** Rust、Tauri v2、SQLx。 ## 开发 ### 环境搭建 ```bash npm install npm run tauri dev ``` ### 构建 ```bash npm run tauri build ``` ### icon 图标 public/ ├── logo.png ← 主 logo(页面左上角使用) src-tauri ├── icons/ │ ├── icon.png ← 通用图标源文件,通常用于生成其他尺寸 │ ├── 128x128@2x.png ← 设置-信息里的图标 │ ├── 128x128.png ← Windows 大图标 / Linux 应用图标 │ ├── 32x32.png ← Windows 任务栏、文件资源管理器小图标 │ ├── 64x64.png ← Windows 中等尺寸图标 │ ├── icon.ico ← Windows应用图标 ``` ## 智能补全规则 ┌─────────────────────┬──────────────────┬──────────────────┐ ├─────────────────────┼──────────────────┼──────────────────┤ │ FROM/JOIN/UPDATE... │ 表名 │ 关键字 │ │ FROM table [alias] │ 子句关键字 │ - │ │ ON │ 表别名 │ 表名 │ │ WHERE │ 表别名 │ 列名 │ │ AND │ 表别名 │ 列名 │ │ OR │ 表别名 │ 列名 │ │ table.column │ 列名 │ - │ └─────────────────────┴──────────────────┴──────────────────┘