用途:wren-usage 是面向 AI 智能体的 Wren Engine CLI 工作流指南,目标是用 wren 命令行端到端回答数据问题,从环境校验到写 SQL、执行与记忆存储形成闭环。
主要能力:技能先做版本检查(对比远端 versions.json 与本技能版本),再执行预检:确认 Python 虚拟环境是否激活、通过 wren --version 判断 wren CLI 是否安装;未安装时按数据源选择安装扩展,支持 postgres、mysql、bigquery、snowflake、clickhouse、trino、mssql、databricks、redshift、spark、athena、oracle,DuckDB 默认内置。安装示例:pip install "wren-engine"(DuckDB)或 pip install "wren-engine[<datasource>]";如需语义记忆、交互式提示与 Web UI,可加 main 扩展。
核心工作流:查询数据问题时,先用 wren memory fetch -q "<question>" 获取 schema 上下文,必要时加 --model 与 --threshold;用 wren memory recall -q "<question>" --limit 3 召回历史查询作为少样本示例;按问题复杂度决定是否拆分;简单查询直接 wren --sql 'SELECT ...',复杂查询先用 wren dry-plan --sql '...' 验证展开后的 SQL;执行成功后默认 wren memory store --nl "..." --sql "<SQL>" 存储(失败、用户认为错误、探索性查询或明确要求不存时除外)。
其他流程:错误恢复分 MDL/语义层与数据库方言两层诊断,逐项修复后重跑 dry-plan;接入新数据源依次执行 profile add、profile debug、SELECT 1 测试、context init、context build、memory index;MDL 变更后依次 context validate、context build、memory index 并验证查询。
限制与注意:SQL 需针对 MDL 模型名而非数据库原始表,且应写方言中立 SQL;不要猜测模型或列名;不要存储失败或已确认错误的查询;MDL 变更后才需重新索引;共享 shell 历史时避免用 --connection-info 传密码,应使用 profile 或 --connection-file。更细的记忆决策、SQL 语法与错误模式见技能引用文件。