Bladeren bron

feat(webui): AgentEdit 加「进度纪律(PROGRESS.md)」开关 — 行为 tab 可视化勾选

react.progressDiscipline 现在能在智能体编辑页直接开/关,不用手改 yml/DB。
AgentEdit「行为」tab 加一个 checkbox(state + load r.progressDiscipline + save
cfg.react.progressDiscipline),带说明:多步产文件的智能体建议开,纯问答可不开。
tsc 0 错误、webui 重建;纯前端,生产静态服务已自动上线(无需重启)。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
kenny67nju 3 maanden geleden
bovenliggende
commit
2be29592e7
1 gewijzigde bestanden met toevoegingen van 15 en 0 verwijderingen
  1. 15 0
      webui/src/pages/AgentEdit.tsx

+ 15 - 0
webui/src/pages/AgentEdit.tsx

@@ -100,6 +100,7 @@ export default function AgentEdit() {
   const [reactMaxSteps, setReactMaxSteps] = useState('20')
   const [toolTimeout, setToolTimeout]     = useState('60')
   const [thinkTimeout, setThinkTimeout]   = useState('120')
+  const [progressDiscipline, setProgressDiscipline] = useState(false)
 
   // memory & runtime
   const [memoryEnabled, setMemoryEnabled] = useState(false)
@@ -181,6 +182,7 @@ export default function AgentEdit() {
     setReactMaxSteps(String(r.maxSteps    ?? 20))
     setToolTimeout(String(r.toolTimeout   ?? 60))
     setThinkTimeout(String(r.thinkTimeout ?? 120))
+    setProgressDiscipline(Boolean(r.progressDiscipline))
 
     setMemoryEnabled(Boolean(mem.enabled))
     setMemorySize(String(mem.size ?? 20))
@@ -230,6 +232,7 @@ export default function AgentEdit() {
         maxSteps:     parseInt(reactMaxSteps) || 20,
         toolTimeout:  parseInt(toolTimeout)   || 60,
         thinkTimeout: parseInt(thinkTimeout)  || 120,
+        progressDiscipline,
       }
       cfg.memory = {
         ...((cfg.memory as object) ?? {}),
@@ -429,6 +432,18 @@ export default function AgentEdit() {
               <Input label="工具超时(秒)" type="number" value={toolTimeout}   onChange={e => setToolTimeout(e.target.value)}   hint="单次工具调用最长等待时间" />
               <Input label="思考超时(秒)" type="number" value={thinkTimeout}  onChange={e => setThinkTimeout(e.target.value)}  hint="LLM 单次生成最长时间" />
             </div>
+            <label className="flex items-start gap-2 cursor-pointer pt-2">
+              <input type="checkbox" className="mt-0.5" checked={progressDiscipline}
+                     onChange={e => setProgressDiscipline(e.target.checked)} />
+              <span className="text-sm">
+                <span className="font-medium text-gray-800">进度纪律(PROGRESS.md)</span>
+                <span className="block text-xs text-gray-500 mt-0.5">
+                  多步任务自动维护工作目录里的 PROGRESS.md 待办清单(建/读/逐项打勾、不重做、
+                  不做完不收尾)——防上下文被裁剪后"忘记进度、工具调用乱跳/重做"。建议给
+                  审稿、批改、改论文、跑实验等多步产文件的智能体开启;纯问答/单步任务可不开。
+                </span>
+              </span>
+            </label>
           </div>
         )}