Skip to content

feat(orchestrator): agent 节点超时默认值进设置面板「Workflow One」 - #126

Merged
chumingjun merged 1 commit into
mainfrom
feat/agent-default-timeouts
Sep 3, 2026
Merged

feat(orchestrator): agent 节点超时默认值进设置面板「Workflow One」#126
chumingjun merged 1 commit into
mainfrom
feat/agent-default-timeouts

Conversation

@chumingjun

Copy link
Copy Markdown
Owner

背景

设置面板「Workflow One」的 agent 默认值层(#117 渠道/模型/思考级别,#125 展示链对齐)已就绪,但两个超时旋钮(节点总超时 500s / 模型单请求超时 300s)仍只能逐节点配置。本 PR 把它们纳入同一设置面板。

调查中还发现一个隐藏回归:#122(子工作流)把 engine 的 NODE_TIMEOUT_MS 从 500s 意外改回 300s,与 #114 定下的 agent 默认 500s 及 UI placeholder 不符——本 PR 一并修复。

方案

解析链与模型层同构:节点 data > Workflow One 默认值 > 内置默认(500/300)

  • agent-defaults.js:新增 nodeTimeoutSec / modelTimeoutSec(正整数秒,0=不设置,上限 86400 防呆);resolveAgentTimeouts 统一解析
  • engine.js:新增 resolveNodeTimeout 注入位——仅 agent 节点吃 WF1 默认值,其余节点类型维持内置 300s 不受影响
  • index.js:runAgentNode 的单请求超时看门狗、单节点测试入口同步走解析链;agent-defaults API 回包 defaults/effective 带超时;llm-config 的 wf1Defaults 同源下发
  • canvasui 设置面板:「节点超时(秒) / 单次超时(秒)」两个输入框 + 前端预校验;bundle 已重建防漂移
  • NodePanel:agent 面板超时 placeholder 如实展示实际生效秒数(WF1 默认值或内置);容错区占位按节点类型区分(agent 500 / 其他 300);上限 3600→86400

验证

  • orchestrator 全部套件(含新增 resolveTimeouts 4 例、PUT 非法超时 2 例)+ web 15 套 + 全仓 npm test 绿
  • build-web.sh 双构建 + canvasui --check 通过
  • 实机 dsh:PUT 900/180 落盘 ✓、llm-config wf1Defaults 下发 ✓、非法值 400 ✓、旧三字段配置文件读回自动补 0 ✓(已恢复原配置)

背景:渠道/模型/思考级别已有设置面板默认值层(#117/#125),但 agent 节点
的两个超时旋钮(节点总超时 500s / 模型单请求超时 300s)只能逐节点配置。
另发现 #122 意外把 engine NODE_TIMEOUT_MS 从 500s 回退成 300s(#114 语义
是 500s),UI placeholder 与引擎实际值不符。

方案(解析链与模型层同构:节点 data > WF1 默认值 > 内置默认):
- agent-defaults:新增 nodeTimeoutSec/modelTimeoutSec(正整数秒,0=不设置,
  上限 86400);resolveAgentTimeouts 统一解析,导出 500/300 内置默认
- 引擎:engine.js 加 resolveNodeTimeout 注入位(仅 agent 节点吃 WF1 默认值,
  其余节点维持内置 300s);runAgentNode 单请求超时、单节点测试入口同步走链
- API:agent-defaults GET/PUT 回包 defaults/effective 带超时字段;
  llm-config 的 wf1Defaults 自动同源下发;旧配置文件读回自动补 0
- 设置面板:AgentDefaultsCard 加「节点超时(秒)/单次超时(秒)」两个输入框,
  前端预校验非法值
- NodePanel:agent 面板超时 placeholder 如实展示实际生效秒数(WF1 默认值
  或内置);容错区占位按节点类型区分(agent 500 / 其他 300),上限放宽到
  86400

验证:orchestrator 17+ 套、web 15 套、全仓 npm test 绿;build-web.sh 双构建
+ canvasui 防漂移通过;实机 dsh 验证 PUT 900/180 落盘、llm-config 下发、
非法值 400、旧文件兼容读回。
@chumingjun
chumingjun merged commit bb37bbe into main Sep 3, 2026
1 check passed
@chumingjun
chumingjun deleted the feat/agent-default-timeouts branch September 3, 2026 03:16
chumingjun added a commit that referenced this pull request Sep 6, 2026
发布 0.9.0,自 0.8.1 以来合入 7 个 PR:

- #130 agent 节点通用提示词(设置面板「Workflow One」部署级行为约束,尾部注入)
- #131 workflow_run/_status 工具接入消息流运行卡 + 缩略图随卡片宽度自适应
- #128 agent 节点收尾兼容 dsh-session 新 API(snapshotEvents)
- #127 文稿预览 markdown 渲染 raw HTML 表格
- #126 agent 节点超时默认值进设置面板
- #125 节点面板默认模型展示对齐引擎解析链

含 feat 两个面向用户新能力,按 semver 进 0.9.0。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant