caoqianming
|
1197d73432
|
refactor(core): 工具注册声明式化 core/tool_registry.py——四种 env-gate 风格收敛为一张表
架构审查 P0#3:build_agent 内 ~220 行注册代码,同一个「有 key/开关才注册」
意图混用四种写法(inline getenv / *_configured() / Config.load() 返 None /
caps 开关),范式靠注释口头传承。
- 新增 core/tool_registry.py:注册表 = (组名, gate, factory) 列表。gate 统一
零参 bool(§7.5 #7 "secret-bearing 工具仅 env 存在才注册"由此获得代码强制);
factory 内做 variant 选择(seedance/vision 取 yaml 段),选不出返 [] 自然不挂;
新增工具 = 表里加一行
- ToolContext 承载 build_agent 已解析的上下文(路径/身份/媒体配置),注册层
不重复读 env/yaml
- agent_builder.py 892→649 行:注册块换成一次 build_tools 调用,26 个工具类
import 随之迁走
验证:292 测试全过;真实配置冒烟 32 个工具逐名符合预期,scheduled_run
门控(少 4 个 schedule_*)生效。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-23 10:36:38 +08:00 |