Canner/WrenAI
数据开源 GenBI 引擎,为 AI 编程代理提供语义层,把自然语言问题转成受治理的 SQL 和仪表盘。
项目定位
WrenAI 是面向 AI 代理的开源生成式 BI(GenBI)引擎。它面向已经在用 Claude Code、Cursor、Cline、Codex、MCP 客户端或 LangChain 的团队:这些代理本身只能看到数据库 schema,不知道业务含义,容易写出「看起来对」的 SQL。WrenAI 用 MDL(Modeling Definition Language)把模型、字段、关系、指标、枚举、单位和受认可 join 定义成可进 Git 的 YAML 与 Markdown,代理先基于语义层做规划、dry-plan 校验,再通过基于 Apache DataFusion 的引擎在 BigQuery、Snowflake、PostgreSQL、ClickHouse、Redshift、Databricks、DuckDB 等数据源上执行 连接数据库。
除问答外,代理还能用 wren-core-wasm 生成浏览器端仪表盘并部署到 Vercel 或 Cloudflare Pages 构建并部署 GenBI 应用。上下文层包括 instructions.md、queries.yml 和本地 LanceDB 记忆索引,目标是让业务定义随代码一起版本化、可评审。
快速使用
前提:可运行 pip 的 Python 环境,以及支持 skill 指令的代理;链接数据库可选,也可用内置 jaffle_shop 示例仓库。
-
安装 CLI 和按需的连接器扩展:
pip install wrenai pip install "wrenai[postgres,memory]" -
在项目目录中安装代理 skill:
npx skills add Canner/WrenAI这会写入约 50 行的发现桩,代理随后按已安装版本从 CLI 获取完整工作流说明。
-
让代理完成初始化,例如说「Use Wren to set up my Postgres database.」。代理会检查环境、创建连接配置、搭建项目并执行第一次查询。
之后按文档流程推进:从 raw/ 补充业务上下文(wren skills get enrich-context),提出业务问题让代理生成并执行受治理 SQL,最后要求生成可筛选、可分享的仪表盘并部署(wren skills get genbi)。详细步骤见 完整快速开始。
使用约束
开源部分是引擎本体(MDL 语义层、受治理 text-to-SQL、MCP server、CLI、22+ 连接器),以 Apache-2.0 发布且可自托管 开源边界。行级/列级安全、用户与组访问控制、托管 GenBI UI、嵌入与 API、场景化 harness、审计与 SLA 属于 Wren Cloud 或 Enterprise Plus 商业版本;如果团队需要多人协作的权限治理,需要把这部分成本纳入规划。
代理生成仪表盘时会写入你自己的 Vercel 或 Cloudflare Pages 账号,相应凭据和配额由你承担。CLI 的连接器以 extras 方式按需安装,记忆使用本地 LanceDB 索引。中国大陆用户可能需要配置 PyPI 镜像和 HF_ENDPOINT 以顺利下载模型。旧的聊天式 BI 产品已移入 legacy/v1 分支,不再有新功能和安全修复,新用户应走当前 CLI/skill 工作流。
HotRepo 点评
WrenAI 在 2026 年 7 月 19 日、20 日的 GitHub 全语言日榜上分别录得 96 和 121 个新增 Star,2026 年 11 月 15 日又在 Python 语言榜单日新增 52 个并排到该榜第 15 位。它没有全语言日榜的最好名次记录,所以公开信号更多是 Python 榜单上的持续活跃,而非整体榜的头部突破。这与项目较重的工程投入相符:Rust 核心、Python SDK、WASM 仪表盘运行时和多个代理 SDK 并存,随着代理式 BI 成为常见需求,对开发者保持吸引力。比 Star 曲线更值得关注的是清晰的开源与商业分层——引擎确实可自托管,但团队治理和托管 UI 收费,生产落地前需要据此判断。
本文由 AI 根据项目 README 生成,更新于 ,以项目官方文档为准。