diff --git a/README.md b/README.md index cb26cc7..7355db6 100644 --- a/README.md +++ b/README.md @@ -1,20 +1,12 @@ # LuoWang -罗网(LuoWang)是一个独立部署的 AI 场景测试 Harness。当前仓库已完成 Phase 0–9,并已发布 v0.1.0:除了安全配置控制台、唯一 GitHub 目标仓库索引、Main → Runner → Reviewer → Main 的本地 Run、受控 Playwright MCP UI 执行、S3-compatible OSS 证据 Gateway、幂等归档和持久 FIFO 自动化队列,还支持长期场景生命周期、三种场景维护模式、陌生项目初始化,以及展示 Git 树标记、场景历史、Run 工件/证据/归档、当前执行、队列、后台任务、依赖健康和陈旧缓存恢复的完整运维控制台。Phase 9 已完成 34 个 AC 的全量验收;验收会创建隔离的样例仓库和样例 Web 应用,并在结束后清理临时资源。 +罗网(LuoWang)是一个独立部署的 AI 场景测试 Harness。当前仓库已发布 v0.1.0,并已实现 Phase 0–9 的主要模块:安全配置控制台、唯一 GitHub 目标仓库索引、Main → Runner → Reviewer → Main Run、受控 Playwright MCP UI 执行、S3-compatible OSS 证据 Gateway、幂等归档和持久 FIFO 自动化队列,以及长期场景生命周期、三种场景维护模式、陌生项目初始化和运维控制台。 -## 本地启动 - -需要 Node.js 24 和 npm。生产模式: - -```bash -npm ci -npm run build -npm start -``` +v0.1.0 的 Phase 9 验收已使用隔离的本地样例仓库、样例 Web 应用和 test doubles 完成 34 个 AC 的自动化回归;这证明的是 local 基线,不是生产闭环的 live 联合验收。当前尚未完成真实 Provider + Pi Agent + Playwright MCP + 私有 OSS + GitHub + 非生产应用的联合证明,因此不能把 v0.1.0 或当前 `develop` 视为下一版本的发布验收已经通过。 -默认只监听 `127.0.0.1:3000`。打开 可查看控制台壳,健康检查地址为 。数据默认保存在 `/data`;本地开发可以设置 `LUOWANG_DATA_DIR` 到可写目录。执行 `npm run dev` 可以同时启动 Vite 和开发服务器。 +## 本地启动 -也可以使用 Docker Compose: +优先使用 Docker Compose 复现固定的 Node、原生依赖和 Chromium 环境: ```bash # 首次启动空数据卷前必须设置这两个值;不要把真实值提交到 Git。 @@ -25,15 +17,29 @@ curl --fail http://127.0.0.1:3000/health docker compose down ``` -执行 Phase 9 验收: +Compose 将数据保存到 `luowang-data` 卷,并把宿主机端口绑定到 `127.0.0.1`。管理员密码只在空数据库首次启动时读取;主密钥只用于进程内派生 Secret Store 密钥,二者都不会写入 SQLite。 + +如需直接在宿主机运行,需要 Node.js 24 和 npm 10 或更高版本。`better-sqlite3` 等依赖没有适用的预编译包时,`npm ci` 还需要系统已安装 `python3`、`make` 和 `g++`;缺少这些工具时请优先使用 Docker,不要跳过依赖安装或质量检查。 + +```bash +npm ci +npm run build +npm start +``` + +默认只监听 `127.0.0.1:3000`。打开 可查看控制台壳,健康检查地址为 。数据默认保存在 `/data`;本地开发可以设置 `LUOWANG_DATA_DIR` 到可写目录。执行 `npm run dev` 可以同时启动 Vite 和开发服务器。 + +## 验收状态 + +当前命令: ```bash npm run test:acceptance ``` -该命令会在隔离环境中运行公共质量命令,使用临时 Git bare 仓库、Cynos 官网登录/注册样例应用、SQLite、队列、归档和 headless Chromium 验证 34 个 AC,并在 `.cynos/acceptance//` 保存不含凭据的 JSON/Markdown 报告。真实 GitHub、DeepSeek、OSS 和非生产测试环境 smoke 不会默认执行;如需运行已存在的 GitHub 只读 smoke,必须显式提供 `LUOWANG_ACCEPTANCE_LIVE=1`、`LUOWANG_SMOKE_REPOSITORY=https://github.com/cynos-ai/cynos-website` 和临时 `LUOWANG_SMOKE_GITHUB_TOKEN`。 +该命令当前只代表 **local acceptance**。它会运行公共质量命令,并使用临时 Git bare 仓库、Cynos 官网登录/注册样例应用、SQLite、队列、归档和 headless Chromium 回归 34 个 AC;报告保存在 `.cynos/acceptance//`。其中 Agent Run 证明注入 `FixtureSessionFactory`,浏览器证明直接使用 Playwright;它们不能代替真实 `createAgentSession()`、模型 custom tool 循环和 Playwright MCP 联合路径。正式的 local/live/release 分层命令将在生产闭环 Closure Phase 6 提供。 -Compose 将数据保存到 `luowang-data` 卷,并把宿主机端口绑定到 `127.0.0.1`。管理员密码只在空数据库首次启动时读取;主密钥只用于进程内派生 Secret Store 密钥,二者都不会写入 SQLite。 +当前可选的 live 路径只包含有限的 GitHub smoke,不覆盖真实 Provider、Pi Agent、Playwright MCP、私有 OSS 和非生产应用联合验收。它不会默认执行;如需运行,必须显式提供 `LUOWANG_ACCEPTANCE_LIVE=1`、`LUOWANG_SMOKE_REPOSITORY=https://github.com/cynos-ai/cynos-website` 和临时 `LUOWANG_SMOKE_GITHUB_TOKEN`。即使该有限 smoke 通过,也不能视为 live 或 release 证明完成。 打开 后使用管理员密码登录。登录后可以维护 Harness、仓库/测试环境、MCP 和 S3-compatible OSS 的普通配置;Provider Key、Git Token、测试账号和 OSS Access Key 等 Secret 只能覆盖或显式删除,页面只显示“已配置”和固定掩码。v0.1.0 提供 GitHub 仓库读取、场景测试分支写入、PR/Issue 权限检查、场景/报告同步、场景 patch 校验、三种场景维护模式、直接/PR 发布、陌生项目初始化、归档和自动化队列接口,并注册 Provider、Playwright MCP 与 OSS 的独立连通性检查。启用 MCP 后,Runner 使用 headless、isolated 浏览器上下文和 accessibility snapshot/ref;截图等证据上传到 OSS,私有 bucket 使用登录后的 `/api/evidence/` 稳定地址。后台默认每 60 秒轮询 Git、每 10 秒扫描归档、每 5 分钟兜底索引和保留清理;队列、调度游标和恢复状态保存在 SQLite。