WrenAI GenBI
让 AI 代理基于可审查业务上下文生成受治理 SQL、图表和可分享仪表板。
这个 Agent 能做什么,适合哪些场景?
WrenAI 是面向 AI 代理的开源生成式 BI 引擎,覆盖从自然语言问题到 SQL、图表及可分享仪表板的流程。其核心上下文层由 MDL 语义模型、instructions.md、queries.yml 和本地 LanceDB 记忆索引组成,用于保存业务定义、示例与可复用查询知识。core/ 中包含基于 Apache DataFusion 的 Rust 语义引擎、Python 绑定、Python SDK/CLI,以及 wren-core-wasm 浏览器端构建。代理可通过 wren query 执行经 MDL 处理的查询,并可依据 genbi 工作流构建浏览器端仪表板,部署到自己的 Vercel 或 Cloudflare Pages 账户。它适合希望把数据语义和业务知识纳入版本控制、并让现有代理参与 BI 构建的团队;只想从单个 CSV 临时绘图的场景并不匹配。
安装 wrenai 后,代理可通过 wren skills get onboarding 获取项目初始化流程,检查环境、创建连接配置并完成首次查询。它读取 MDL 中的模型、列、关系、视图、立方体、指标及行级/列级访问控制,也可使用 instructions.md、queries.yml 与 LanceDB 记忆索引作为业务上下文。代理用 wren ask "<question>" --guided 或 --direct 整理提问,或用 wren query --sql '...' 经 MDL 语义层运行 SQL;项目描述还列出 schema-aware retrieval、MDL planning、dry-plan validation、结构化错误、函数和行数限制等执行能力。对于仪表板,代理获取 wren skills get genbi,生成由 wren-core-wasm 驱动的浏览器端 GenBI 应用,本地预览后部署至用户自己的 Vercel 或 Cloudflare Pages 账户。
- 数据团队需要让 Claude Code、Codex 或其他已接入的代理,根据 Postgres 业务定义回答季度客户销售问题。
- 拥有 BigQuery、Snowflake、ClickHouse 或 Databricks 数据仓库的团队,希望把批准的指标、连接关系和枚举含义写入可版本控制的上下文。
- 分析工程团队希望让代理把已验证的查询扩展成交互式、可筛选并可分享的仪表板,再发布到自己的 Vercel 或 Cloudflare Pages。
- 企业将业务规则散落在文档、wiki 或聊天记录中,准备将这些知识整理为 MDL、instructions.md、queries.yml 和记忆记录。
- 使用 LangChain 或 LangGraph 构建数据助手的 Python 团队,希望采用仓库提供的 wren-langchain 参考 SDK 集成。
这个 Agent 有哪些优点和局限?
- 把 MDL、instructions.md、queries.yml 和记忆索引作为可审查、可版本控制的业务上下文,而非只依赖数据库 schema 或提示词。
- 覆盖受治理 SQL、图表和仪表板部署;仪表板使用 wren-core-wasm 在浏览器端运行,并可发布到用户自有的 Vercel 或 Cloudflare Pages。
- 核心引擎基于 Apache DataFusion,仓库列出 22+ 数据源,并提供 Python CLI、Python 绑定和 wren-langchain 参考集成。
- 提供 dry-plan、访问控制、行数限制和结构化错误等明确的执行治理原语。
- 首次可用仍需配置具体数据源的连接 profile;给定材料没有提供凭据格式、连接参数或完整非代理式配置步骤。
- 丰富上下文需要维护 MDL、业务说明、查询示例和记忆内容,采用前需投入建模与治理工作。
- 仪表板部署边界是用户自己的 Vercel 或 Cloudflare Pages 账户,并非仓库材料中描述的一体化托管服务。
- 旧的 Docker 聊天式产品已移至 legacy/v1,标注为不再获得新功能或安全修复;采用者应避免把 Classic 当作维护中的主线。
如何安装或部署这个 Agent?
在具备 shell、网络访问和目标数据源连接条件的环境中安装:
pip install wrenai
如需 Postgres 与记忆功能:
pip install "wrenai[postgres,memory]"
然后安装供 AI 客户端发现工作流的 stub:
npx skills add Canner/WrenAI
README 明确说明该命令会自动识别 Claude Code、Cursor、Cline、Codex 等客户端。首次连接所需的数据源凭据和连接配置字段未在给定材料中列出;按 onboarding 工作流创建 connection profile。
如何使用这个 Agent?
在项目目录中先执行:
wren skills get onboarding
让已安装 discovery stub 的代理依照该工作流设置数据库并运行首次查询。补充业务上下文时执行:
wren skills get enrich-context
日常可直接运行:
wren query --sql '...'
或让代理使用:
wren ask "谁是本季度销售额最高的 10 位客户?" --guided
构建仪表板时执行 wren skills get genbi,让代理生成、预览并部署浏览器端应用;部署目标需要用户自己的 Vercel 或 Cloudflare Pages 账户。
这个 Agent 与同类方案有什么区别?
仓库将 WrenAI 与原始 LLM 代理、传统 BI 工具和裸语义层对比:WrenAI 的定位是让外部代理在受治理的上下文上生成 SQL,并由代理驱动仪表板部署;传统 BI 的仪表板工作流则被描述为在工具内手动完成。