# OpsXShell 项目说明 请使用中文沟通。完整规则以 [AGENTS.md](./AGENTS.md) 为准;本文件只做短入口,避免双份漂移。 ## 是什么 Tauri 2 + Rust + React 运维**桌面**终端:SSH、SFTP、代理/端口转发、RDP/VNC、串口、本地终端、多标签分屏、批量命令、可选终端 AI。 **产品形态**(对齐 opsxdb / opsxapi): ```text 浏览器 → 官网/docs 独立静态站(homepage/dist;本地 :8789 预览) 操作 → 仅桌面(./run.sh gui) ``` Gin **没有**操作 API;不要把 Vite `:5175` 当浏览器工作台。 ## 和谁分工 | 仓 / 服务 | 职责 | | ------------------------------ | -------------------------------------------------------------------------- | | **本仓** `src/` + `src-tauri/` | 桌面客户端(唯一操作入口) | | **本仓** `homepage/` | 官网落地页 + 用户文档源(tools/homepage-build 出 dist 纯静态,可独立部署) | | `opsx-licence` | 结账与授权(桌面只验 LIC / LICOFF) | | `opsxdb` / `opsxapi` | 同族;同样「浏览器=官网/docs,操作=桌面」 | ## 目录 - `src/`:React UI(进 Tauri WebView);`src/features/settings/` 已提取设置模型、Hook 和控件 - `src-tauri/`:Rust 原生能力 - `server/`:Gin health/download + 本地静态托管 homepage/dist 预览(薄服务,无操作面) - `homepage/`:官网落地页 + 产品文档源 → `homepage/dist/` 纯静态(自有域名部署) - `shared/`:契约;`src/platform/`:唯一 IPC 适配 - `test/patrol/`:改功能优先 `npm run test:patrol` - `./run.sh web|gui` / `./scripts/build.sh`:开发与打包;安装包只在 `src-tauri/target/{debug,release}/bundle/`(Tauri 2 标准,不要仓库根 `release/`) 桌面布局为根级 `src/` + `src-tauri/`(Tauri 主流,三族统一;Vite :5175 仅桌面源)。不要重建已废弃的 `apps/`、`packages/`、仓库根 `release/`。 数据流:UI / Zustand → `platform` → Tauri command → Rust services。 现状与剩余工作见 [架构说明](docs/architecture.md)、[重构进度](docs/architecture-refactor.md);验证方式见 [测试与验收](docs/testing-acceptance.md)。不要把局部下沉误写为所有 service 已脱离 Tauri。 ## 硬边界(摘要) 不做堡垒机/审计;密钥 Rust 加密;转发运行态不落盘且停止即杀 Listener;不恢复旧 Electron 壳。细则见 AGENTS.md。