用途:为 AI 代理提供 Wren Engine CLI 的端到端数据问答工作流指引,通过 MDL(模型定义语言)语义层用模型名而非原始表名编写 SQL,由引擎翻译为目标数据库方言。
主要能力与用法:
- 预检:用 python -c 检查虚拟环境,用 wren --version 确认 CLI 是否安装;未安装时可安装,如 pip install "wrenai"(DuckDB 默认包含)、pip install "wrenai[<datasource>]",加 main 可启用语义记忆等:pip install "wrenai[<datasource>,main]"。
- 数据问答流程:先用 wren memory fetch 收集上下文,必要时执行 wren context instructions;用 wren memory recall 回忆历史查询做少样本示例;简单查询直接 wren --sql '...',复杂查询先 wren dry-plan --sql '...' 校验展开 SQL;成功后默认用 wren memory store 存储查询。
- 错误恢复:区分 MDL 层(dry-plan 失败,检查模型与列名、列歧义、关系)与数据库层(类型不匹配、方言函数、权限、超时),逐项修复并重跑。
- 连接新数据源:wren profile add、wren profile debug、wren context init、wren context build、wren memory index、验证查询。
- MDL 变更后:wren context validate、wren context build、wren memory index、验证。
- Cube 查询:聚合问题可先 wren cube list、wren cube describe,再用 wren cube query 传 measures、time-dimension、filter 等,或用 --from - 传 JSON,--sql-only 只输出 SQL。
限制与注意:不要猜测模型或列名;不要存储失败或被用户判错的查询;不要每次查询前重建索引;避免通过 --connection-info 传密码,改用 profiles 或 --connection-file。无 Cube 或需自定义 JOIN、窗口函数、CTE、子查询时应回退到 wren --sql。版本检查与更新命令示例:npx skills add Canner/WrenAI --skill wren-usage。更多 SQL 语法、CTE 建模与错误诊断细节资料提示参见 references/wren-sql.md 与 references/memory.md。