Files
smartmate/backend/agent
Losita 09dca9f772 Version: 0.6.5.dev.260316
 feat(agent): 通用分流接入随口问图编排,修复任务查询条数与重复输出问题

- ♻️ 将 Agent 路由升级为通用 `action` 分流机制,统一支持 `chat` / `quick_note_create` / `task_query`
- 🧩 新增 `taskquery` 子模块并落地图编排链路:`plan -> quadrant -> time_anchor -> tool_query -> reflect`
- 🔧 在图内接入 `query_tasks` 工具调用,支持自动放宽检索条件与反思重试,最多重试 2 次
- 🚪 保持 `/agent/chat` 作为多合一入口,不额外新增任务查询 HTTP 接口
- 🪄 修复“随口问”场景下的双重列表输出问题:LLM 仅保留简短前缀,任务列表统一由后端进行确定性渲染
- 🎯 修复显式数量约束失效问题:支持提取“来一个”“前 3 个”“top5”等数量表达,并将其锁定为 `limit`
- 🛡️ 防止在重试或放宽检索阶段改写用户显式指定的数量约束
-  补充并更新测试,覆盖路由解析、数量提取、`limit` 生效及重复输出等关键场景

📝 docs: 更新随口问链路文档与决策记录

- 📚 更新 README 5.4,新增/修订随口问链路 Mermaid 图
- 🧭 新增随口问功能决策记录 FDR
2026-03-16 22:30:45 +08:00
..
2026-03-14 19:42:26 +08:00
2026-03-16 22:30:45 +08:00
2026-03-16 22:30:45 +08:00
2026-03-16 22:30:45 +08:00
2026-03-14 19:42:26 +08:00

backend/agent 目录说明

该目录已按“路由 / 聊天 / 随口记”三层拆分,便于阅读、调试与扩展:

  1. route/
  • route.go:只负责模型控制码分流(quick_note / chat)。
  • 提供控制码解析、nonce 校验、路由兜底,不参与写库与回复拼装。
  1. chat/
  • stream.go普通聊天流式输出封装SSE/OpenAI 兼容 chunk 转换)。
  • prompt.go:聊天主系统提示词。
  1. quicknote/
  • graph.go:只负责图编排连线与分支,不承载节点内部实现。
  • nodes.go:节点实现(意图识别、优先级评估、持久化、分支选择)。
  • tool.go工具定义、参数校验、deadline 解析、写库工具打包。
  • state.go:随口记状态容器与重试状态记录。
  • prompt.go:随口记提示词(控制码路由、聚合规划、优先级评估、回复润色)。
  1. README.md(当前文件)
  • 记录目录职责边界,帮助后续继续按同样范式扩展 query/update 等技能链路。

说明:服务层仍通过 RunQuickNoteGraph 调用随口记图;若判定为非随口记意图,会自动回落到普通流式聊天链路。