Skip to content
sunquan819Public

About

简易在线终端服务器批量管理工具

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

部署管理系统

一款支持 Web 与 Desktop 双形态的服务器运维管理工具,支持服务器管理、容器部署、计划任务、Web 终端、本地终端、文件管理、笔记管理等企业级运维场景。

功能特性

🖥️ 服务器管理

  • 多台服务器 SSH 连接管理
  • 支持跳板机/堡垒机(多级跳板)
  • SOCKS5/SOCKS4 代理连接 SSH 与 RDP
  • 服务器分组、在线状态监控
  • 一键连接终端、测试连接

📦 容器管理

  • Docker 容器查看、启动、停止、删除
  • 容器日志查看
  • 镜像列表管理

🚀 服务部署

  • Docker Compose 服务一键部署
  • 支持自定义 compose 配置
  • 部署状态跟踪

⏰ 计划任务

  • Crontab 任务可视化编辑
  • 任务执行记录查看

💻 Web 终端

  • 基于 WebSocket 的实时终端
  • 多标签页管理
  • 鼠标选中自动复制,Ctrl+V 粘贴
  • 内置常用命令快捷执行
  • 笔记快捷查看
  • 命令输出自动捕获与查看
  • rm 危险命令二次确认
  • HTTP 环境剪贴板 fallback 方案
  • 终端会话历史记录与回放

🖥️ Desktop 客户端

  • 基于 Wails 的 Windows 桌面客户端
  • 内置后端服务,启动后直接进入本地管理界面
  • 支持系统托盘运行与桌面窗口管理
  • 支持 Desktop 专属的本地终端能力
  • 兼容现有 Web 管理功能与登录鉴权

🧑‍💻 本地终端

  • 在 Desktop 客户端内打开本机 PowerShell / CMD / Git Bash
  • 支持多标签页与最多 4 个横向/纵向分屏
  • 分屏关闭后自动恢复布局,窗口缩放/最大化后自动同步终端尺寸
  • Windows Terminal 风格交互:鼠标选中、右键复制、无选区右键粘贴
  • 支持强制选择终端文本,适配 opencode、codex 等 TUI 程序占用鼠标的场景
  • 支持鼠标滚轮滚动历史输出
  • 选中文本后可发送到当前终端、当前分屏其它终端或所有其它终端
  • 支持自动探测本机 AI Agent CLI(如 opencode、codex 等)并快速启动
  • 支持查看 opencode / codex 历史 session,并从指定 session 继续
  • AI Agent 退出后自动回到本地 Shell,并恢复终端显示模式

📋 终端日志

  • 自动记录终端会话历史
  • 查看命令执行时间、输出内容
  • 按类型、日期过滤搜索
  • 批量删除与清理

📁 文件管理

  • 目录浏览、文件预览
  • 文件上传、下载
  • 文件在线编辑
  • 支持大文件传输
  • 本地 artifacts 文件管理(创建目录、上传、删除、重命名)
  • 拖拽上传支持
  • 文件管理集成到项目部署安装包选择

📂 项目部署

  • 组件化项目管理(数据库、中间件、应用等类型)
  • 组件部署目录、启动/停止/状态/日志命令配置
  • 安装包管理:直接上传或从文件管理选择(仅存引用,不重复拷贝)
  • 一键部署到多台目标服务器
  • 远程启动/停止/查看状态/查看日志
  • CSV 批量导入/导出组件
  • 在线编辑远程配置文件(自动备份)

🔧 基础设施(批量任务)

  • 批量脚本执行
  • 多服务器同时部署
  • 脚本在线编辑
  • 执行结果统计

📝 笔记管理

  • 笔记分类、搜索
  • Markdown 格式支持
  • 终端页面快捷查看

⌨️ 常用命令

  • 预置 20+ 常用 Linux 命令
  • 自定义命令添加、编辑、删除
  • 命令分类管理
  • 点击自动复制/执行到终端

🔧 常用工具

  • Ping / Traceroute 网络诊断
  • Telnet 端口检测
  • Curl HTTP 测试
  • Tcpdump 抓包分析

🔗 端口隧道

  • SOCKS5 代理隧道
  • 支持绑定 127.0.0.1 或 0.0.0.0
  • 映射本地端口到远程服务器

🪟 RDP 连接

  • Windows 服务器 RDP 远程桌面
  • 一键启动 RDP Agent

使用场景

场景一:日常服务器运维

  1. 通过首页服务器卡片快速连接终端
  2. 在 Web 终端执行日常命令操作
  3. 通过文件管理上传/下载配置文件

场景二:批量部署应用

  1. 在基础设施模块创建部署场景
  2. 上传部署脚本和安装包
  3. 勾选目标服务器,一键批量执行

场景三:多环境配置管理

  1. 在笔记模块记录各环境配置
  2. 通过终端页快捷查看笔记内容
  3. 常用命令一键执行

场景四:内网穿透

  1. 通过端口隧道建立 SOCKS5 代理
  2. 本地应用通过代理访问内网服务器

场景六:项目组件部署

  1. 在项目部署模块创建项目与组件
  2. 上传或从文件管理选择安装包
  3. 配置部署目录与启动命令
  4. 一键部署到多台目标服务器
  5. 远程管理组件启停与日志

场景七:终端操作审计

  1. 终端会话自动记录命令与输出
  2. 通过终端日志页面查看历史操作
  3. 可按服务器、日期、类型过滤
  4. 部署 Docker Compose 服务
  5. 监控容器运行状态
  6. 查看容器日志排查问题

场景八:桌面本地运维与 AI Agent

  1. 打开 Desktop 客户端并登录
  2. 在本地终端中创建多个标签页或分屏
  3. 从状态栏快速启动 opencode、codex 等 AI Agent
  4. 在多个分屏间发送选中文本,辅助对比、复用命令或同步上下文
  5. 从历史 session 继续 AI Agent 工作

快速开始

编译

# Windows
go build -o deploy-manager.exe ./cmd/server/main.go

# Linux
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o deploy-manager ./cmd/server/main.go

编译 Desktop 客户端

cd cmd/desktop
wails build

构建产物位于:

cmd/desktop/build/bin/deploy-manager-desktop.exe

运行

# 默认端口 3000
./deploy-manager.exe --password yourpass

# 指定端口
./deploy-manager.exe --port 3001 --password yourpass

# 生产模式
GIN_MODE=release ./deploy-manager.exe --password yourpass

登录

  • 默认用户名:admin
  • 密码:首次启动时通过 --password 指定

访问

  • 浏览器打开:http://localhost:3000
  • 终端页面:点击服务器卡片自动跳转

技术栈

  • 后端: Go + Gin
  • 数据库: SQLite + GORM
  • SSH: golang.org/x/crypto/ssh
  • 终端: xterm.js + WebSocket
  • 前端: Alpine.js + TailwindCSS
  • Desktop: Wails + WebView2

目录结构

deploy-manager/
├── cmd/server/main.go      # 程序入口
├── cmd/desktop/            # Desktop 客户端
├── internal/
│   ├── config/             # 配置管理
│   ├── database/           # 数据库初始化
│   ├── handler/            # HTTP 处理器
│   ├── service/            # 业务逻辑
│   │   ├── tunnel.go       # SOCKS5 隧道
│   │   └── ssh.go          # SSH 服务
│   └── model/              # 数据模型
├── cmd/server/web/
│   ├── templates/          # HTML 模板
│   └── static/             # 静态资源
├── pkg/assets/             # 嵌入式 Web 模板与静态资源
└── artifacts/              # 编译产物

安全说明

  1. 首次启动后请立即修改管理员密码
  2. 建议在生产环境使用 HTTPS
  3. 服务器 SSH 凭证加密存储

License

Apache 2.0

About

简易在线终端服务器批量管理工具

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages