WrenAI GenBI
让 AI 代理基于可审查业务上下文生成受治理 SQL、图表和可分享仪表板。
按维度查看评分与理由
证据显示:README 明确说明行/列级安全(RLS/CLS)和访问控制是商业功能,OSS 版本不包含,这限制了最小权限的默认实现。用户确认方面,CLI 工作流指南(如 onboarding)由代理驱动,但未明确要求用户确认关键操作。数据流透明度:README 描述了数据流(查询、部署到 Vercel/Cloudflare),但未详细说明数据如何被处理或存储。敏感数据处理:RLS/CLS 在测试中实现,但 OSS 版本不提供,且未提及加密或脱敏。依赖安全:SECURITY.md 提供漏洞报告流程,但未提及依赖扫描或已知漏洞缓解。外部影响:部署到外部平台(Vercel/Cloudflare)需要用户授权,但未明确权限范围。回滚:MDL 和上下文是 Git 友好的,支持版本控制,但未明确回滚机制。来源归属:MDL 和指令文件是版本控制的,但未明确来源追踪。扣分原因:OSS 版本缺少 RLS/CLS,用户确认和权限范围不明确,依赖安全信息不足。
证据显示:README 和测试文件(如 test_cube.py, test_modeling_core.py)展示了内部一致性,测试覆盖了多种场景。依赖可用性:README 提到 22+ 数据源,但未提供依赖的可用性保证或故障转移机制。失败消息:测试中验证了错误消息(如 'Permission Denied'),但未提供用户友好的错误处理文档。扣分原因:依赖可用性未明确,失败消息仅部分覆盖。
证据显示:README 明确了目标受众(AI 代理构建者)和场景(文本到 SQL、仪表板部署)。能力边界:README 明确列出 OSS 与商业功能(如 RLS/CLS),并说明 'Skip Wren if' 场景。触发精度:CLI 命令和技能(如 wren skills get onboarding)提供了明确的触发方式。环境适配:支持多种数据源和部署平台(Vercel/Cloudflare),但未详细说明环境要求。扣分原因:环境要求未详细说明,但整体适配性良好。
证据显示:README 提供了清晰的项目结构(core/, sdk/, skills/ 等),信息架构良好。安装说明:提供了 pip 安装命令和额外选项。命名稳定性:README 提到 'GenBI' 名称变更,并说明 legacy 分支,但未提供版本命名规范。示例和 FAQ:README 包含 FAQ 和快速入门示例。已知限制:README 明确列出 OSS 与商业功能的边界,但未列出所有已知限制。许可证:LICENSE 文件详细说明了多许可证(Apache-2.0, CC-BY-4.0, AGPL-3.0),但 README 声称 Apache-2.0,存在不一致。版本和变更日志:README 提到发布和变更,但未提供详细的变更日志。维护责任:SECURITY.md 和贡献指南明确了维护责任。扣分原因:许可证不一致,版本变更日志不详细。
证据显示:README 描述了输出(SQL、仪表板)和部署流程,输出可用性良好。边际价值:与原始 LLM 代理和传统 BI 工具相比,提供了治理和上下文层,价值明确。成本效益:开源免费,但商业功能需要付费,成本效益未详细分析。扣分原因:成本效益未详细分析,但整体价值明确。
证据显示:README 中的声明(如 22+ 数据源)未提供具体证据,但测试文件验证了部分功能。跨来源佐证:README 和测试文件相互印证,但未提供外部验证。事实与推断分离:README 区分了 OSS 和商业功能,但未明确区分事实和推断。扣分原因:声明缺乏具体证据,跨来源佐证有限。
- OSS 版本不包含行/列级安全(RLS/CLS)和访问控制,这些是商业功能,部署时需注意数据保护。
- README 声称 Apache-2.0 许可证,但 LICENSE 文件显示多许可证(包括 AGPL-3.0 未来可能),存在不一致,使用前需确认。
- 依赖安全信息不足,未提及依赖扫描或已知漏洞缓解,建议自行审计。
这个 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/WrenAIREADME 明确说明该命令会自动识别 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 的仪表板工作流则被描述为在工具内手动完成。