Files
opsxapi/docs/architecture.md
T
logan 9304b0e98c docs: AGENTS/SDD 对齐 Shell·DB,补架构页并清浏览器工作台口径
- 重写 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 当工作台的旧手测口径
2026-10-19 21:23:59 +08:00

51 lines
2.3 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.
# 架构说明
一页。细节以代码和 [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 响应正文。分享用随机令牌,不暴露空间归属。