106818cfc2
现象:AGENTS.md 里 5 处规则互相打架——逐次询问 vs 认领/提交/升版本;不构建 vs 前端必须 build;全部提交 vs 禁 add -A;每次提交 bump 版本号,而实际 24 次提交版本仍是 0.0.8。 docs/agent_board.md 没有 Agent 列,认领规则无法落地;docs/agent_workflow.md 是 0 字节; docs/todo.md 与 docs/progress/todo.md 双账本漂移,旧文件还写 platforms/gdgxk.py。 根因:规则按「想防的事」逐条追加,没有回头消解冲突;项目契约和 Agent 行为混在同一个入口文件里。 边界: - AGENTS.md 只留行为规则;日志 / 目录 / 插件契约指向 docs/architecture.md(两节内容已并入,未丢失) - 版本号改为只在发版提交时 bump,普通提交不动 - 看板改四列表头,状态带时间戳「进行中 (MM-DD HH:mm)」,超 24h 可接管 - 删除 docs/todo.md;其中 2 条仍未修的代码问题已迁入 docs/progress/todo.md,待办按 待做 / 已知偏差 / 未验证 重排 - 不改代码、不改版本号、不打 tag 运行了什么:git status 自查(只提交这 6 个文档文件,uv.lock 是原有改动未提交);提交时 pre-commit 跑 ruff / web typecheck / commitizen 没跑什么:没跑测试、没构建、没跑 pnpm build(本次无代码改动)
2.7 KiB
2.7 KiB
后续待办
待做
- 登录日志的 key 用错维度:
routes/accounts.py的_log_login()拿用户名(手机号)当 key 写run_log,而卡片 「课程日志」按账号 id 读,两边对不上——登录行只有「登录记录」页能看到。要么统一成账号 id,要么卡片同时聚合两个 key。 ddddocr的报错提示会误导:plugins/gdgxk/utils/login.py把任何导入失败都写成「需要先装 ddddocr(pip install ddddocr)」,uv sync在应用运行期间改写包造成的DLL load failed也会被说成「没装」。应区分 ImportError 与 OSError(DLL), 并把真实异常写进runtime.log。- 前端补一条自动化回归(Playwright):空态、账号卡片、测验弹窗、设置保存、平台下拉。
- pre-commit 首次接入还没跑过全量:
ruff-format会重排约 30 个文件,ruff check会报plugins/guanyixue/script/study_video.py:34的 E402(脚本先改sys.path再 import,加# noqa: E402即可)。 找一次专门的提交跑pre-commit run --all-files,别混进功能改动里。 - 构建检查进 CI:
cd web && pnpm install --frozen-lockfile && pnpm typecheck && pnpm build, 并校验static/与源码同步。 - 广东公需课:视频弹题仍未接入;
answer.py的两套按序答案留作考核备选,暂未使用。 - 推送渠道目前只有呆呆面板(
plugins/daidai_push/):要接 WxPusher / Telegram / 邮件,按"kind": "notify"再建一个插件目录即可,核心不用改;notify.send()会发给所有已加载渠道。 - 接入第二个学习平台时,建
plugins/<名字>/(plugin.json+main.py的Platform子类),实现session/login/list_courses/discover/study并注册;账号在「添加账号」里选平台后即可用,登录与课程发现不需要再改路由。
已知偏差
- 测验
/api/quiz/submit已改成按registry.get(platform).quiz_submit分发(公需课也能交卷),但/api/quiz*三个接口仍由莞易学插件注册: 停用莞易学后公需课的「打开测验」会 404。要让接口彻底跟插件解耦,需把它们挪到routes/,并把 AI 答题的提示词 / 解析一起下沉到核心。 engine.py的 legacy / spa 日志标签、enable_quiz/optQuiz字段、snapshots表仍带着莞易学的概念, 有第二个平台再决定是否抽象。
未验证
- 广东公需课:用一门未学完的课实测进度上报,确认平台端「已学时长 / 已完成」状态跟着变。
- 广东公需课:试卷考核已接入(
utils/exam.py:解析内嵌题面 → 题库/AI 答题 →finishTest2交卷),待用 一门只差考核的课实测交卷响应与得分。