- apps/server:Gin embed 官网 + /docs + /health + /download(无操作 API) - run.sh 重写 web/gui 场景;.gitignore 排除 server 二进制与挂载的安装包 - README/AGENTS/CLAUDE 同步「浏览器只看官网、操作走桌面」的产品形态说明 - 终端视口背景变量与全宽终端边缘 hairline 修正(serial/terminal/i18n 微调)
2.7 KiB
OpsXShell
原生运维桌面终端:SSH、SFTP、端口转发、RDP/VNC、串口、本地终端。短路径好用,不做审计/审批/堡垒机。
开发规范:AGENTS.md(短入口 CLAUDE.md)。授权走 opsx-licence。
产品形态(对齐 opsxdb / opsxapi):
浏览器 → 官网 + 文档(Gin :8789)
操作 → 桌面 Tauri(./run.sh gui)
官网与用户文档在本仓 apps/server(原独立仓 site-opsxshell 已并入)。Gin 不做桌面操作后端。
需要 Node.js 18+、npm 9+、Rust 1.77+、Go 1.22+(跑官网时)。macOS 打包还要 Xcode Command Line Tools。
本地调试
./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。桌面应用日志:
tail -f "$HOME/Library/Application Support/opsxshell/logs/opsxshell.log"
只要前端、不要原生窗:npm run dev:ui(默认 http://127.0.0.1:1420,不是产品入口)。
测试
npm run test:patrol # 改功能后优先跑
npm run acceptance:quick
npm run acceptance:full
开发机卫生
Launchpad / Spotlight 若扫到 target 里重复的 Opsx 应用,跑:~/devops/scripts/clean-opsx-apps.sh(可选 --delete-target-apps / --reset-launchpad)。
打包
必须在目标系统上打:macOS 包在 Mac 打,Windows 包在 Windows 打。
./scripts/build.sh # 当前平台;产物在 release/v<版本>/
./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 必须再公证。申请证书、导入钥匙串的步骤见 download/Apple开发者签名.md;发版细节见 docs/release.md。
Gitee Release(tag 推上去之后):
./scripts/release.py v2.1.1 --dry-run
./scripts/release.py v2.1.1
发版安装包也可放到 apps/server/download/ 供本地 Gin /download/ 挂载(勿把大 DMG 提交进 Git)。
文档
MIT,见 LICENSE。