OpsXShell
原生运维桌面终端:SSH、SFTP、端口转发、RDP/VNC、串口、本地终端。短路径好用,不做审计/审批/堡垒机。
开发规范:AGENTS.md(短入口 CLAUDE.md)。授权走 opsx-licence。
产品形态(对齐 opsxdb / opsxapi):
浏览器 → 官网 + 文档(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。
本地调试
./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:5175,不是产品入口)。
测试
npm run test:patrol # 改功能后优先跑
npm run acceptance:quick
npm run acceptance:full
开发机卫生
./run.sh gui 启动前会自动做轻量清(推出残留 Opsx/OpsX DMG 卷、注销非 /Applications 且非本次启动路径的幽灵登记;不删 target、不重置 Launchpad)。
若 Launchpad / Spotlight 仍堆出重复图标,手动跑全量:
~/devops/scripts/clean-opsx-apps.sh
# 或:./run.sh clean-apps
# 可选:--delete-target-apps --reset-launchpad
打包
必须在目标系统上打:macOS 包在 Mac 打,Windows 包在 Windows 打。
./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 必须再公证。签名配置、公证与发版细节见 发布文档。
Gitee Release(tag 推上去之后):
./scripts/release.py v2.1.1 --dry-run
./scripts/release.py v2.1.1
发版安装包也可放到 server/download/ 供本地 Gin /download/ 挂载(勿把大 DMG 提交进 Git)。
文档
MIT,见 LICENSE。