用途:wren-project 是 Wren Engine 的技能,用于把 Wren MDL 清单以项目目录形式持久化。项目由多个 YAML 文件组成,每个模型一个文件,使 MDL 具备可读性并便于版本控制,类似 dbt 项目的组织方式。
主要能力:1)保存:给定 camelCase 的 MDL JSON,写出项目的 YAML 文件(字段为 snake_case)。2)加载:读取项目 YAML,重新组装为 camelCase 的 MDL JSON。3)构建:与加载相同,但把编译结果写入 target/mdl.json,供 deploy 使用。YAML 使用 snake_case 便于阅读,编译产物使用 ibis-server 期望的 camelCase。
项目结构:wren_project.yml 保存项目元数据(catalog、schema、data_source);models/ 下每个模型一个 .yml;relationships.yml 保存所有关系;views.yml 保存所有视图。构建后输出 <project_dir>/target/mdl.json。
字段映射:data_source→dataSource、table_reference→tableReference、is_calculated→isCalculated、not_null→notNull、is_primary_key→isPrimaryKey、primary_key→primaryKey、join_type→joinType;name、type、catalog、schema、table、condition、models、columns、cached、properties 两种格式一致。
使用方式:先生成 MDL JSON,再写出 wren_project.yml、models/*.yml、relationships.yml、views.yml,将 target/ 加入 .gitignore,提交项目目录。之后构建项目并部署,调用 deploy(mdl_file_path="./target/mdl.json")。连接信息通过 MCP 服务器 Web UI 管理(通常在 http://localhost:9001;容器中运行时使用 Docker 主机提示),不存放在项目目录中。技能启动时会静默获取版本文件并比较版本,若远程较新会提示更新命令:npx skills add Canner/wren-engine --skill wren-project --agent claude-code
限制:本资料未提供收费、价格、平台支持范围或性能效果的说明。