docs: 同步管理端登录契约 (#29)
This commit is contained in:
@@ -2,8 +2,8 @@
|
||||
generated: true (请先修改 Gitea Wiki,禁止直接编辑本文件)
|
||||
wiki_page: Architecture-and-Code-Map
|
||||
wiki_url: https://git.ilapage.cn/OPC/chorus/wiki/Architecture-and-Code-Map.-
|
||||
wiki_revision: 8c1c40529eb6da550fdfc395ec878a0431c9ef30
|
||||
synchronized_at: 2026-08-21T15:02:17Z
|
||||
wiki_revision: a670339f38d3c83e267afa475dcd8b825c8ed8d6
|
||||
synchronized_at: 2026-08-22T01:15:06Z
|
||||
<!-- gitea-wiki-mirror:end -->
|
||||
|
||||
# 架构与代码地图
|
||||
@@ -42,6 +42,7 @@ chorus/
|
||||
- `admin/app/chorus/` 实现 Provider、ProviderModel、PromptTemplate、RoutePool、Generation 与终端用户查询 API。所有 Chorus API 经过固定 go-admin 的 JWT 与 Casbin 链;JWT 只从 `Authorization: Bearer` 读取,不接受 Query 或 Cookie token。
|
||||
- 原 go-admin 的 AutoMigrate、代码生成、Swagger、WebSocket 与静态文件路由未导入生产入口。`/api/v1/chorus/` 不提供 DELETE;被引用记录使用启停而不是物理删除。
|
||||
- 通用操作日志对 `/api/v1/chorus` 完全跳过请求体与结果持久化,避免把凭据写入 `sys_oper_log`;配置变更和被拒绝的探测由 `admin_audit_events` 记录脱敏摘要。
|
||||
- 管理端 `POST /api/v1/login` 在 `prod` 与 `dev` 都只接收必填的 `username`、`password`;生产入口不注册验证码、代码生成、Swagger、WebSocket 或静态文件路由。
|
||||
|
||||
## MVP-0 的最小形态
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
generated: true (请先修改 Gitea Wiki,禁止直接编辑本文件)
|
||||
wiki_page: Local-Development-and-Verification
|
||||
wiki_url: https://git.ilapage.cn/OPC/chorus/wiki/Local-Development-and-Verification.-
|
||||
wiki_revision: 6975232fead63ed60c480fb4bf7c0e9188a430d1
|
||||
synchronized_at: 2026-08-21T15:02:26Z
|
||||
wiki_revision: c133df3e7f58ab1d066804fbc89110bc8172541c
|
||||
synchronized_at: 2026-08-22T01:15:11Z
|
||||
<!-- gitea-wiki-mirror:end -->
|
||||
|
||||
# 本地开发与验证
|
||||
@@ -153,7 +153,7 @@ go run ./cmd/chorus-admin-bootstrap
|
||||
go -C admin run . server --config "<受保护 settings.yml 路径>"
|
||||
```
|
||||
|
||||
该命令只启动 go-admin 管理 API,不执行 migration、seed 或 AutoMigrate,也不注册代码生成、Swagger、WebSocket 或静态文件路由。管理 API 使用 `Authorization: Bearer <JWT>`;不要在 URL 或 Cookie 放置 token。连通性探测默认返回 403 且不出站。只有经过人工批准的单次真实检查,才在本次受保护进程设置 `CHORUS_ADMIN_ALLOW_CONNECTIVITY_PROBES=1`,并同时提供正数 `CHORUS_ADMIN_CONNECTIVITY_COOLDOWN_SECONDS`、`CHORUS_PROVIDER_HTTP_TIMEOUT_SECONDS` 和 `CHORUS_PROVIDER_MAX_RESPONSE_BYTES`。
|
||||
该命令只启动 go-admin 管理 API,不执行 migration、seed 或 AutoMigrate,也不注册验证码、代码生成、Swagger、WebSocket 或静态文件路由。`POST /api/v1/login` 在 `prod` 与 `dev` 都只接收必填的 `username`、`password`,不需要验证码字段。管理 API 使用 `Authorization: Bearer <JWT>`;不要在 URL 或 Cookie 放置 token。连通性探测默认返回 403 且不出站。只有经过人工批准的单次真实检查,才在本次受保护进程设置 `CHORUS_ADMIN_ALLOW_CONNECTIVITY_PROBES=1`,并同时提供正数 `CHORUS_ADMIN_CONNECTIVITY_COOLDOWN_SECONDS`、`CHORUS_PROVIDER_HTTP_TIMEOUT_SECONDS` 和 `CHORUS_PROVIDER_MAX_RESPONSE_BYTES`。
|
||||
|
||||
### 3. go-admin schema-first 生成(MVP-1)
|
||||
|
||||
@@ -292,7 +292,7 @@ go -C admin test -count=1 ./...
|
||||
$env:CHORUS_RUN_ADMIN_TESTS = $null
|
||||
```
|
||||
|
||||
覆盖凭据加密、轮换和回退、普通更新不清除凭据、路由发布版本冲突、JWT/Casbin 路由边界、禁用探测不出站,以及探测冷却只预留一次。根模块的 migration up/down/up 回归仍需在可丢弃库执行:`go test -count=1 ./migrations -run TestMVP1MigrationsUpDownUpMySQL`。
|
||||
覆盖凭据加密、轮换和回退、普通更新不清除凭据、路由发布版本冲突、JWT/Casbin 路由边界、生产模式账号密码登录(无验证码)、禁用探测不出站,以及探测冷却只预留一次。根模块的 migration up/down/up 回归仍需在可丢弃库执行:`go test -count=1 ./migrations -run TestMVP1MigrationsUpDownUpMySQL`。
|
||||
|
||||
## 完成修改前
|
||||
|
||||
|
||||
Reference in New Issue
Block a user