后端: 1. 随口记从 Execute 工具链路迁移到独立 QuickTask 轻量节点——单轮流式提取意图直接调 service,绕过 ReAct 循环 - 新增 QuickTask graph 节点 + Chat→QuickTask→END 分支 - Chat 路由提示词新增 quick_task 路由判别规则,execute 路由收窄为日程类 - Execute 提示词(有 plan / ReAct 两套)移除 quick_note_create / query_tasks 指令 - ToolRegistry 注销 quick_note_create / query_tasks,移除相关依赖与注册 - 依赖注入从 ToolRegistry 改为 Service 层直接注入 QuickTaskDeps 2. urgency_threshold_at 代码兜底 + API 返回补全 - priorityGroup=2 且有 deadline 但 LLM 未填时,自动设为 deadline-24h - 任务查询接口返回结构补充 UrgencyThresholdAt 字段与转换映射 3. 记忆召回条数 5→10
90 lines
2.3 KiB
Go
90 lines
2.3 KiB
Go
package conv
|
|
|
|
import (
|
|
"time"
|
|
|
|
"github.com/LoveLosita/smartflow/backend/model"
|
|
)
|
|
|
|
func UserAddTaskRequestToModel(request *model.UserAddTaskRequest, userID int) *model.Task {
|
|
return &model.Task{
|
|
Title: request.Title,
|
|
Priority: request.PriorityGroup,
|
|
DeadlineAt: request.DeadlineAt,
|
|
UserID: userID,
|
|
}
|
|
}
|
|
|
|
func ModelToUserAddTaskResponse(task *model.Task) *model.UserAddTaskResponse {
|
|
status := "incomplete"
|
|
if task.IsCompleted {
|
|
status = "completed"
|
|
}
|
|
return &model.UserAddTaskResponse{
|
|
ID: task.ID,
|
|
Title: task.Title,
|
|
PriorityGroup: task.Priority,
|
|
DeadlineAt: task.DeadlineAt,
|
|
Status: status,
|
|
CreatedAt: time.Now(), // 创建时间为当前时间
|
|
}
|
|
}
|
|
|
|
func ModelToGetUserTasksResp(tasks []model.Task) []model.GetUserTaskResp {
|
|
var resp []model.GetUserTaskResp
|
|
for _, task := range tasks {
|
|
status := "incomplete"
|
|
if task.IsCompleted {
|
|
status = "completed"
|
|
}
|
|
|
|
deadline := ""
|
|
if task.DeadlineAt != nil {
|
|
deadline = task.DeadlineAt.Format("2006-01-02 15:04:05")
|
|
}
|
|
|
|
urgencyThreshold := ""
|
|
if task.UrgencyThresholdAt != nil {
|
|
urgencyThreshold = task.UrgencyThresholdAt.Format("2006-01-02 15:04:05")
|
|
}
|
|
|
|
resp = append(resp, model.GetUserTaskResp{
|
|
ID: task.ID,
|
|
UserID: task.UserID,
|
|
Title: task.Title,
|
|
PriorityGroup: task.Priority,
|
|
Status: status,
|
|
Deadline: deadline,
|
|
IsCompleted: task.IsCompleted,
|
|
UrgencyThresholdAt: urgencyThreshold,
|
|
})
|
|
}
|
|
return resp
|
|
}
|
|
|
|
// ModelToGetUserTaskResp 将单个 Task 模型转换为 GetUserTaskResp。
|
|
func ModelToGetUserTaskResp(task *model.Task) model.GetUserTaskResp {
|
|
status := "incomplete"
|
|
if task.IsCompleted {
|
|
status = "completed"
|
|
}
|
|
deadline := ""
|
|
if task.DeadlineAt != nil {
|
|
deadline = task.DeadlineAt.Format("2006-01-02 15:04:05")
|
|
}
|
|
urgencyThreshold := ""
|
|
if task.UrgencyThresholdAt != nil {
|
|
urgencyThreshold = task.UrgencyThresholdAt.Format("2006-01-02 15:04:05")
|
|
}
|
|
return model.GetUserTaskResp{
|
|
ID: task.ID,
|
|
UserID: task.UserID,
|
|
Title: task.Title,
|
|
PriorityGroup: task.Priority,
|
|
Status: status,
|
|
Deadline: deadline,
|
|
IsCompleted: task.IsCompleted,
|
|
UrgencyThresholdAt: urgencyThreshold,
|
|
}
|
|
}
|