Files
sanguo_moziplus_v2/docs/design/v2.8-changelog.md
T
2026-05-20 23:00:06 +08:00

2.2 KiB
Raw Blame History

v2.8+ 变更记录

日期:2026-05-20 作者:庞统

项目下拉改造

项目发现

  • 自动扫描 ~/.openclaw/sanguo_projects/sanguo_* 目录(discover_sanguo_projects()
  • 启动时扫描 + 注册到 registry(source: sanguo_projects_scan
  • 下拉菜单:📋全部任务 / 📝一般任务(_general/ 正式项目 / 新建

项目 CRUD

操作 API 说明
自动发现 启动时自动 扫描 sanguo_projects 目录
手动创建 POST /api/projects 填写 id + name
归档 POST /api/projects/{id}/archive status→archived,不显示
删除 DELETE /api/projects/{id} status→deleted(逻辑删除,不物理删)
修改 PATCH /api/projects/{id} 更新 name/description
移动任务 POST /api/projects/{id}/tasks/{tid}/move 跨项目移动任务

项目状态

  • active → 正常显示
  • archived → 不显示(归档)
  • deleted → 不显示(逻辑删除)
  • 两个状态独立,不重叠

特殊项目

ID 用途 显示
_general 一般任务(无归属) 下拉菜单 + 看板
_mail 邮件系统 独立 Tab

轮询 → SSE 改造

改造前(轮询)

  • 每 5-30 秒 loadAll()loadLive() + loadProjects() + loadV2Tasks()
  • 全量替换 v2tasks 数组 → 卡片全部重渲染 → 闪屏 + 输入失焦

改造后(SSE + 轻量轮询)

  • 轮询:只刷 loadLive()ticker 数据),10-30 秒间隔
  • SSE:监听 /api/events,收到 task_updated/task_completed/task_failed 时只更新单个任务
  • 任务列表:首次加载 / 切项目 / 手动刷新时才全量拉
  • 输入保护:有输入焦点时跳过轮询,blur 2s 后补刷

铃铛通知中心

对接设计文档(topic7-9

  • 按推送级别分组(🔴🟡🟢🔵
  • 每条通知:时间 + 级别图标 + 内容摘要 + 关联任务链接
  • 展开操作按钮(查看任务 / 标记已读)
  • 全部已读
  • 数据来源:未读邮件 + SSE 实时事件

TaskModal 项目归属选择器

  • 任务详情页显示当前所属项目
  • 下拉选择可移动任务到其他项目(调用 move API)