46 lines
2.6 KiB
Markdown
46 lines
2.6 KiB
Markdown
# 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。
|