开源项目

WrenAI

WrenAI

开源 GenBI 引擎,让 AI Agent 通过开放上下文层将自然语言问题转化为受治理的 SQL、图表和可分享仪表盘,支持 22+ 数据源。它不止做 text-to-SQL,还内置了业务语义管理、记忆回溯和一键部署能力,解决了纯 LLM 生成 SQL 时缺乏上下文和治理的痛点。CLI+Agent SDK 设计让 Claude Code、Cursor 等客户端可直接调用。Apache 2.0 许可,可商用。

README

WrenAI

开源 GenBI:为 AI agent 打造的生成式商业智能。

你的 agent 能从任何数据库生成、部署和管理仪表盘,这一切都基于它们真正可以信任的上下文层。

文档 · Discord · 愿景 · 博客

License: Apache 2.0 PyPI GitHub Release Discord Last commit 关注 X Made by Canner Stars

Canner/WrenAI | Trendshift

📣 2026-05-07: Wren Engine 已合并到本仓库的 core/ 目录下。之前的 Canner/wren-engine 仓库已归档。先前的 WrenAI GenBI 应用(基于 Docker 的聊天优先 BI 产品)已保留在 legacy/v1 分支(标签 v1-final)上,现称为 Wren GenBI Classic;详见下方关于“GenBI”名称的说明。 阅读公告 →


WrenAI 是什么

WrenAI 是开源的 GenBI 引擎:它让 AI agent 能够从 SQL 答案到可共享的仪表盘,跨越 22 种以上数据源,生成、部署和管理商业智能。

使输出可信的是其底层的层次:一个开放的上下文层,它提供给 agent 的远不止 schema。这包括业务语义、经认可的定义、示例、记忆和治理,以及存在于你文档、wiki 和聊天线程中的非结构化公司知识。生成式 BI 的质量取决于它所依赖的上下文,而 Wren 正是这个上下文,可供你已运行的每个 agent 审查和复用。

Wren AI 架构

GenBI 三部曲:生成 · 部署 · 知晓

  • 生成。 你的 agent 将业务问题转化为受治理的 SQL 和图表。模式感知检索(schema-aware retrieval)、MDL 规划、干计划验证(dry-plan validation)和结构化错误确保正确性,而非盲目自信地犯错。
  • 部署。 将任何答案转化为由 wren-core-wasm 驱动的、浏览器端可共享的仪表盘,并通过一条命令将其部署到你自己的 Vercel 或 Cloudflare Pages 账户。
  • 知晓。 使这一切正确无误的知识存在于可版本化、可链接证据的文件中:语义模型(MDL)、公司定义(instructions.md)以及一份关于哪些做法有效的记忆。可审查、对 Git 友好、永远不会被锁定在别人的 UI 里。

为什么 agent 构建者选择 WrenAI

  • 生成式 BI,端到端。 不仅是 text-to-SQL。生成答案、部署仪表盘、共享 URL,全部由你已有的 agent 驱动。
  • 内置知识管理。 业务含义、经认可的定义和经过验证的示例被捕获为可审查、版本可控的上下文,而非埋藏在提示词中。
  • 默认开放。 核心、SDK 和技能均在 Apache-2.0 许可下开源。
  • 以正确性为原语。 丰富的模式检索、干计划验证、带提示的结构化错误、数值分析(value profiling)、评估运行器(eval runner)。Agent 编排;追踪信息保留在其推理中。
  • 架设于你现有技术栈之上。 数据仓库、转换管道、现有语义层。无需维护另一个工具。

Wren 对比

原生 LLM agent 传统 BI 工具 裸语义层 WrenAI
为你编写 SQL ✅(常出错) ✅ 受治理
了解你的业务定义 部分,在工具内 ✅(仅 schema) ✅ 包含非schema 知识
生成并部署仪表盘 ✅(手动,在工具内) ✅ agent 驱动
通过你的 agent(Claude Code、Cursor、MCP……)工作
开放、可审查、对 Git 友好的上下文 部分
跨22+个数据源的受治理执行 按连接器 ✅(仅定义)

如果你符合以下情况,Wren 适合你

  • 你希望 AI agent 生产可信的 BI,包括答案仪表盘,而不仅仅是看起来合理的 SQL。
  • 你的业务逻辑(定义、枚举、单位、认可的连接)存在于数据库之外,而你的 agent 总是搞错。
  • 你希望上下文是开放的、可审查的、版本可控的,能被每个 agent 和人使用,而非被某个供应商的 UI 所限制。

如果以下情况,请跳过 Wren:你只需要从单个 CSV 获取一次性图表,或者你满足于让 agent 在没有治理的情况下猜测 SQL。

快速开始

WrenAI 设计为由 agent 驱动:安装 CLI,为你的 AI 客户端安装一个单文件发现存根(stub),然后让你的 AI agent 自行驱动其余流程。工作流指南内置于 CLI 本身中,按需提供,因此内容始终与已安装版本匹配。

1. 安装 CLI

pip install wrenai                           # 核心(包含 DuckDB)
pip install "wrenai[postgres,memory]"        # 根据需要添加按数据源和内存的额外功能

中国大陆用户提示: 如果 pip install 速度慢或失败,请使用清华镜像:

pip install wrenai -i https://pypi.tuna.tsinghua.edu.cn/simple

如果 HuggingFace 模型下载超时,请在运行 CLI 之前添加 export HF_ENDPOINT=https://hf-mirror.com

2. 为你的 AI 客户端安装发现存根

npx skills add Canner/WrenAI                 # 自动检测 Claude Code、Cursor、Cline、Codex……

该存根大约 50 行。它教会你的 agent 通过 wren skills get <name> 获取工作流指南,通过 wren ask "<question>" --guided|--direct 获取结构化提示,其余内容均在 CLI 中。

3. 让你的 agent 进行设置

在你的项目目录中打开 agent,然后说出类似这样的话:

"使用 Wren 设置我的 Postgres 数据库。"

agent 会运行 wren skills get onboarding,逐步按照指南操作,检查你的环境,创建连接配置文件,搭建项目框架,并运行第一次查询。

4. (可选)丰富项目:知晓环节

一旦引导完成,你可以问:

"用 raw/ 中的业务上下文丰富我的 Wren 项目。"

agent 会运行 wren skills get enrich-context,然后以烤串模式(一次一个问题)或自动驾驶模式(agent 读取 <project>/raw/ 并提出建议)遵循指南。两种模式都会写入 MDL、instructions、queries 和 memory,所有内容都可审查、对 Git 友好。

5. 提问:生成环节

"本季度前十大客户是谁?按销售额排序。"

你的 agent 获取 MDL 上下文,回忆过去类似的查询,编写受治理的 SQL,并通过 wren query 执行。

6. 构建并部署仪表盘:部署环节

"将其变成一个可筛选和共享的交互式仪表盘,然后部署到 Vercel。"

agent 运行 wren skills get genbi,根据项目的上下文构建一个浏览器端的 GenBI 应用,在本地预览,然后将其发送到你自己的 Vercel 或 Cloudflare Pages 账户,返回一个实时的可共享 URL。请参阅 构建并部署 GenBI 应用指南

想在没有自己数据库的情况下尝试? 让你的 agent 使用附带的 jaffle_shop 示例数据集。相同的流程,几分钟内即可端到端查询真实仓库。

先做两个环节,再做第三个

# 第一天(agent 驱动)
wren skills get onboarding           # 工作流指南:设置项目 + 首次查询      (生成)
wren skills get enrich-context       # 工作流指南:添加业务上下文            (知晓)
wren skills get genbi                # 工作流指南:构建并部署仪表盘           (部署)

# 日复一日使用
wren query --sql '...'               # 通过 MDL 语义层进行查询
wren ask "<question>" --guided       # 为较弱 agent 包装问题
wren ask "<question>" --direct       # 为较强 agent 包装问题

开始时快速运行,需要时深度使用,始终可审查、对 Git 友好。

包含的内容

  • 建模定义语言(MDL):模型、列、关系、视图、Cube、度量、行级/列级访问控制 (RLAC / CLAC)
  • 引擎:基于 Apache DataFusion,支持 22+ 数据源
  • GenBI 仪表盘:由 agent 构建、浏览器端运行的应用,基于 wren-core-wasm,可部署到 Vercel / Cloudflare Pages
  • 知识与记忆:版本控制的 instructions.mdqueries.yml 中的业务含义,加上本地的 LanceDB 记忆索引(混合检索)用于回忆
  • Agent SDKwren-langchain(LangChain / LangGraph)、wren-pydantic;其他技术栈的参考 Python 集成
  • 受治理的执行原语:函数、干计划、行限制、访问控制

下一步

  • 端到端正确性原语:数值分析、丰富检索、结构化错误、金标准评估运行器
  • Agent 原生分发:主要 agent 框架的一流 SDK;查看 GitHub Discussions 了解下一步优先开发内容
  • 全面受治理执行:审计日志、速率限制、审批工作流、数据流检查器

完整路线图和设计说明:请参阅 介绍

关于“GenBI”名称的说明

“GenBI”现在指的是这种开源的生成式 BI 能力:agent 在 Wren 上下文层之上生成受治理的答案并部署仪表盘。早期的 Wren AI GenBI 应用(基于 Docker 的聊天优先 BI 产品)现已更名为 Wren GenBI Classic,保留在 legacy/v1 分支(不再提供新功能或安全修复)。如需该经典体验的受维护托管版本,请参阅 Wren AI Commercial

文档

社区

贡献

我们开放地构建。欢迎 Issue、PR、连接器贡献、SDK 集成、文档修正。

项目结构(点击展开)
core/
  wren-core/          Rust 语义引擎(Apache DataFusion)
  wren-core-base/     共享的清单类型 + MDL 构建器
  wren-core-py/       Python 绑定(PyPI: wren-core)
  wren-core-wasm/     WebAssembly 构建(npm: wren-core-wasm)
  wren/               Python SDK 和 CLI(PyPI: wrenai)
  wren-mdl/           MDL JSON schema
sdk/
  wren-langchain/     参考 Agent SDK 集成
skills/               Agent 技能,用于上下文创作
docs/                 模块文档
examples/             示例项目

贡献者

WrenAI 贡献者

许可证

Apache 2.0。参见 LICENSE


和我们一起构建开放的 GenBI。

如果 WrenAI 对你有帮助,请点个 ⭐,这真的能帮助我们成长!

⬆️ 回到顶部

开源项目Canner2026-07-19原文

相关内容