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_modestring否null默认初始模式,可选值:planning、executing
initial_messagestring否null默认初始消息
skill_tools_enabledbool否true是否启用技能工具
imported_skillslist[string]否[]从技能注册中心引入的全局技能
roleslist[string]是-角色 id 列表,至少一个,不允许重复
previewobject否null预览面板配置,详见预览配置
datadict否null自定义扩展数据,字符串值支持 ${ENV_VAR} 环境变量展开

布局类型 ​

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

预览配置 ​

preview 字段用于配置预览面板的默认内容。url 和 title 均支持 ${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_type、initial_mode、initial_message 可以在 solution 级设置默认值,角色级设置会覆盖。
  • 全局技能用 imported_skills 引用,不要混入 local_skills。
  • v3 下禁止在 roles/<biz_role_id>/skills/ 放置技能。