LoveLosita
|
8bde981592
|
Version: 0.9.20.dev.260415
后端:
1. 修复 query_available_slots section_from/section_to 错误覆盖 duration 并使用精确匹配而非范围包含
- 更新backend/newAgent/tools/schedule/read_filter_tools.go:移除 span = exactTo - exactFrom + 1 对 duration 的覆盖;matchSectionRange
从精确匹配改为范围包含语义(slotStart < exactFrom || slotEnd > exactTo)
2. Execute 上下文窗口从硬编码裁剪改造为 80k token 动态预算 + LLM滚动压缩
- 基础设施层:AgentChat 新增 compaction 三个持久化字段,dao 新增 CRUD,Redis 新增缓存;pkg 新增 ExecuteTokenBudget常量、ExecuteTokenBreakdown 结构体、CheckExecuteTokenBudget 预算检查函数
- prompt 层:新建 compact_msg1.go / compact_msg2.go 分别实现msg1(历史对话)和 msg2(ReAct Loop)的 LLM 压缩;execute_context.go 移除 msg1 的 1400 字符/30 轮/120 字符三重裁剪和 msg2 的 8 条窗口限制,改为全量加载
- node 层:新建 execute_compact.go(compactExecuteMessagesIfNeeded:预算检查 → msg1 优先压缩 → msg2 兜底 → SSE 通知 → token 分布持久化);execute.go ReAct 循环插入 compact 调用 - 服务/API 层:AgentGraphDeps / AgentService 新增 CompactionStore 注入链路;新增 GET /api/v1/agent/context-stats 查询接口
- 启动层:cmd/start.go 注入 agentRepo 为 CompactionStore
3. 新增 Execute Context Compaction 决策报告
- 新建docs/功能决策记录/Execute_Context_Compaction_决策记录.md
前端:无 仓库:无
|
2026-04-15 22:01:37 +08:00 |
|
LoveLosita
|
4906f814fd
|
Version: 0.4.6.dev.260307
feat: 🎯 新增 Token 估算与裁剪工具
* 在 `backend/pkg/token_budget.go` 中新增 Token 估算与裁剪工具
* 最大上下文 Token 数量设置为 224000,预留冗余 28000
* 从最旧消息开始裁剪,直到历史 Token 数量低于预算
* 根据裁剪后的历史消息数量动态计算 Redis 动态窗口大小
refactor: ♻️ 接入 Token 裁剪至 Service 主流程
* 在 `backend/service/agent.go` 中接入 Token 裁剪逻辑
* 先从历史数据获取(缓存未命中则查询数据库)
* 按 Token 预算裁剪历史消息,裁剪后再喂模型
* 根据裁剪结果动态调整 Redis 会话窗口
refactor: ♻️ 改造 Redis 历史队列为会话级动态窗口
* 在 `backend/dao/agent-cache.go` 中新增 `SetSessionWindowSize` 与 `EnforceHistoryWindow`
* `PushMessage` 和 `BackfillHistory` 方法使用会话动态窗口,而非固定 20 条历史消息
* 默认窗口大小提升至 128,但会被会话动态窗口值覆盖
|
2026-03-07 16:37:07 +08:00 |
|
LoveLosita
|
d5f0b8da63
|
Version: 0.2.1.dev.260210
feat: 🚦 新增基于 Redis 令牌桶的限流中间件
- 使用 Redis 实现令牌桶算法进行限流 🪣
- 覆盖除登录、注册、刷新 token 以外的所有接口 🔒
fix: 🐛 修复任务块添加到日程接口可修改已安排任务时间的问题
- 禁止通过该接口直接修改已安排任务块的时间
- 修正不合理的业务逻辑,保证数据一致性 ✅
|
2026-02-10 20:52:06 +08:00 |
|