- /docs 重写为 11 页用户向文档(快速上手/会话/终端/SFTP/转发/RDP·VNC/串口/AI/授权/FAQ),剥离 run.sh、构建脚本等开发者内容与内部设计文档 - 文档配 5 张脱敏实况截图:SSH 工作区、SFTP 双栏、RDP、VNC、端口转发抽屉 - 落地页:新增「为什么选」区块、AI 步数修正 8→12、技术栈区改产品特性、专业版 CTA 指向 /pricing - /pricing 新增免费版 vs 专业版功能对比矩阵 - 全站清除 Tauri/IronRDP/Ed25519/guardrail 等实现层黑话,改用户语言 - 文档站删「打印/导出 PDF」「是否有帮助」摆设组件与未用图标,H1 与页面标题去重 - App 设置-关于新增官网入口 https://opsxshell.rlwj.cn(七语种同步) - homepage dist 同步重建
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。