From 1c4b5bf347a99e836a14e2b0d5bb564a7ab85e94 Mon Sep 17 00:00:00 2001 From: Simon Date: Sun, 14 Jun 2026 23:58:34 +0800 Subject: [PATCH] =?UTF-8?q?chore(workbuddy):=20=E6=9B=B4=E6=96=B0=20MEMORY?= =?UTF-8?q?=20=E7=B4=A2=E5=BC=95=20+=20=E6=B7=BB=E5=8A=A0=E6=BB=A1?= =?UTF-8?q?=E8=BD=BD=E4=BB=BB=E5=8A=A1=E6=B8=85=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .workbuddy/memory/2026-06-14-今夜-满载任务.md | 216 ++++++++++++++++++ .workbuddy/memory/MEMORY.md | 7 + 2 files changed, 223 insertions(+) create mode 100644 .workbuddy/memory/2026-06-14-今夜-满载任务.md diff --git a/.workbuddy/memory/2026-06-14-今夜-满载任务.md b/.workbuddy/memory/2026-06-14-今夜-满载任务.md new file mode 100644 index 0000000..990a9bc --- /dev/null +++ b/.workbuddy/memory/2026-06-14-今夜-满载任务.md @@ -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) diff --git a/.workbuddy/memory/MEMORY.md b/.workbuddy/memory/MEMORY.md index 532af1f..7f7eacc 100644 --- a/.workbuddy/memory/MEMORY.md +++ b/.workbuddy/memory/MEMORY.md @@ -207,3 +207,10 @@ 2. 坐席能力不稳定 → 阶段三 3. 知识无法积累传承 → 阶段四 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) — 卸载清空事件复盘