- 重写 AGENTS:浏览器只站+文档、操作走 ./run.sh gui;目录以现仓 src/src-tauri/server 为准 - docs/sdd-template.md 填成与 Shell/DB 同款短模板;sdd-agents/CLAUDE 指向它与 specs - 新增 docs/architecture.md(两套壳、数据流、安全三底线)与 docs/README 索引 - HANDTEST/README 去掉用 :5173 当工作台的旧手测口径
51 lines
2.3 KiB
Markdown
51 lines
2.3 KiB
Markdown
# 架构说明
|
||
|
||
一页。细节以代码和 [AGENTS.md](../AGENTS.md) 为准,不在这里重写功能清单。
|
||
|
||
## 两套壳
|
||
|
||
| 壳 | 入口 | 做什么 | 不做什么 |
|
||
| --- | --- | --- | --- |
|
||
| 浏览器 | `./run.sh web` → `http://127.0.0.1:8787/` | 官网、`/docs`、定价(`homepage/dist`) | 请求、集合、Mock 管理、自动化测试 |
|
||
| 桌面 | `./run.sh gui` | 全部操作(Tauri WebView + Rust) | 不把这套 UI 当成浏览器产品 |
|
||
|
||
Vite 开发源只给桌面 WebView。不要用浏览器打开它当工作台。
|
||
|
||
## 目录权威
|
||
|
||
当前 `main` 是扁平根目录,**不是** monorepo:
|
||
|
||
```text
|
||
src/ 唯一产品 UI(React)
|
||
src/transport/ 请求传输;Tauri 调用只走 ipc.ts
|
||
src/features/ 功能域
|
||
src/components/ 界面组合
|
||
src-tauri/ Tauri 2;command 适配,业务在 src/services/
|
||
server/ Gin 管理面(默认 127.0.0.1:8787)+ Mock 响应监听
|
||
homepage/ 官网与文档源
|
||
tools/homepage-build/ 静态站构建
|
||
```
|
||
|
||
`apps/desktop`、`apps/web`、`apps/server`、`packages/*` 在本仓库不存在。`docs/recovery/2026-10-14.md` 里的 `packages/` 是扁平化中途快照,不是现行路径。不要迁回,也不要再建第二棵 UI。
|
||
|
||
## 数据流
|
||
|
||
```text
|
||
桌面 UI
|
||
→ src/transport(直连 / Gin 代理 / Tauri)
|
||
→ 127.0.0.1:8787 代理、账号、工作区、Mock 发布(仅本机管理)
|
||
→ :8798 已发布 Mock 与只读文档分享(默认仅回环/私网来源)
|
||
homepage/dist
|
||
→ Gin 静态托管,与集合数据无关
|
||
```
|
||
|
||
- 集合、环境、Mock 草稿在本机;发布进本机 SQLite,不因登录改存公网。
|
||
- 实时协议会话不落盘。
|
||
- 分享快照不含鉴权、环境变量和运行历史。
|
||
|
||
## 安全底线
|
||
|
||
1. **浏览器只站 + 文档。** 工作台只在 `./run.sh gui`。不要把操作面加回官网。
|
||
2. **Mock 不上公网。** 管理 API 留在 `127.0.0.1:8787`。`:8798` 默认拒绝公网来源;要放开必须显式 `OPSXAPI_MOCK_ALLOW_PUBLIC=1`,且仍不开放发布/账号/代理管理。只本机时用 `OPSXAPI_MOCK_ADDR=127.0.0.1:8798`。
|
||
3. **敏感不明文。** 无对公 `/admin`。令牌、密钥、未发布数据不进官网、文档分享和 Mock 响应正文。分享用随机令牌,不暴露空间归属。
|