chore(workbuddy): 更新 MEMORY 索引 + 添加满载任务清单
This commit is contained in:
@@ -0,0 +1,216 @@
|
|||||||
|
# workbuddy 今夜满载任务清单(2026-06-14 睡前)
|
||||||
|
|
||||||
|
**触发日期**: 2026-06-14 睡前
|
||||||
|
**预计总工时**: 10-12 小时(workbuddy 一晚)
|
||||||
|
**workbuddy token**: 已配 `.workbuddy/config.json` 的 `gitea.token`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📊 任务满载排期
|
||||||
|
|
||||||
|
| 时段 | 任务组 | 估计工时 | 难度 |
|
||||||
|
|---|---|---|---|
|
||||||
|
| 0:00 - 0:30 | **T-1~T-4 收尾**(commit + push + 索引 + 预检 + 评审) | 0.5h | 低 |
|
||||||
|
| 0:30 - 3:30 | **A. P0/P1 收尾** | 3h | 中 |
|
||||||
|
| 3:30 - 5:00 | **B. 安全加固** | 1.5h | 中 |
|
||||||
|
| 5:00 - 6:30 | **C. CI/CD 配置** | 1.5h | 中 |
|
||||||
|
| 6:30 - 7:30 | **D. 文档完善** | 1h | 低 |
|
||||||
|
| 7:30 - 8:30 | **E. 代码质量** | 1h | 低 |
|
||||||
|
| 8:30 - 10:00 | **F. W-1~W-5 跑剩余**(P1-1 优化 + Dify POC + nginx 审计) | 1.5h | 中 |
|
||||||
|
| 10:00 - 11:00 | **G. 自我复盘 + 给 Claude 写日报告** | 1h | 低 |
|
||||||
|
| 11:00 - 12:00 | **缓冲 + 评审员复跑**(处理 fail 项) | 1h | - |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ▶▶▶ 详细任务清单起
|
||||||
|
|
||||||
|
### 0:00-0:30 T-1~T-4(收尾)
|
||||||
|
|
||||||
|
参见 `.workbuddy/memory/2026-06-14-今夜-收尾任务.md`(已写)
|
||||||
|
|
||||||
|
### 0:30-3:30 A. P0/P1 收尾(3 项)
|
||||||
|
|
||||||
|
#### A-1. P0 二次评审 5 遗留修完
|
||||||
|
- 详见 `docs/评审报告/workbuddy-2026-06-14-P0安全.md` 11.x 节
|
||||||
|
- 5 项:WS 浏览器 fallback / nginx access_log / 类型 bug / 降级放行 / 缺依赖
|
||||||
|
- 每项 1 commit
|
||||||
|
- 任务编号: #18 遗留
|
||||||
|
|
||||||
|
#### A-2. P1-1 优化: named volume → host bind mount
|
||||||
|
- 改 `docker-compose.yml` 用 host bind mount
|
||||||
|
- `scripts/deploy.sh` 加 host 目录创建
|
||||||
|
- 任务编号: #25
|
||||||
|
|
||||||
|
#### A-3. 初始 alembic 001 基准
|
||||||
|
- 当前缺初始迁移(从空白 DB 没法 `alembic upgrade head` 到当前 schema)
|
||||||
|
- 写 `backend/alembic/versions/001_initial_baseline.py`
|
||||||
|
- 用 SQLAlchemy autogenerate + 人工核对
|
||||||
|
|
||||||
|
#### A-4. pytest 基础配置
|
||||||
|
- `backend/pytest.ini`
|
||||||
|
- `backend/tests/conftest.py`(异步 client + 测试 DB)
|
||||||
|
- `backend/tests/test_agents.py` / `test_messages.py` / `test_ws.py`
|
||||||
|
- 任务编号: README 已知问题 #2
|
||||||
|
|
||||||
|
### 3:30-5:00 B. 安全加固(3 项)
|
||||||
|
|
||||||
|
#### B-1. 后端日志脱敏
|
||||||
|
- `backend/app/utils/log_filter.py`(新)
|
||||||
|
- 过滤 token / password / Authorization header / cookie
|
||||||
|
- 全局 logging filter 应用
|
||||||
|
- 验证:`grep -r "Bearer" backend/logs/` 不应命中
|
||||||
|
|
||||||
|
#### B-2. CORS 限制
|
||||||
|
- `backend/app/main.py` 配 CORS origins(开发全开 / 生产白名单)
|
||||||
|
- 读 `.env` 的 `CORS_ORIGINS`
|
||||||
|
- 加 `.env.example` 配置项
|
||||||
|
|
||||||
|
#### B-3. Rate Limit 基础
|
||||||
|
- `backend/app/middleware/rate_limit.py`(新)
|
||||||
|
- 登录端点 5 次/分钟
|
||||||
|
- 用 slowapi 或手撸 Redis 滑动窗口
|
||||||
|
|
||||||
|
### 5:00-6:30 C. CI/CD 配置(2 项)
|
||||||
|
|
||||||
|
#### C-1. Gitea Actions 配置
|
||||||
|
- `.gitea/workflows/ci.yml`(新)
|
||||||
|
- 跑 pytest
|
||||||
|
- 跑 pre-commit-check.sh
|
||||||
|
- 推 main 触发
|
||||||
|
|
||||||
|
#### C-2. Pre-commit 钩子
|
||||||
|
- `.pre-commit-config.yaml`(新)
|
||||||
|
- 跑 pre-commit-check.sh
|
||||||
|
- 跑 ruff / black / isort
|
||||||
|
- 跑 mypy 基础
|
||||||
|
|
||||||
|
### 6:30-7:30 D. 文档完善(3 项)
|
||||||
|
|
||||||
|
#### D-1. API 文档补完
|
||||||
|
- 后端每个端点补 OpenAPI description / response model
|
||||||
|
- 验证 `http://localhost:8000/docs` 完整
|
||||||
|
|
||||||
|
#### D-2. 部署文档
|
||||||
|
- `docs/Gitea部署指南.md`(Claude 写,workbuddy 配合)
|
||||||
|
- `docs/DEPLOY_NAS.md` 补 Gitea 章节
|
||||||
|
|
||||||
|
#### D-3. 开发文档
|
||||||
|
- `docs/开发指南.md`(新)
|
||||||
|
- 本地开发流程
|
||||||
|
- 测试流程
|
||||||
|
- 推送流程
|
||||||
|
|
||||||
|
### 7:30-8:30 E. 代码质量(3 项)
|
||||||
|
|
||||||
|
#### E-1. TODO 清理
|
||||||
|
- `grep -rn "TODO\|FIXME\|XXX" backend/ frontend-*/` 找
|
||||||
|
- 该删删,该追 issue 追 issue
|
||||||
|
- 留 `docs/代码清理日志.md` 记录
|
||||||
|
|
||||||
|
#### E-2. 死代码删除
|
||||||
|
- `vulture` 或手动找 unused functions / imports
|
||||||
|
- 删
|
||||||
|
|
||||||
|
#### E-3. type hints 覆盖率
|
||||||
|
- `mypy --strict backend/app/` 看覆盖率
|
||||||
|
- 关键模块补 type hints
|
||||||
|
|
||||||
|
### 8:30-10:00 F. W-1~W-5 跑剩余(3 项,2 项已在 A 中)
|
||||||
|
|
||||||
|
#### F-1. W-4 Dify 集成预研(POC)
|
||||||
|
- `backend/app/services/dify_client.py`(新)
|
||||||
|
- `backend/app/api/ai_wingman.py`(新)三个端点
|
||||||
|
- `docs/集成验证/Dify_POC_报告.md`
|
||||||
|
|
||||||
|
#### F-2. W-5 nginx 审计
|
||||||
|
- 扫所有 nginx.conf
|
||||||
|
- `docs/审计报告/nginx_access_log_审计.md`
|
||||||
|
|
||||||
|
### 10:00-11:00 G. 自我复盘 + 给 Claude 写日报告
|
||||||
|
|
||||||
|
#### G-1. workbuddy 日报告
|
||||||
|
- `.workbuddy/memory/2026-06-15-日报告.md`(新)
|
||||||
|
- 包含:
|
||||||
|
- 跑完任务清单
|
||||||
|
- 失败 / 阻塞项
|
||||||
|
- 自评(完成度 / 代码质量)
|
||||||
|
- 改进建议(给 Claude)
|
||||||
|
- 明日待办(给睡醒后的 Claude)
|
||||||
|
|
||||||
|
#### G-2. 风险跟踪表更新
|
||||||
|
- `docs/风险跟踪表.md` 加第十三节(2026-06-15 workbuddy 跑批报告)
|
||||||
|
- 列所有 A~F 完成度
|
||||||
|
|
||||||
|
### 11:00-12:00 缓冲 + 复跑
|
||||||
|
|
||||||
|
- 任何 FAIL 项复跑
|
||||||
|
- 任何 5 P0 遗留没修完 → 优先修
|
||||||
|
- 任何 pytest 失败 → 修
|
||||||
|
|
||||||
|
## ▼▼▼ 详细任务清单止
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔄 任务依赖
|
||||||
|
|
||||||
|
```
|
||||||
|
T-1~T-4 → A-1 ~ A-4 (P0/P1 收尾, 阻塞评审消化)
|
||||||
|
A-1 ~ A-4 → B-1 ~ B-3 (安全加固可与 A 并行)
|
||||||
|
A-1 ~ A-4 + B → C-1, C-2 (CI 跑测试, 等 A B 完)
|
||||||
|
C → D (文档依赖 CI 跑通)
|
||||||
|
D → E (代码质量在文档后做)
|
||||||
|
E → F-1, F-2 (剩余 W 任务)
|
||||||
|
F → G (日报告)
|
||||||
|
G → 缓冲 (复跑)
|
||||||
|
```
|
||||||
|
|
||||||
|
**并行机会**:
|
||||||
|
- B-1~B-3 可与 A-1~A-4 并行(都是 0.5-1h 任务)
|
||||||
|
- D-1~D-3 可与 E-1~E-3 并行
|
||||||
|
- F-1 + F-2 并行
|
||||||
|
|
||||||
|
workbuddy 客户端能力强可并行;弱就串行。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ⚠️ 关键约束
|
||||||
|
|
||||||
|
- **所有 commit** 走 Conventional Commits 格式
|
||||||
|
- **每个任务完成** → 推 feature/xxx 分支 → 通知 Claude 评审
|
||||||
|
- **评审通过** → 用户合并 PR
|
||||||
|
- **config.json 绝对不入仓**
|
||||||
|
- **token 失败** → `git credential reject` 后重试 → 仍失败上报
|
||||||
|
- **阻塞 30 分钟** → 上报用户
|
||||||
|
|
||||||
|
## 🆘 升级路径
|
||||||
|
|
||||||
|
| 阻塞 | 升级给 |
|
||||||
|
|---|---|
|
||||||
|
| token / 凭据 | 用户(simon's NAS / workbuddy-claude token) |
|
||||||
|
| 测试失败定位 | Claude(评审员) |
|
||||||
|
| 评审打回 3 次 | 用户(需要决策) |
|
||||||
|
| 任务做完需决策 | 用户(选项 + 推荐) |
|
||||||
|
|
||||||
|
## 📈 进度汇报节点
|
||||||
|
|
||||||
|
workbuddy 每完成一组(A~F)在 workbuddy 沙箱发条消息给用户:
|
||||||
|
- "A 组 P0/P1 收尾完成,3 commit 待评审"
|
||||||
|
- "B 组安全加固完成,2 commit 待评审"
|
||||||
|
- "C 组 CI/CD 完成,1 commit 待评审"
|
||||||
|
- ...
|
||||||
|
|
||||||
|
用户起床看 Gitea / 评审报告即可。
|
||||||
|
|
||||||
|
## 🎯 目标
|
||||||
|
|
||||||
|
**workbuddy 跑 10-12 小时** → 用户睡醒后看:
|
||||||
|
1. Gitea 仓有 **10-15 个新 commit**(A~F + 评审 fix)
|
||||||
|
2. CI 跑通(Gitea Actions 绿)
|
||||||
|
3. 日报告 `.workbuddy/memory/2026-06-15-日报告.md` 详尽
|
||||||
|
4. 风险跟踪表第十三节有 workbuddy 自评
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**workbuddy 任务来源**: Claude 2026-06-14 睡前满载排期
|
||||||
|
**前置依赖**: T-1~T-4 收尾任务清单(`.workbuddy/memory/2026-06-14-今夜-收尾任务.md`)
|
||||||
|
**批量任务清单**: `.workbuddy/memory/2026-06-14-批量任务.md`(W-1~W-5)
|
||||||
@@ -207,3 +207,10 @@
|
|||||||
2. 坐席能力不稳定 → 阶段三
|
2. 坐席能力不稳定 → 阶段三
|
||||||
3. 知识无法积累传承 → 阶段四
|
3. 知识无法积累传承 → 阶段四
|
||||||
4. 管理缺乏数据支撑 → 阶段四
|
4. 管理缺乏数据支撑 → 阶段四
|
||||||
|
|
||||||
|
## workbuddy 任务清单索引 (2026-06-14)
|
||||||
|
|
||||||
|
- [批量任务清单](.workbuddy/memory/2026-06-14-批量任务.md) — W-1~W-5 workbuddy 任务
|
||||||
|
- [今夜收尾任务](.workbuddy/memory/2026-06-14-今夜-收尾任务.md) — T-1~T-4 Claude+workbuddy 协作
|
||||||
|
- [今夜满载任务](.workbuddy/memory/2026-06-14-今夜-满载任务.md) — 12小时满载排期
|
||||||
|
- [评审 Gitea 重建](docs/评审报告/workbuddy-2026-06-14-Gitea重建.md) — 卸载清空事件复盘
|
||||||
|
|||||||
Reference in New Issue
Block a user