Skip to content

目录结构与 manifest

v3 目录结构

<solution_id>/
├── solution.yaml              # Solution 级配置(必需)
├── AGENTS.md.j2               # Solution 级提示词模板(可选)
├── ui.json                    # UI 配置(layout_type 为 solution-app 时推荐提供)
├── skills/                    # 本地技能目录(所有角色共享)
│   ├── <skill_id_a>/
│   │   ├── SKILL.md           # 技能定义
│   │   └── references/        # 参考资料(可选)
│   └── <skill_id_b>/
│       └── SKILL.md
└── roles/                     # 业务角色目录
    ├── <biz_role_id_1>/
    │   ├── role.yaml           # 角色运行配置
    │   ├── AGENTS.md.j2        # 角色提示词模板(可选)
    │   └── init/
    │       └── run.sh          # 角色初始化脚本(可选)
    └── <biz_role_id_2>/
        ├── role.yaml
        └── AGENTS.md.j2

TIP

新建 Solution 必须使用 manifest_version: 3。v1/v2 旧结构仅做兼容读取,不应继续扩展。

solution.yaml 字段说明

示例:

yaml
id: software_factory
name: 软件工程工作台
manifest_version: 3
version: 0.3.0
description: 将软件需求从模块拆分、PRD、UI、技术设计到任务分工串联起来
layout_type: default
skill_tools_enabled: true
roles:
  - sf_prd
  - sf_ui_design

字段说明:

字段类型必填默认值说明
idstring-Solution 唯一标识,非空
namestring-Solution 显示名称,非空
manifest_versionint-必须为 3
versionstring-版本号,非空
descriptionstring""Solution 描述
layout_typestring-布局类型,见布局类型可选值
initial_modestringnull默认初始模式,可选值:planningexecuting
initial_messagestringnull默认初始消息
skill_tools_enabledbooltrue是否启用技能工具
imported_skillslist[string][]从技能注册中心引入的全局技能
roleslist[string]-角色 id 列表,至少一个,不允许重复
previewobjectnull预览面板配置,详见预览配置
datadictnull自定义扩展数据,字符串值支持 ${ENV_VAR} 环境变量展开

布局类型

layout_type说明
default默认对话布局,纯聊天界面
chat-only仅聊天界面
chat-preview对话 + 预览面板
skill-editor技能编辑器布局,左侧编辑器 + 右侧对话
blade-coa工作台布局,支持多面板协作
solution-app独立应用布局,需配合 ui.json 使用

预览配置

preview 字段用于配置预览面板的默认内容。urltitle 均支持 ${ENV_VAR} 环境变量展开。

yaml
preview:
  url: https://example.com/dashboard    # 必填
  title: 业务仪表盘                      # 可选

preview 可以在 solution.yaml 和 role.yaml 中分别配置,角色级覆盖 solution 级。

语义规则

  • roles 列表只填角色 id 字符串,不能是对象。每个 id 必须在 roles/<role_id>/role.yaml 中有对应定义。
  • 多个角色共用的技能放在解决方案根目录的 skills/ 下,由各角色的 local_skills 引用。
  • layout_typeinitial_modeinitial_message 可以在 solution 级设置默认值,角色级设置会覆盖。
  • 全局技能用 imported_skills 引用,不要混入 local_skills
  • v3 下禁止在 roles/<biz_role_id>/skills/ 放置技能。