learn-relearn-button.md 1.17 KB

PLAN: learn 详情页「重新学习」按钮

目标: 在 /learn/ 详情页添加「重新学习」按钮,点击后重新触发 hermes CLI learn and build skill,跑完整吸收过程。

涉及文件:

  • wechat-viewer/app.py (新增 POST /api/learn//relearn)
  • wechat-viewer/templates/learn_detail.html (添加按钮)

数据流:

  1. 用户点「重新学习」→ POST /api/learn//relearn
  2. 后端: 重置 status → pending_learn, 清除 error_msg, 删除旧 learning_results
  3. 调用 _run_absorb(item_id) 重新 spawn hermes 子进程
  4. hermes 子进程执行 6 步吸收 Loop → 回调更新状态
  5. 前端: 显示"已触发重新学习",自动刷新页面

步骤:

  • S1: 后端 API POST /api/learn//relearn
  • S2: 前端按钮 learn_detail.html

验收标准(Sprint Contract)

  • [ ] TC1: POST /api/learn/999999/relearn → 404 (item不存在)
  • [ ] TC2: POST 已存在的 item 的 /api/learn//relearn → 200 + status回 "pending_learn"
  • [ ] TC3: 重新学习后 item 的 error_msg 被清除
  • [ ] TC4: 按钮在详情页可见且可点击,点击后发送 POST 请求
  • [ ] TC5: 全站 smoketest: / /learn /articles /reports 全部 200