开源 · MIT / Apache-2.0 双协议Open source · MIT / Apache-2.0

一个二进制文件,
开箱即用的 BI 系统
One binary.
A BI system that just runs.

Oxidash 用 Rust 编写,前端内嵌、默认 SQLite 存储元数据。连接数据库或上传文件,几分钟内就能搭出带权限控制的仪表盘。 Oxidash is written in Rust with the frontend embedded and SQLite metadata by default. Connect a database or upload a file and ship permission-aware dashboards in minutes.

无需 Node / JVM / Docker 运行时 · 前端 gzip 后约 250KBNo Node / JVM / Docker runtime required · ~250KB gzipped frontend
核心功能Features

从数据到仪表盘,所需的都在这里Everything from data to dashboard

数据源 → 数据集 → 图表 → 仪表盘,一条清晰的链路,没有多余的组件。Data source → dataset → chart → dashboard. One clear path, no extra moving parts.

单文件部署Single-binary deploy

前端与数据库迁移脚本全部内嵌在一个二进制中,复制到服务器即可运行,升级只需替换文件。Frontend and migrations are embedded in one binary. Copy it to a server and run; upgrade by replacing the file.

多种数据源Many data sources

PostgreSQL、MySQL / MariaDB、SQLite;以及 CSV、TSV、Excel、Parquet、JSON 文件,支持跨文件 JOIN。PostgreSQL, MySQL / MariaDB, SQLite, plus CSV, TSV, Excel, Parquet and JSON files — with cross-file JOINs.

丰富的图表Rich charts

柱状、折线、面积、饼图、散点、漏斗、指标卡、表格,基于 ECharts,支持明暗主题。Bar, line, area, pie, scatter, funnel, KPI and table charts powered by ECharts, in light and dark themes.

行级权限控制Row-level access

基于角色的资源级授权,配合 SQL 内置变量,让每个人只看到自己该看的数据。Role-based, resource-level grants plus built-in SQL variables so everyone sees only their own data.

操作日志Audit log

登录、增删改、即席查询、生成嵌入令牌、查看仪表盘全部留痕,可按用户、操作、日期筛选。Logins, changes, ad-hoc queries, embed tokens and dashboard views are all recorded and filterable.

无缝接入已有系统Fits your stack

网关请求头 / 外部 JWT / Webhook 统一认证,iframe 嵌入仪表盘,或作为 Rust 库嵌入并扩展。Gateway headers, external JWT or webhook auth; iframe embedding; or embed it as a Rust library.

PostgreSQLMySQL / MariaDBSQLite CSV / TSVExcelParquetJSON 中文 / EnglishChinese / English
权限与安全Security

一份数据集,按人显示不同的数据One dataset, different rows for each viewer

在数据集 SQL 中使用 {{ current_username }}、{{ current_roles }} 等内置变量,执行时自动替换为当前访问者信息,并按数据源方言安全转义。Use built-in variables like {{ current_username }} and {{ current_roles }} in dataset SQL. They are substituted with the current viewer and safely escaped for each dialect.

  • 数据源只读执行:只读事务 + 语句超时,拒绝多语句注入Read-only execution: read-only transactions + statement timeouts; multi-statement injection rejected
  • 权限粒度到单个仪表盘 / 图表 / 数据集,支持按分组授权Grants down to a single dashboard, chart or dataset, or by dashboard group
  • 内置 admin / editor / viewer 角色,可自定义Built-in admin / editor / viewer roles, fully customizable
  • argon2 密码哈希,JWT 无状态会话argon2 password hashing, stateless JWT sessions
-- 销售只能看到自己负责的商户;管理员看全部-- Sales see only their own merchants; admins see all
SELECT m.name, SUM(t.amount) AS gmv
FROM transactions t
JOIN merchants m ON m.id = t.merchant_id
WHERE m.sales_username = {{ current_username }}
   OR 'admin' IN ({{ current_roles }})
GROUP BY m.name
// 作为库嵌入已有的 Axum 应用// Embed into an existing Axum app as a library
let bi = oxidash::OxidashBuilder::new(config)
    .auth_provider(MySso)           // impl AuthProvider
    .connector(MyClickHouseFactory) // impl ConnectorFactory
    .routes(my_router)              // 挂载到 /api/ext// mounted at /api/ext
    .build().await?;

let app = Router::new()
    .nest_service("/bi", bi.router());
集成与扩展Integration

接入你的系统,而不是替换它Plug into your system, don't replace it

通过配置即可复用已有的登录体系,外部用户首次访问自动创建,外部角色映射为本地角色。Reuse your existing login with configuration alone. External users are created on first visit, and external roles map to local ones.

  • 统一认证:trusted header / JWT(HS·RS·ES·EdDSA)/ WebhookUnified auth: trusted header / JWT (HS·RS·ES·EdDSA) / webhook
  • iframe 嵌入:一键生成链接,或用共享密钥自行签发嵌入令牌iframe embedding: generate a link in one click, or sign embed tokens yourself
  • 作为 Rust 库:自定义认证、数据源连接器与扩展接口As a Rust library: custom auth, connectors and extension routes
  • 元数据库可选 SQLite / MySQL / PostgreSQLMetadata on SQLite / MySQL / PostgreSQL
快速开始Quick start

三条命令跑起来Up and running in three commands

首次启动自动生成一套三方支付交易系统的示例数据与仪表盘,直接感受不同角色看到的首页。The first start generates a sample payments dataset with dashboards, so you can see each role's home page right away.

阅读文档Read the docs
# 构建前端与后端# Build frontend and backend
cd web && npm install && npm run build && cd ..
cargo build --release

# 启动:http://127.0.0.1:8080# Run: http://127.0.0.1:8080
./target/release/oxidash
# 初始账号 admin / admin123# Initial account admin / admin123
在线演示Live demo

不用安装,现在就试试Try it now, nothing to install

演示站内置一套三方支付交易系统:30 个商户、5 个支付通道、近 180 天约 10 万笔交易。用不同账号登录,体验行级权限的效果。The demo ships a sample payments system: 30 merchants, 5 channels and ~100k transactions over 180 days. Log in as different users to see row-level permissions at work.

打开演示站 →Open the demo →
账号Account看到的仪表盘Dashboard
ceo经营总览:GMV、毛利、趋势、商户排行Business overview: GMV, profit, trends
ops交易运营监控:成功率、通道耗时、热力图Operations: success rate, latency, heatmap
finance财务对账:收入、成本、结算单Finance: revenue, cost, settlements
sales1我的商户:仅本人负责的数据My merchants: own rows only
密码均为 demo123Password for all: demo123
服务Services

开源免费,也可以交给我们Free and open source — or let us run it

Oxidash 以 MIT / Apache-2.0 协议开源,你可以自由使用、修改与商用。如果希望省心,我们提供付费的部署与维护服务。Oxidash is MIT / Apache-2.0 licensed — use, modify and ship it commercially. If you'd rather not run it yourself, we offer paid deployment and maintenance.

社区版Community

免费Free

适合有运维能力、希望自行部署的团队。For teams who are happy to self-host.

  • 全部功能,无任何限制Every feature, no limits
  • 完整源码与文档Full source and docs
  • 允许商用与二次开发Commercial use and forks allowed
  • 社区反馈与问题跟踪Community issue tracker
获取源码Get the source
推荐Popular

部署服务Deployment

按项目报价Per project

由我们在你的服务器或云环境中完成上线。We get Oxidash live on your servers or cloud.

  • 私有化部署(物理机 / 云主机 / 内网)On-prem, cloud VM or private network
  • HTTPS、反向代理、备份策略配置HTTPS, reverse proxy and backups
  • 对接现有数据库与统一认证(SSO / JWT / 网关)Connect your databases and SSO / JWT / gateway
  • 角色权限与行级数据控制方案设计Role and row-level access design
  • 首批仪表盘搭建与使用培训First dashboards and team training
咨询部署Request a quote

维护服务Maintenance

按年订阅Yearly

长期稳定运行,问题有人负责。Long-term stability with someone on call.

  • 版本升级与安全补丁Upgrades and security patches
  • 故障响应与问题排查Incident response and troubleshooting
  • 运行状态巡检与数据备份检查Health checks and backup verification
  • 定制开发:数据源连接器、认证、功能扩展Custom connectors, auth and features
  • 专属沟通渠道Dedicated support channel
咨询维护Contact us

具体价格根据部署规模、环境与服务范围确定,欢迎邮件联系 [email protected]。Pricing depends on scale, environment and scope. Email [email protected].

FAQ

常见问题Questions

开源版和付费服务功能上有区别吗?Is the open-source version limited?

没有。软件本身完全开源、功能完整。付费服务购买的是我们的时间与经验:部署、对接、维护和定制开发。No. The software is fully open source and complete. Paid services buy our time and experience: deployment, integration, maintenance and custom work.

需要什么样的服务器?What server do I need?

Oxidash 是单个二进制文件,资源占用很低,一台普通的 Linux 云主机即可运行;元数据默认存放在本地 SQLite,无需额外数据库。It's a single, lightweight binary — an ordinary Linux VM is enough. Metadata lives in local SQLite by default, no extra database required.

数据会经过你们的服务器吗?Does my data go through your servers?

不会。部署服务均为私有化部署在你自己的环境中,数据始终留在你的网络内。No. We deploy into your own environment, and your data never leaves your network.

可以连接我们自己的数据库类型吗,比如 ClickHouse?Can it connect to other databases like ClickHouse?

可以。Oxidash 提供 ConnectorFactory 扩展点,可以实现新的数据源类型而无需改动其余代码,这也是我们定制开发服务的一部分。Yes. Oxidash exposes a ConnectorFactory extension point for new source types without touching the rest of the code — something we can build for you.

今天就给团队一个轻量的 BIGive your team a lightweight BI today

先看演示,再决定自己部署还是交给我们。See the demo, then decide whether to self-host or let us handle it.