配置驱动系统
Configuration-Driven System
YAML+Zod 配置驱动的系统设计,convention over configuration 自动推导
子问题
1.配置文件发现与加载
2.Zod schema 验证
3.默认值推导与覆盖
4.多项目唯一性校验
5.session prefix 碰撞检测与自动生成启发式
6.配置变更后的目录迁移与向后兼容
7.默认反应配置的声明式预置与用户覆盖合并
各项目的解法1 solutions
Signals
横向对比
| 维度 | AgentOrchestrator |
|---|---|
| 配置格式 | YAML 单文件,支持 .yaml/.yml 双后缀 |
| 验证机制 | Zod Schema 嵌套验证,parse 时同步填充默认值 |
| 配置发现 | 4 级搜索:env → CWD 向上递归 → startDir → Home 目录 |
| 默认值策略 | Convention over Configuration,repo 格式推导 SCM/Tracker |
| 多实例隔离 | SHA256(configDir).slice(0,12) hash-based 目录命名空间 |
| 唯一性校验 | 双重检查:project ID basename + session prefix 碰撞检测 |
| 碰撞防护 | .origin 文件存储 configPath,启动时比对检测 hash 碰撞 |
| 错误体验 | Fail-fast 含修复建议的错误信息,错误即文档 |
最佳实践
1.用 hash(configDir) 实现多实例隔离
2.配置搜索支持目录树向上查找
3.用 .origin 文件做 hash 碰撞检测而非信任 hash 唯一性
4.realpathSync 解析符号链接后再 hash 保证一致性
5.错误信息包含修复建议代码片段(错误即文档)
6.session prefix 用 4 级启发式从项目名自动生成