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 (添加按钮)
数据流:
- 用户点「重新学习」→ POST /api/learn//relearn
- 后端: 重置 status → pending_learn, 清除 error_msg, 删除旧 learning_results
- 调用 _run_absorb(item_id) 重新 spawn hermes 子进程
- hermes 子进程执行 6 步吸收 Loop → 回调更新状态
- 前端: 显示"已触发重新学习",自动刷新页面
步骤:
- 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