一个帮你集中管理、随手执行 Shell 脚本的桌面小工具。
日常开发里总有一堆零散脚本:启动后端、数据库备份、清理缓存、部署发布……散落在各个文件夹,时间一长就记不住放哪、想不起参数。
EasyOps 把它们收进一个窗口:按分组管理、随手搜索,点一下就在真正的终端里跑起来,输出实时滚动,还能交互。脚本内容和用哪个 shell 都会记住,下次直接用。
- 脚本管理:新建、编辑、复制、删除,支持多级目录嵌套整理,拖拽排序与跨目录移动,按名称搜索(目录名命中时保留整棵子树)
- 真实交互终端:基于 node-pty + xterm.js,不是「输出面板」——脚本能读输入,你也能直接敲命令
- 语法高亮编辑器:CodeMirror 6,带 shell 命令补全
- 脚本级 shell:每个脚本可以单独指定 zsh、bash、WSL、Git Bash 等,不指定则跟随全局默认
- 导入 / 导出:配置一键备份恢复,支持从旧版 v0.7.x 迁移
- 自动更新:应用内检查更新,无需手动下载;有新版本时「设置」按钮右上角会亮起小圆点提示
- 深色 / 浅色 / 跟随系统三种主题
- 跨平台:macOS(Intel + Apple Silicon)、Windows、Linux
到 Releases 页面下载对应平台的安装包:
| 平台 | 文件 |
|---|---|
| macOS | .dmg(按 CPU 选择 Intel 或 Apple Silicon) |
| Windows | EasyOps-Setup-<version>.exe |
| Linux | .AppImage / .deb / .rpm |
应用未做代码签名:
- macOS 首次打开会被 Gatekeeper 拦截。到「系统设置 → 隐私与安全性」,拉到底部的「安全性」区域,点**「仍要打开」**并输入密码确认(macOS 15 起右键「打开」已不再能放行)。也可以在终端执行
xattr -dr com.apple.quarantine /Applications/EasyOps.app去掉隔离标记。放行一次后,通过应用内更新得到的后续版本不会再被拦截- Windows 首次运行如遇 SmartScreen 提示,点「更多信息 → 仍要运行」
- 新建脚本:点侧边栏「新建脚本」,填个名字就行(内容可以之后再写)
- 写内容:左下角就是编辑器,选中脚本直接改,按
Cmd/Ctrl+S保存 - 运行:点脚本左侧的 ▶,右侧会新增一张终端卡片并执行脚本
- 交互:脚本跑完后终端还开着,可以继续敲命令;要中断脚本就点一下卡片按
Ctrl+C
更多说明:
- 终端卡片支持最大化、单独关闭、一键关闭全部;布局比例可拖动调整
- 「编辑」弹窗只管名称、分组、shell;内容只在左下角编辑器里改
- 设置面板里可以管理 shell、导入导出配置、检查更新
点了执行,终端迟迟没输出?
终端启动的是交互式 shell,会加载你的 ~/.zshrc / ~/.bashrc。如果 rc 里 source 了 nvm、oh-my-zsh 之类的重物,冷启动会慢几秒(实测最慢约 7 秒),等一下就好。
没点保存就切走了,内容会丢吗? 不会。未保存的改动按脚本自动留存,切回来还在;退出应用时会提醒你保存。页签上会亮一个橙点标记未保存,悬停时原位变成关闭按钮。
数据存在哪?想备份怎么办? 所有数据都在下面的目录里,整个文件夹拷走即备份:
| 平台 | 路径 |
|---|---|
| macOS | ~/Library/Application Support/easyops/ |
| Windows | %APPDATA%\easyops\ |
| Linux | ~/.config/easyops/ |
怎么更新? 应用启动时会自动检查,也可以在设置里手动检查;发现新版本时「设置」按钮右上角会亮起小圆点,打开设置即可下载安装。macOS 更新会自动完成替换并重启;如果安装位置不支持自动替换,会打开下载页引导手动安装。
面向开发者的文档(架构、测试、打包与发布流程、版本约束)见 docs/DEVELOPMENT.md。