From 989febfbe06679b2df8024819e9e6733c5cc0bbc Mon Sep 17 00:00:00 2001 From: ila <2+ila@noreply.git.ilapage.cn> Date: Fri, 21 Aug 2026 00:40:51 +0800 Subject: [PATCH] docs: add portal configuration and verification (#11) --- Local-Development-and-Verification.-.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/Local-Development-and-Verification.-.md b/Local-Development-and-Verification.-.md index 66925a8..4902a24 100644 --- a/Local-Development-and-Verification.-.md +++ b/Local-Development-and-Verification.-.md @@ -37,6 +37,13 @@ | `CHORUS_SESSION_KEY` | portal 会话,必须与主密钥分离 | | `CHORUS_STORAGE_ROOT` | 受保护生成物目录 | | `CHORUS_ENV` | `development/test/production`,生产强制安全开关 | +| `CHORUS_SESSION_TTL_MINUTES` | 会话有效分钟数;生产必填 | +| `CHORUS_LOGIN_ATTEMPTS` / `CHORUS_LOGIN_WINDOW_SECONDS` | 单远端地址登录窗口限制;生产必填 | +| `CHORUS_MAX_PROMPT_BYTES` | prompt UTF-8 字节上限;生产必填 | +| `CHORUS_MAX_IMAGES` | 单任务图片数量上限;生产必填 | +| `CHORUS_MAX_IMAGE_BYTES` / `CHORUS_MAX_UPLOAD_BYTES` | 单图/整次 multipart 字节上限;生产必填 | +| `CHORUS_MAX_IMAGE_PIXELS` | 单图解码像素上限;生产必填 | +| `CHORUS_HISTORY_LIMIT` | 单次历史查询上限;生产必填 | | `GITEA_TOKEN` | Wiki/工单操作,不影响产品服务 | ## 第一次运行 @@ -136,6 +143,8 @@ go run ./cmd/chorus-mock-provider 生产安全 Client 始终拒绝回环/私网 Provider URL。自动化端到端测试使用构造公共域名解析和受控 `DialContext` 把请求送到进程内 mock,不应为了让 portal 直连本机 mock 而放宽 SSRF 规则。 +种子密码从 #11 起保存为 `bcrypt:v1:`。已有无版本构造哈希不会被登录兼容;使用同一构造邮箱和本次选择的密码重新运行 `go run ./cmd/chorus-seed`,会更新密码哈希而不新增用户。开发/测试未提供 session key 时进程随机生成临时 key,重启后会话失效;生产必须显式提供至少 32 字节且与 Provider 主密钥分离的 key。 + ### 5. 启动 portal(MVP-0) ```powershell @@ -188,6 +197,13 @@ $env:CHORUS_TEST_DSN = $null ``` - Provider:全部 retryable 类别使用 mock,不消耗真实额度。 +- Portal:真实 MySQL 8 覆盖登录/退出、session/CSRF 轮换、用户作用域幂等、pending 提交、上传边界、任务与文件跨用户授权、终态和 HTMX 401;测试结束 generation/input/output 和构造用户必须为 0。 + +```powershell +$env:CHORUS_TEST_DSN = $env:CHORUS_DSN +go test -v -count=1 ./portal/handler/... ./portal/service/... ./portal/session/... ./portal/auth/... +$env:CHORUS_TEST_DSN = $null +``` - SSRF:IPv4/IPv6 私网、DNS rebinding、redirect 链、环境代理、结果 URL。 - 安全:密码/session/CSRF、登录节流、跨用户任务与文件、错误脱敏、密钥轮换。 - 浏览器:HTMX 动态状态、终态停止、认证过期、网络错误;375/768/1024,无主区域横向滚动,键盘和 reduced-motion。