Show HN: AGX - 用于 ClickHouse 的开源数据探索工具(新的标准?)
**AGX** 是一个开源数据探索工具,用于使用 ClickHouse 查询和探索数据。它基于 Tauri 和 SvelteKit 构建,提供交互式 SQL 编辑器、模式浏览器等功能,支持跨平台使用。用户可以通过在线体验或本地运行的方式使用,支持 Docker Compose 和原生应用安装。项目采用 MIT License,欢迎贡献。前端使用 SvelteKit,后端使用 Tauri 和 Rust,通过 Tauri 的 IPC 桥接实现前后端通信,数据查询由 chdb 处理。
agnosticeng/agx
使用 ClickHouse 查询和探索本地及远程数据。
许可证
agx
agx 是一个使用 Tauri 和 SvelteKit 构建的桌面应用程序,它提供了一个现代化的界面,用于使用 ClickHouse 的嵌入式数据库引擎 (chdb) 探索和查询数据。
预览
功能特性
- 使用 Web 技术实现原生桌面应用程序性能
- 交互式 SQL 查询编辑器,支持语法高亮
- 模式浏览器,用于探索数据结构
- 以表格格式显示结果
- 支持拖放文件操作
- 跨平台兼容性 (macOS, Linux, Windows)
前提条件
- Node.js (v16 或更高版本)
- Rust toolchain
- Tauri 的系统依赖项
快速开始
→ 在线体验
→ 本地运行
- 克隆仓库:
git clone https://github.com/agnosticeng/agx
cd agx
- 使用 Docker Compose 运行:
docker compose up
- 通过 http://localhost:8080 访问应用程序
→ 原生应用
- 克隆仓库:
git clone https://github.com/agnosticeng/agx
cd agx
- 下载并设置 chdb 库:
./src-tauri/update_libchdb.sh
- 安装依赖:
npm install
- 在开发模式下运行:
npm run tauri dev
- 构建生产版本:
npm run tauri build
项目结构
agx/
├── src/ # 前端源代码 (SvelteKit)
│ ├── lib/ # 共享组件
│ └── routes/ # 应用路由
├── src-tauri/ # 后端源代码 (Rust)
│ ├── src/ # Rust 源代码文件
│ └── Cargo.toml # Rust 依赖
├── package.json # Node.js 依赖
└── README.md
安装 Agnostic UDF
使用单个命令安装 Agnostic ClickHouse UDF:
curl -fsSL https://raw.githubusercontent.com/agnosticeng/agx/main/scripts/install_agnostic_udfs.sh | sh
开发
- 前端使用 SvelteKit 构建,提供反应式和高效的 UI
- 后端使用 Tauri 和 Rust,提供原生性能和安全性
- 前端和后端之间的通信通过 Tauri 的 IPC 桥接实现
- 数据查询由 chdb 处理,这是一个嵌入式 ClickHouse 引擎
贡献
欢迎贡献! 请随时提交 Pull Request。
许可证
本项目采用 MIT License 许可 - 详见 LICENSE 文件。
MIT License 是最流行的开源许可证之一,因为它:
- 简单且宽松
- 允许商业用途
- 允许修改和分发
- 允许私人用途
- 具有最少的限制
- 与许多其他许可证兼容
关于
使用 ClickHouse 查询和探索本地及远程数据。