86 lines
3.0 KiB
Markdown
86 lines
3.0 KiB
Markdown
# OpsXShell
|
||
|
||
原生运维**桌面**终端:SSH、SFTP、端口转发、RDP/VNC、串口、本地终端。短路径好用,不做审计/审批/堡垒机。
|
||
|
||
开发规范:[AGENTS.md](./AGENTS.md)(短入口 [CLAUDE.md](./CLAUDE.md))。授权走 `opsx-licence`。
|
||
|
||
产品形态(对齐 opsxdb / opsxapi):
|
||
|
||
```text
|
||
浏览器 → 官网 + 文档(Gin :8789)
|
||
操作 → 桌面 Tauri(./run.sh gui)
|
||
```
|
||
|
||
官网与用户文档为独立静态站(`homepage/` 源 → `tools/homepage-build` 生成 dist,可部署自有域名;本地 `:8789` 预览)。Gin **不做**桌面操作后端。
|
||
|
||
需要 Node.js 22 LTS(建议 22.12+)、npm 9+、Rust 1.89+、Go 1.22+(跑官网时)。macOS 打包还要 Xcode Command Line Tools。
|
||
|
||
## 本地调试
|
||
|
||
```bash
|
||
./run.sh # = web:官网 + docs → http://127.0.0.1:8789/
|
||
./run.sh web # 同上
|
||
./run.sh gui # 桌面操作入口(默认顺带起 Gin)
|
||
./run.sh stop | status
|
||
```
|
||
|
||
DevTools:`Cmd+Option+I` 或 `F12`。桌面应用日志:
|
||
|
||
```bash
|
||
tail -f "$HOME/Library/Application Support/opsxshell/logs/opsxshell.log"
|
||
```
|
||
|
||
只要前端、不要原生窗:`npm run dev:ui`(默认 `http://127.0.0.1:5175`,**不是**产品入口)。
|
||
|
||
## 测试
|
||
|
||
```bash
|
||
npm run test:patrol # 改功能后优先跑
|
||
npm run acceptance:quick
|
||
npm run acceptance:full
|
||
```
|
||
|
||
## 开发机卫生
|
||
|
||
`./run.sh gui` 启动前会自动做**轻量清**(推出残留 Opsx/OpsX DMG 卷、注销非 `/Applications` 且非本次启动路径的幽灵登记;不删 `target`、不重置 Launchpad)。
|
||
|
||
若 Launchpad / Spotlight 仍堆出重复图标,手动跑全量:
|
||
|
||
```bash
|
||
~/devops/scripts/clean-opsx-apps.sh
|
||
# 或:./run.sh clean-apps
|
||
# 可选:--delete-target-apps --reset-launchpad
|
||
```
|
||
|
||
## 打包
|
||
|
||
必须在目标系统上打:macOS 包在 Mac 打,Windows 包在 Windows 打。
|
||
|
||
```bash
|
||
./scripts/build.sh # 当前平台;产物在 src-tauri/target/<triple>/release/bundle/
|
||
./scripts/build.sh mac-arm64 --quick # 本机重复打包
|
||
./scripts/macos-notarize.sh # 新 DMG:Apple 公证 + staple
|
||
```
|
||
|
||
Windows:`scripts\build.bat win-x64`
|
||
|
||
本机有 gitignore 的 `src-tauri/tauri.signing.conf.json` 时,`build.sh` 会签 Developer ID。没这份配置就是 ad-hoc,别人电脑会 Gatekeeper 拦截。新打的 DMG **必须再公证**。签名配置、公证与发版细节见 [发布文档](./docs/release.md#签名公证和自动更新)。
|
||
|
||
Gitee Release(tag 推上去之后):
|
||
|
||
```bash
|
||
./scripts/release.py v2.1.1 --dry-run
|
||
./scripts/release.py v2.1.1
|
||
```
|
||
|
||
发版安装包也可放到 `server/download/` 供本地 Gin `/download/` 挂载(勿把大 DMG 提交进 Git)。
|
||
|
||
## 文档
|
||
|
||
- 用户文档站(本地):`./run.sh web` → http://127.0.0.1:8789/docs
|
||
- [使用指南](docs/user-guide.md)(开发向)
|
||
- [架构](docs/architecture.md) · [验收](docs/testing-acceptance.md) · [发布](docs/release.md)
|
||
- [路线图](ROADMAP.md) · [当前任务](TASKS.md)
|
||
|
||
MIT,见 [LICENSE](./LICENSE)。
|