Commit Graph

11 Commits

Author SHA1 Message Date
caoqianming 8aafe3272f feat(software): add professional software job center 2026-08-13 15:59:31 +08:00
caoqianming 9032c5b517 fix(external-systems): preserve credentials on definition updates 2026-08-07 11:25:29 +08:00
caoqianming 0e4bd0456a feat(external-systems): 重构连接治理与运行态缓存 2026-08-07 10:12:37 +08:00
caoqianming 41cd7858a1 feat(external-systems): add persistent result exports 2026-08-06 11:10:06 +08:00
caoqianming e81005435e fix(external-systems): preserve complete OpenAPI responses 2026-08-06 10:32:31 +08:00
caoqianming cb9a39f33d feat(external-systems): add managed MES connections 2026-08-04 16:53:58 +08:00
caoqianming 137d27acdd fix(security): 强化工程类型检查与依赖审计 2026-08-03 16:59:32 +08:00
caoqianming 57655984dd feat(web): add task-scoped artifact references 2026-08-03 13:49:20 +08:00
caoqianming 21a90cf201 fix(rendering): route PDF conversion through platform tools 2026-08-03 08:55:54 +08:00
caoqianming 85c918dc2f Add safe conversational workspace rename 2026-07-27 11:23:20 +08:00
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