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

2.3 KiB
Raw Blame History

架构说明

一页。细节以代码和 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:

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。

数据流

桌面 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 响应正文。分享用随机令牌,不暴露空间归属。