assistant/docs/开发进度.md

123 lines
9.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# assistant 开发进度
维护日期:2026-10-22,日期采用 Asia/Shanghai。
本文件记录实际进展与验证事实。优化方向、优先级及后续步骤统一维护在 [整体方案第 14 节](整体方案-v0.2.md#14-当前优化与近期实施规划)。后续每轮结束前追加记录;本次将此前会话中的工作按阶段补记,不虚构各轮发生时间。
## 当前状态
- 已有 React/TypeScript 学习后台、FastAPI API、Node.js Playwright 工作进程。
- A2A 学习后台的适用页面与组件已裁剪迁入;原工程保持只读。
- 学习账本已接入独立 PostgreSQL 17。检索库准备 `pg_search 0.26.1`、`pgvector 0.8.6`;SQLite 保留作离线开发和测试适配,原数据及备份保留。
- 管理员在空账号库初始化为 `admin / 123456`,已有账号和密码不随启动重置。
- 已支持人工确认会话、采集证据、记录参数化步骤、生成不可变候选、静态校验、实际试跑及追加验证历史。
- 首期学习方式已确认为维护者与本地 Codex 协作:Codex 观察、编写、修订和验证,后台保留资料。未完成真实小红书学习,也未实现后台内置自主学习 Agent。
- 第一条目标链路为小红书「搜索笔记 → 详情 → 评论读取」。平台自动身份核验、完整独立来源读回、正式发布分发、Electron 商家端、macOS 实机验收及商业 AI/计量仍未完成。
- 最近已执行的工程验证为:后台套件 28 项通过、浏览器工作进程 12 项回归通过、PG + Edge 本机演示页端到端通过、检索扩展烟测通过。具体边界与证据见下文;这些阶段计数不累加,也不表示本轮重新执行。
- Git:当前基建代码与文档调整仍在本机工作区,尚未提交或推送;以实际 Git 操作结果更新。
## 2026-10-22-01:学习后台与浏览器基础(历史回填)
目标:先搭学习与验证基础,首条平台目标选小红书搜索、详情、评论读取。
已完成:
- 建立 `apps/admin/`、`apps/server/`、`tools/learning/` 及本机启动/验证脚本。
- 从原 A2A 后台裁剪导航、学习批次、账本总览、能力实体、参数表、操作链详情、测试列表、历史及证据抽屉,接本项目 API;清单见 [迁入来源](../apps/admin/source-provenance.md)。
- 实现固定账号资料目录、同账号会话互斥、人工确认后观察、动作前后证据和参数绑定。重开后保留资料,但需重新确认当前会话。
- 实现不可变候选与证据摘要绑定、追加验证记录、发布条件预检。未接入完整独立来源读回或正式分发。
- 修复工作进程 EOF/输出管道关闭时的清理,以及测试端口与实例标识隔离。
阶段验证:TypeScript 检查与生产构建通过;该阶段后台套件 19 项通过,浏览器回归后续收敛为 12 项真实 Edge 无头测试。浏览器测试仅使用隔离本机页面,不涉及真实小红书账号;保留 Cookie、会话互斥、正确/错误预期和执行中退出均有覆盖。
证据:[浏览器测试脚本](../tools/learning/test-browser-worker.mjs)、[本机回归报告](../.tmp/worker-regression-S8WGVV/report.json)。报告属于忽略的本机临时资产,不随仓库提交,不能当作其他设备的验证结果。
未完成:真实平台适配、平台身份自动核验、后台自主学习、macOS 实测、发布分发。原 A2A 的多机调度、完整知识合同与恢复系统未整包迁入。
提交/推送:本阶段基建尚未提交或推送。
## 2026-10-22-02:管理员初始化(历史回填)
目标:按用户要求初始化 `admin / 123456`。
已完成:空账号库一次性创建管理员,密码使用随机盐 scrypt 摘要;并发初始化幂等,已有任意维护者或已修改密码保留。登录表单默认账号为 `admin`,README 同步说明。
涉及文件:[认证](../apps/server/auth.py)、[后台入口](../apps/server/main.py)、[登录界面](../apps/admin/src/App.tsx)、[初始化测试](../apps/server/tests/test_bootstrap.py)。
阶段验证:当时后台套件 23 项通过,实际本机登录返回成功,本机端到端也通过。该计数是后续 28 项套件之前的阶段快照。
未完成:本轮没有新增账号管理或改密页面。
提交/推送:未提交、未推送。
## 2026-10-22-03:PostgreSQL 与检索扩展(历史回填)
目标:学习后台使用 Docker PostgreSQL,并核对原项目的 `pg_search` / `pgvector` 与真实学习核心。
已完成:
- 增加 [Compose 配置](../compose.yaml)、[初始化 SQL](../infra/postgres/init.sql) 和 `pnpm db:up/status/stop/check`;建立独立学习库、检索库和测试库。启动时实际健康检查通过,绑定本机 `55432` 端口,不据此推断当前持续在线。
- [存储层](../apps/server/db.py) 支持 PostgreSQL URL 与独立 schema、原生参数绑定、事务互斥、顺序及不可变事实保护;SQLite 适配保留。health 增加 `database_backend`。
- 增加 [迁移脚本](../scripts/migrate_learning.py):从一致备份导入空 PG 命名空间,同一事务核对数量,保留原 SQLite 和备份,非空目标拒绝覆盖。本次实际迁移 1 个维护者、2 条会话,无学习任务/候选/验证需要迁移;不声称已验证所有历史学习资料的迁移。
- 实际后台 health 返回 `postgresql`,迁移后的 `admin` 登录成功。
- 核对原工程:`pg_search` / `pgvector` 服务学习后的知识检索;原初次学习入口是独立 runner + Skills + 受限工具,部分 runner 与对象落盘实现仅适用 macOS,不能直接宣称 Win/Mac 完整迁移。
阶段验证:
- 后台套件 **28 passed,无跳过**,含 4 项真实 PG 用例;测试中的浏览器动作使用 `FakeWorker`,不属于真实平台验收。覆盖鉴权、候选并发、不可变事实、失败断言、密码保留和重启恢复。测试入口为 `pnpm test:server`。
- `pnpm test:learning` 在专用 PG 测试库与随机 schema 中,用真实 Edge 跑本机演示页;保存 23 份观察、5 个步骤、2 组成功参数试跑和总计 4 条验证记录,故意错误预期正确失败,重启保留记录,发布预检未放行。证据见 [本机端到端摘要](../.tmp/learning-acceptance-1792661264665/summary.json)。
- `pnpm db:check` 验证 PG17、`pg_search 0.26.1`、`vector 0.8.6`,中文 BM25、平台过滤、索引计划及固定样本向量排序通过;未调用真实 embedding 服务,未测语义召回质量。
- 方案图解七个标签页检查通过,未发现脚本错误或几何越界。
未完成:业务知识索引、真实 embedding、检索代际/发布资格衔接、自主学习、真实小红书和双端业务验收。完整规划见整体方案第 5.9、14 节。
提交/推送:未提交、未推送。
## 2026-10-22-04:确认本地 Codex 协作学习(历史回填)
目标:明确首期直接由本地 Codex 学习与固化。
已确认并写入方案:维护者登录 → 本地 Codex 观察与开发 → 提交候选 → 后台校验及变参试跑 → 根据证据修订;后台内置无人值守 Agent 后置。商家运行固化链路,内容理解/意图判断按需调用业务模型。
涉及文件:README、整体方案第 5.9 节与方案图解。
验证:文档差异检查通过;本轮为设计澄清,没有新增模型工具循环,也没有进行真实平台学习或重跑功能测试。
提交/推送:未提交、未推送。
## 2026-10-22-05:确认平台登录窗口(历史回填)
目标:明确小红书应在哪个浏览器登录。
已确认:Codex 右侧可以打开学习后台;平台登录在该后台「打开浏览器」启动的专用窗口完成,再回后台记录人工确认。日常 Chrome、Codex 右侧浏览器与该专用资料目录的登录态分别管理;资料持久化不保证平台永久免登录。
验证:此轮为操作说明,没有代码变更;尚未据此确认用户已登录,也没有采集真实小红书页面。
下一步:按 [近期规划](整体方案-v0.2.md#14-当前优化与近期实施规划) 完成首次实际观察与限定链路学习。
提交/推送:未执行。
## 2026-10-22-06:建立逐轮进度与规划维护约定
目标:每轮实际进度写入进度文档,优化与后续方向写入规划方案。
已完成:新增本进度文档并回填上述阶段;新增根 `AGENTS.md` 与持续生效的项目规则;README 增加入口;整体方案新增近期实施规划与维护约定,修正“尚无任何实测”的过时表述。
验证:本轮只修改文档和规则;执行本地链接与文档差异检查,不重复运行应用功能测试。历史 28 项套件及其他验收只作为历史事实引用。
未完成与下一步:真实小红书链路仍待学习,详见整体方案第 14 节。
提交/推送:未执行。
## 2026-10-22-07:提交并同步当前仓库(本轮)
目标:按用户指令,将当前学习后台基建、数据库配置模板、方案、图解、进度及项目规则同步到 GitHub。
本轮范围:`apps/`、`tools/learning/`、`scripts/`、Compose/初始化 SQL、依赖声明与锁文件,以及已有文档和项目规则;保留用户的 `docs/Skills.md` 内容并一并同步。
验证与检查:核对当前分支 `main`、远程 `zwt-cmd/assistant`、70 个暂存文件及忽略规则,远端无待合并更新;未发现真实凭据或私有连接串,`.env`、数据库、浏览器资料、依赖、构建和临时验收产物不进入提交。修正两处文件末尾多余空行,暂存差异检查通过,无功能变化;复用此前记录的功能验证结果,本轮不重复运行应用功能测试。
实施规划:本轮仅同步仓库,不改变整体方案第 14 节的优化优先级;下一步仍为本地 Codex 协作的小红书实际链路学习。
提交/推送:正在执行,成功后回填实际代码提交与远端核验结果。