在 Firebender 中使用 Wren AI:JetBrains IDE 内安装、引导与查询的完整指南

在 Firebender 中使用 Wren AI:JetBrains IDE 内安装、引导与查询的完整指南 在 Firebender 中使用 Wren AIJetBrains IDE 内安装、引导与查询的完整指南【免费下载链接】WrenAIGenBI (Generative BI) for AI agents, an open-source, governed text-to-SQL through an open context layer that turns natural-language questions into trusted dashboards, charts, and SQL across 20 data sources, such as BigQuery, Snowflake, PostgreSQL, ClickHouse, Amazon Redshift, Databricks and more.项目地址: https://gitcode.com/GitHub_Trending/wr/WrenAI本文面向使用FirebenderJetBrains 系列 IDE 中的 AI 编程助手的开发者讲解如何在 Android JetBrains 环境中安装 Wren AI 的wren技能、执行端到端 onboarding并在此基础上完成环境检查、Profile 创建、项目脚手架搭建与首次查询。读完本文你将掌握通过一条命令安装技能发现桩discovery stub、用自然语言触发/wren引导流程、以及将 Wren AI 的语义层MDL接入自己数据库的完整操作路径。Firebender 与 Wren AI 的集成概览Firebender 是面向 JetBrains 系列 IDE如 IntelliJ IDEA、Android Studio、PyCharm 等的 coding agent。Wren AI 为各类 AI agent包括 Firebender提供了一套wren技能skill让 agent 能够像熟练工程师一样操作 Wren CLI连接数据库、生成 MDLModeling Definition Language语义模型、通过语义层执行 SQL、管理记忆索引。从仓库结构看这套集成的核心机制是「发现桩 按需取用」skills/wren/SKILL.md 是安装在 agent 侧的发现桩discovery stub它本身只描述 Wren CLI 的能力边界与触发词真正的分步工作流指南存放在wrenCLI 包内部pip install wrenai后位于wren/skills_content/目录下由 agent 通过wren skills get name实时获取。也就是说Firebender 只需要装上这一个wren发现桩就能按需拉取 onboarding、usage、generate-mdl、dlt-connector、enrich-context、genbi 等全部工作流指南且每次拉取的内容都与当前安装的 wrenai 版本严格对应不存在技能缓存导致的版本漂移问题。前提条件在 JetBrains 环境中开始之前需要准备条件说明Firebender已安装并完成认证authenticatedJetBrains IDE必需Firebender 以插件形式运行在 JetBrains IDE 内Python 3.11Wren CLI 的运行环境onboarding 指南会进行版本检查Node.js / npm使用npx skills add安装技能时必需Git可选使用git clone拉取示例数据时使用安装 Wren 技能打开终端在 JetBrains IDE 对应的项目环境中执行npx skills add Canner/WrenAI --agent firebendernpx skills add会从仓库的 skills/wren/SKILL.md 安装wren发现桩--agent firebender参数明确指定目标 agent 是 Firebender确保技能被写入 Firebender 可识别的目录。如果你更习惯使用 shell 脚本安装仓库中的 skills/install.sh 提供了等价的安装方式curl -fsSL https://raw.githubusercontent.com/Canner/WrenAI/main/skills/install.sh | bash安装脚本默认将技能写入$HOME/.claude/skills可通过环境变量CLAUDE_SKILLS_DIR覆盖支持--force参数覆盖已存在的安装当技能目录已存在且未加--force时会跳过安装。安装完成后脚本会提示你在 AI 客户端中通过/wren调用该技能。注意无论通过哪种方式安装的只是一个「发现桩」。真正的向导内容onboarding、usage、generate-mdl 等存储在 wrenai Python 包中agent 会通过wren skills get name按需获取因此无需担心技能内容与 CLI 版本不一致。运行 Onboarding 引导安装完成后在 JetBrains IDE 中打开你的项目确保 Firebender 插件已生效然后打开 Firebender 的聊天面板向其发送Use the /wren skill to install and set up Wren AI.Firebender 识别到/wren技能后会拉取 onboarding 工作流指南并逐步带你完成环境检查 → Profile 创建 → 项目脚手架搭建 → 首次查询。技能背后到底执行了什么从仓库中 core/wren/src/wren/skills_content/onboarding/SKILL.md 的实现可以看到onboarding指南为 agent 规定了一整套操作纪律一次往返只做一步每个编号步骤单独一轮先解释、再执行命令、确认后再继续严禁一次性把项目名、数据库类型、凭据全部问齐。凭据绝不进聊天host、port、user、password、token 等一律通过.env文件承载用户在自己的编辑器中填写agent 永远看不到明文值。MDL 构建之前绝不查询数据库所有查询必须等wren skills get generate-mdl完成、wren context validate与wren context build通过之后才能进行。不臆造连接字段名必须通过wren docs connection-info ds实时获取连接字段——该命令直接从 Pydantic schema 内省生成永远与当前安装版本一致。出错时查阅排障手册遇到错误时agent 应引用connect.md#troubleshooting中的对应症状章节而不是在技能内复制一份排障手册。Preflight 环境预检onboarding 开始时会执行一组只读的环境检查并汇报结果此阶段不会询问任何项目/凭据/数据源信息python3 --version # 要求 Python 3.11过旧则请用户升级并停止 python3 -c import sys; print(sys.prefix ! sys.base_prefix) # 检查是否在虚拟环境中 wren --version # 已安装则确认而非重复安装 pwd # 记录当前目录其中第二项若输出False说明当前不在虚拟环境中PEP 668 约束的系统需要先创建并激活虚拟环境python3 -m venv .venv source .venv/bin/activate预检完成后onboarding 还会先询问你是先用内置的 jaffle_shop 演示数据约 30 秒、无需数据库还是连接自己的数据库。选择前者时agent 会直接引导你走 docs/core/get_started/quickstart.md 的端到端演示选择后者才继续下面的步骤。收集项目名与数据库类型接下来 agent 只会向你收集两件事它们是一起问的便于你一次性交接项目名—— 将创建~/name/目录数据库类型—— 可运行wren docs connection-info不带参数查看完整列表常用选项包括postgresAurora PostgreSQL 也用这个、mysqlAurora MySQL 同理、bigquery、snowflake、clickhouse、trino、duckdb等。注意此时不询问任何凭据。创建工作区与 .env 配置确认项目名与数据源后agent 会批量执行以下操作mkdir -p ~/project cd ~/project pip install wrenai[ds,main] wren docs connection-info ds --format md第三步通过内省连接器生成.env模板字段键采用DS_FIELD的 UPPER_SNAKE 命名、值留空。以 PostgreSQL 为例POSTGRES_HOST POSTGRES_PORT5432 POSTGRES_DATABASE POSTGRES_USER POSTGRES_PASSWORD随后 agent 会提示你把.env加入.gitignore建议chmod 600 .env并请你填写全部值后回复done。像 BigQuery 的 base64 编码、Snowflake 的 account 格式、Athena 的 AWS 凭据等特殊编码规则都会由 agent 从 docs/core/guides/connect.md 中按需引用而不是在聊天中索要。创建连接 Profile收到 done 后agent 会写一个/tmp/conn.yml将每个字段都用${VAR}占位符指向.env中对应的键datasource: ds host: ${DS_HOST} port: ${DS_PORT} # … 每个字段一行来自 wren docs connection-info ds然后执行wren profile add project --from-file /tmp/conn.ymlprofile 创建会自动触发连接校验CLI 会静默覆盖同名 profile没有--force标志。校验若出现警告agent 会对照connect.md#troubleshooting定位具体症状缺失密钥、驱动认证失败、ValidationError、主机不可达等。脚手架与 Profile 绑定连接校验通过后wren context init --empty # 创建项目目录结构已存在 wren_project.yml 时拒绝覆盖 wren context set-profile projectwren context init会生成models/、views/、relationships.yml、knowledge/rules sql以及AGENTS.md等骨架文件。wren context set-profile则会把profile: project和data_source: ds一并写入wren_project.yml从此以后该项目下的所有 CLI 命令与 SDK 调用都确定性解析到该连接无论全局哪个 profile 处于激活状态wren profile switch都不会意外重定向该项目的查询。生成 MDL 并完成首次查询MDL 是 Wren AI 的语义建模核心——它用models/、views/、relationships.yml等 YAML 文件把表、列、关联关系描述成业务术语。onboarding 明确要求agent 必须先构建 MDL 再查询对不在 MDL 中的表发起的查询会直接失败。此环节会交接给generate-mdl指南wren skills get generate-mdl # 引导完成表内省、类型归一化、YAML 生成 wren context validate wren context build完成后 agent 会汇报模型数量与校验警告。若模型数达到 200 个以上wren context show | grep -c ^model:onboarding 会建议安装wrenai[memory]并执行wren memory index首次会加载约 800 MB 的 lancedb 与 torch 库模型较少则可跳过记忆索引。最后agent 会根据已发现的表给出 23 个自然语言问题建议例如订单场景的 How many orders last month?、Top 5 customers by total引导你完成首次查询。日常查询阶段则交接给usage指南。技能路由后续该用哪个指南onboarding 完成「从零搭建」后onboarding 指南中定义了一张跨技能路由表Firebender 会据此决定后续拉取哪个工作流触发场景应使用的技能用户提到 SaaS 数据源HubSpot、Stripe、Salesforce、GitHub、Slack…wren skills get dlt-connector已连接数据库但还没有 MDLwren skills get generate-mdlMDL 已就绪、想查询数据wren skills get usage其他从零开始的场景wren skills get onboarding连接自有数据库Firebender 之外的完整流程如果你不打算全程由 agent 代劳也可以手动走完连接流程与 onboarding 的执行顺序完全一致详见 docs/core/guides/connect.md安装连接器 extrapip install wrenai[postgres,bigquery,main]查看连接字段wren docs connection-info ds——输出直接由引擎的连接 schema 生成永远与已安装的 wrenai 版本匹配不要靠记忆猜字段名创建 profilewren profile add my-db --ui浏览器表单或--interactive交互式或--from-file connection.yml推荐 agent 驱动场景凭据留在.env验证连接wren profile debug脱敏显示解析后的配置与wren --sql SELECT 1绑定 profilecd ~/my-project wren context set-profile my-db生成 MDL可让generate-mdl指南代劳或手写开始查询。Wren AI 支持的 20 数据源中当前文档明确列出的连接器及对应 pip extra 如下DuckDB 随包内置无需 extra数据源Connector extraDuckDB内置PostgreSQLpostgresMySQLmysqlBigQuerybigquerySnowflakesnowflakeClickHouseclickhouseTrino / PrestotrinoSQL ServermssqlDatabricksdatabricksRedshiftredshiftOracleoracleAthenaathenaSparkspark从 core/wren/src/wren/connector/factory.py 的注册表可以看到每个数据源在_REGISTRY中映射到wren.connector.*模块若对应连接器未安装get_connector会抛出带有安装提示的WrenError明确告知pip install wrenai[extra]。这从源码层面印证了「先装 extra、再建 profile」的顺序要求。故障排查要点onboarding 指南强调排障手册不复制在技能内而是引用connect.md#troubleshooting覆盖的症状包括wren: command not found未安装 wrenaipip install … externally-managed-environmentPEP 668 系统需虚拟环境缺失密钥MissingSecretError驱动认证失败PydanticValidationError/ 未知数据源连接被拒 / 防火墙 / 云数据库 IP 白名单wren context validate的警告分类若遇到手册之外的错误可向 Wren AI 社区提交 issue 反馈。下一步走一遍带演示数据的完整流程docs/core/get_started/quickstart.md —— 以jaffle_shop示例数据端到端体验 Wren CLI无需云数据库、无需 Docker将 Wren AI 指向真实数据库docs/core/guides/connect.md —— 按数据源连接你的 Postgres、BigQuery、Snowflake 等生产库。【免费下载链接】WrenAIGenBI (Generative BI) for AI agents, an open-source, governed text-to-SQL through an open context layer that turns natural-language questions into trusted dashboards, charts, and SQL across 20 data sources, such as BigQuery, Snowflake, PostgreSQL, ClickHouse, Amazon Redshift, Databricks and more.项目地址: https://gitcode.com/GitHub_Trending/wr/WrenAI创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考