OpsFlash v0.2.0 版本发布:
新增
-
环境管理:环境增删改查(名称 / 英文 key / 排序),英文 key 作为脚本磁盘子目录名
data/scripts/{env_key}/;删除环境时脚本自动迁移到目标环境(磁盘目录同步移动);修改环境 key 自动迁移脚本目录;至少保留一个环境;脚本根目录的遗留平铺文件自动归入首个环境并迁入子目录 -
脚本库管理:支持 bat / ps1 / sh 三种脚本类型;按环境隔离存储(
data/scripts/{环境key}/);脚本增删改查、跨环境迁移;脚本内容编辑器(Ctrl+S 快捷保存、未保存切换提醒);磁盘文件与 DB 元数据自动同步(手动放入文件自动补录、文件丢失自动清理 DB 记录) - 脚本执行引擎:基于 PTY(ConPTY)实时输出,同脚本防重入;多会话并行执行(Tab 切换查看);xterm.js 终端渲染,支持 ANSI 控制码;自定义参数传入;轮询增量获取输出,支持中途停止;退出码、耗时、错误信息完整呈现;sh 脚本 CRLF 自动转 LF 临时副本执行(不修改源文件)
OpsFlash
轻量级运维极速引擎 (The Flash Engine for Micro-Ops)

logo64.png
OpsFlash 是一款基于 Wails v3 + Go + Vue 3 的跨平台桌面运维工具。单二进制分发,本地 SQLite 存储,敏感凭据加密保护,让日常服务器运维轻快如一瞬闪电。
仓库地址
特性
- 用户与认证:登录 / 登出,Token 会话(24h 过期),密码 bcrypt 哈希,用户管理(创建 / 修改 / 删除 / 角色)
- 连接管理:SSH 连接统一管理,私钥 / 口令凭据本地加密存储,连接测试
- SSH 隧道:local /remote/dynamic 三种端口转发,一键启停、断线自动重连、应用启动自启、分组与批量创建
- 脚本库:bat / ps1 / sh 脚本统一管理(环境分组、在线编辑、重命名、一键执行);ConPTY 实时输出、多会话并行、可停止;Windows 走 WSL bash / Git Bash(自动探测路径挂载)
- 桌面体验:系统托盘(关闭最小化)、每日日志文件
技术栈
| 层 | 技术 |
|---|---|
| 桌面框架 | Wails v3(v3.0.0-beta.4) |
| 后端语言 | Go 1.25 |
| 前端 | Vue 3 + TypeScript + Vite 8 |
| SSH | golang.org/x/crypto/ssh(纯 Go,无 CGO) |
| 存储 | SQLite(modernc.org/sqlite,纯 Go 驱动) |
快速开始
环境要求
- Go 1.25+
- Node.js 20+(前端构建)
- Wails3 CLI
开发模式
wails3 dev
热重载前端与后端改动。
构建产物
wails3 build
生成生产可执行文件到 bin/ 目录。构建后端为服务模式(无 GUI,纯 HTTP):
task build:server # 或 task run:server
默认账号
首次启动内置管理员账号:admin / 123456(登录后请尽快修改)。
项目结构
├── main.go # 应用入口(窗口、托盘、菜单、事件)
├── server/ # Go 后端
│ ├── authservice.go # 登录/会话
│ ├── userservice.go # 用户管理
│ ├── connections.go # SSH 连接管理
│ ├── tunnelservice.go # SSH 隧道
│ ├── opsruntime.go # 命令执行运行时(PTY/会话)
│ ├── exec/ # 执行器:ssh / mysql / redis / taos / terminal
│ ├── pty/ # PTY 抽象(Windows ConPTY / Unix)
│ ├── daemon/ # 守护进程
│ ├── secret/ # 凭据加密(DPAPI / AES-256-GCM)
│ └── tunnel/ # 隧道实现
├── frontend/ # Vue 3 前端
│ └── src/components/pages/ # 页面:登录/首页/连接/隧道/命令/参数/用户
├── docs/ # 设计文档与数据库结构
└── build/ # 平台打包配置
软件截图
连接管理

opsflash01.png
隧道管理

opsflash02.png
开源协议
本项目基于 MIT 协议开源。使用、修改、商用、分发均需保留版权声明。
反馈与贡献
- 欢迎提 Issue / PR
- 安全漏洞请私信或邮件至维护者,勿直接公开