用途:通过智能体可用的数据库工具探测库表结构,将其转换为 Wren 的 YAML 项目格式并完成构建。
主要能力与流程: 检测现有项目:若当前目录存在 wren_project.yml,可重置重建或选择新路径并用 wren context init --path <new_path> 初始化。 建立连接与范围:用 SQLAlchemy、数据库驱动或 wren profile debug 验证连接,确认要包含的 schema、表及 wren 数据源类型。 探测 Schema:通过 SQLAlchemy inspect、数据库特定驱动,或 wren --sql 查询 information_schema 获取表、列、类型与约束。 类型归一化:可用 Python 的 from wren.type_mapping import parse_type 或 CLI,例如 wren utils parse-type --type "character varying(255)" --dialect postgres,输出 VARCHAR(255)。 生成项目:wren context init 创建 wren_project.yml、models/、views/、relationships.yml、instructions.md;每表在 models/<name>/metadata.yml 写模型,在 relationships.yml 写关系。 校验与构建:wren context validate、wren context build,并用 wren --sql "SELECT * FROM <model_name> LIMIT 1" 验证。 初始化内存:wren memory index,再用 wren memory status 检查。
先决条件:已安装 wren CLI(pip install wren-engine[<datasource>])、可用的数据库连接与凭据、配置好的 wren profile 或连接信息。更新技能可用 npx skills add Canner/wren-engine --skill wren-generate-mdl,并可加 --agent <name> 指定智能体。
限制与注意事项:不要硬编码数据库专有类型,应通过 parse_type 归一化;构建前必须校验;不要猜测列类型;关系条件需确认;构建后不要跳过内存索引。wren_project.yml 的 catalog/schema 是 Wren 内部命名空间,数据库实际 catalog/schema 写在模型的 table_reference 中。
配套:安装后的记忆与查询工作流可参考 wren-usage 技能。资料未提供收费、价格及性能指标信息。