场景间依赖
场景可以依赖其他场景,复用已有功能。
声明依赖
在 scenario.json 中声明依赖:
json
{
"dependencies": [
{
"scenarioId": "document-parser",
"version": ">=1.0.0"
},
{
"scenarioId": "code-formatter",
"version": "^2.0.0"
}
]
}版本范围
支持 semver 范围语法:
| 语法 | 说明 | 示例匹配 |
|---|---|---|
>=1.0.0 | 大于等于 | 1.0.0, 1.2.0, 2.0.0 |
^2.0.0 | 兼容版本 | 2.0.0 - 2.x.x |
~1.2.0 | 约等于 | 1.2.0 - 1.2.x |
1.0.0 | 精确匹配 | 仅 1.0.0 |
* | 任意版本 | 所有版本 |
依赖解析
- 场景激活时,检查依赖是否已安装
- 如果依赖未安装,自动安装
- 如果依赖版本不满足,提示更新
- 依赖场景数据可在当前场景中访问
使用依赖场景的工具
依赖场景安装后,其工具和数据可在当前场景中使用:
typescript
// 在工具中访问依赖场景的数据
executor: async (args, context) => {
const parserData = context.getSharedData('document-parser:result')
// 使用 parserData
}最佳实践
- 最小依赖:只依赖真正需要的场景
- 版本范围:使用宽松的版本范围(^ 和 ~)
- 循环依赖:避免循环依赖
- 文档说明:在描述中说明依赖关系

