新增: 批次工作落地(推进链/评估闭环/事件总线/并发/加固) + 技术债清理 + 文档整理

后端:
- 工作流推进链(D-03):advance_task/状态机/闸门走 df-nodes Node trait,conditions 条件引擎扩展
- 想法评估闭环:启发式评分+对抗评估,df-ideas/scoring + df-storage/idea_eval_repo + idea 前端打通
- 全局事件数据总线:df-ai/context+context_helpers+augmentation 跨模块解耦
- AI planner/plan_hint/intent:aichat B 路线并行多轮基础
- patch_file 加固(TD-03/04):读改写整体锁防 lost update,expected_hash 合约闭环
- 压缩超时兜底(F-15 卡死根治)
- F-09 多会话并发:LlmConcurrency per-conv + streamingGuard 前端守护 + verify 脚本
- 知识注入 DRY/skills/audit 扩展

清理:
- aichat 技术债(误报 allow/死导入/过时注释 30 项)
- URGENT.md 删除(11 项加急全解决/迁 todo)
- 文档整理(todo/待决策/待审查/ARCHITECTURE/INDEX + 总线/技术债审查新文档)
This commit is contained in:
2026-06-21 20:51:26 +08:00
parent 330bb7f505
commit bd6a41fe6e
111 changed files with 11932 additions and 1034 deletions

View File

@@ -100,17 +100,23 @@ onMounted(async () => {
initTheme()
// F-260618-23: 根 onMounted 恢复 Agentic 轮次/重试到后端(AtomicUsize 纯内存,重启回默认)。
// GeneralPanel.vue onMounted 仅 Settings 页挂载,用户直接进 AI Chat 不同步 → 后端默认 10 与前端显示持久值不一致。
// clamp 与 GeneralPanel.syncAgentMaxIterations/syncAgentMaxRetries 逐字对齐(双保险,IPC 幂等值相同无害)
// clamp 与 GeneralPanel 语义对齐(0=不限透传,1-50 clamp;双保险,IPC 幂等值相同无害)
// 包 try/catch 防 IPC 失败 reject onMounted(对齐 dataChangedListener 模式)
try {
const iter = appSettings.get<number>('df-ai-agent-max-iterations', 10)
const iterClamped = Math.min(50, Math.max(1, iter || 10))
const iterClamped = iter === 0 ? 0 : Math.min(50, Math.max(1, iter ?? 10))
const retry = appSettings.get<number>('df-ai-agent-max-retries', 3)
const retryClamped = Math.min(10, Math.max(0, retry ?? 3))
await aiApi.setAgentMaxIterations(iterClamped)
await aiApi.setAgentMaxRetries(retryClamped)
// 设置走查-2026-06-21:并发配置同属后端 AtomicUsize 纯内存,重启回默认。原 onMounted
// 漏同步 global/per-conv-concurrency → 用户改并发→重启→不进 Settings 直接用→后端默认 3/2
// 前后端不一致。补齐对齐 iter/retry 恢复模式。
const globalConv = appSettings.get<number>('df-llm-global-concurrency', 3)
const perConvConv = appSettings.get<number>('df-llm-per-conv-concurrency', 2)
await aiApi.setConcurrencyConfig(Math.max(1, globalConv ?? 3), Math.max(1, perConvConv ?? 2))
} catch (e) {
console.error('恢复 Agentic 轮次/重试配置失败:', e)
console.error('恢复 Agentic 轮次/重试/并发配置失败:', e)
}
const savedLang = appSettings.get<string | null>('df-language', null)
if (savedLang) {