✨ feat(schedulerefine): 新增 refine 子路由,优先执行复合操作,失败后降级至禁复合 ReAct 兜底 ReAct 升级 - ♻️ 将原有链路升级为真正的 ReAct 执行模式,进一步增强整体调度过程的可靠性 Refine 子路由 - 🧭 在 refine 主链路中新增 `route` 节点,整体流程调整为 `contract -> plan -> slice -> route -> react -> hard_check -> summary` - ⚡ 当 `route` 命中全局复合目标时,优先尝试一次调用 `SpreadEven` / `MinContextSwitch`,失败后最多重试 2 次 - 🔀 `route` 成功后直接跳过 `ReAct`;若执行失败,则自动切换至 `fallback` 模式 - 🛡️ 在 `fallback` 模式下增加后端硬约束:禁用 `SpreadEven` / `MinContextSwitch` / `BatchMove`,仅允许使用 `Move` / `Swap` 逐任务处理 - 🧠 在 `ReAct` 的 prompt 与上下文中新增 `COMPOSITE_TOOLS_ALLOWED`,显式告知当前是否允许使用复合工具 - 🧩 扩展状态字段以承载路由与降级状态:`CompositeRetryMax` / `DisableCompositeTools` / `CompositeRouteTried` / `CompositeRouteSucceeded` - 👀 增加 `route` 相关阶段日志,便于排查命中、重试、收口与降级原因 修复 - 🐛 修复 JWT Token 过期时间未按 `config.yaml` 配置生效的问题 备注 - 🚧 当前 ReAct 逐步微排链路已趋于稳定,但两个复合操作函数仍未恢复可用,后续将继续排查
backend/agent 目录说明
该目录已按“路由 / 聊天 / 随口记”三层拆分,便于阅读、调试与扩展:
route/
route.go:只负责模型控制码分流(quick_note/chat)。- 提供控制码解析、nonce 校验、路由兜底,不参与写库与回复拼装。
chat/
stream.go:普通聊天流式输出封装(SSE/OpenAI 兼容 chunk 转换)。prompt.go:聊天主系统提示词。
quicknote/
graph.go:只负责图编排连线与分支,不承载节点内部实现。nodes.go:节点实现(意图识别、优先级评估、持久化、分支选择)。tool.go:工具定义、参数校验、deadline 解析、写库工具打包。state.go:随口记状态容器与重试状态记录。prompt.go:随口记提示词(控制码路由、聚合规划、优先级评估、回复润色)。
README.md(当前文件)
- 记录目录职责边界,帮助后续继续按同样范式扩展
query/update等技能链路。
说明:服务层仍通过
RunQuickNoteGraph调用随口记图;若判定为非随口记意图,会自动回落到普通流式聊天链路。