Skip to content

About

一个智能化的Web应用检测、管理和统一门户系统,能够自动识别工作区内的各种技术栈应用,并提供统一的管理界面。

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

45 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

智能多Web应用门户系统 (Multi-App Portal System)

Version Release License

一个面向多应用工作区的智能 Web 应用检测、管理与统一控制中心系统,能够自动识别各种技术栈应用,并提供一致的管理与运维体验。

📌 当前发布

✨ 新特性

  • 统一端口清单: 监听列表、容量统计、归属核验和冲突提示共享同一份系统快照
  • 端口操作安全增强: 强制释放重新核验 PID,失效分配支持管理员预览确认,系统与门户保留端口禁止直接释放
  • 全栈启动就绪检查: 前后端子进程必须真正监听端口才会确认启动成功,失败时自动清理部分启动进程
  • 控制中心界面焕新: 门户首页、应用管理、PM2 管理、端口管理和系统设置升级为统一的指标总览 + 快捷操作布局
  • 应用信息表达增强: 应用卡片与详情弹窗新增运行模式、访问端口、访问入口、最近更新和更清晰的状态摘要
  • 管道架构重构: 全新的检测管道架构(Scanner → Analyzer → Aggregator → PortAllocator)
  • 智能全栈项目识别: 自动识别 monorepo 和全栈项目结构,支持非标准命名(如 main-portal/detection-api)
  • 精确扫描深度控制: 扫描时多扫描一层,返回时按用户设置深度过滤
  • 智能端口分配: 读取用户配置的保留端口和端口范围,避免冲突
  • 安全增强 (Phase 3): RBAC 角色权限控制、JWT 认证硬化、审计日志、会话管理

🚀 核心功能

🔍 智能应用检测

  • 管道架构检测: 采用四阶段管道架构(Scanner → Analyzer → Aggregator → PortAllocator)
  • 多技术栈识别: 支持 Vue+Vite、React+Vite、Next.js、Angular、Node.js+Express 等主流技术栈
  • 智能全栈识别: 自动识别全栈项目结构,支持 frontend/backend、main-portal/detection-api 等多种命名
  • 精确深度控制: 扫描深度+1 确保检测全面,返回时按用户设置深度过滤
  • 智能端口分配: 读取用户配置的保留端口,避免与系统端口冲突
  • 实时进度跟踪: WebSocket 实时更新扫描进度和状态

⚡ 智能命令注入

  • 智能端口注入: 自动为启动命令注入端口参数,支持不同技术栈的端口配置语法
  • 技术栈适配: 针对 Vite、Next.js、Angular CLI 等框架提供专门的命令适配器
  • 向后兼容: 完全兼容现有启动方式,无端口参数时保持原有行为
  • 自定义服务器检测: 智能识别自定义服务器配置,避免不兼容的端口注入
  • 高性能处理: 平均响应时间 0.12ms,支持每秒 9000+ 次调用

📱 统一应用门户

  • 可视化管理: 直观的应用卡片界面,支持网格和列表布局
  • 状态监控: 实时显示应用运行状态(在线/离线/错误/维护中)
  • 快速启动: 一键启动、停止和访问应用
  • 外部应用接入: 支持 Windows 外部独立 EXE 程序的直接接入与启停管理
  • 主题定制: 支持浅色/深色模式和自定义主题色

🖧 高级智能端口治理

  • 高速全局探测: $O(1)$ 内存级快照查询,彻底告别数百个端口扫描导致的界面卡顿与 CPU 浪涌
  • L4/L7 混合探活: 原生 ECONNREFUSED 毫秒级防假死探测机制
  • 全栈端口配对: 前端/后端端口可按配置范围自动分配同偏移端口组,并支持在应用配置中显式调整
  • 无损生命周期管理: 端口释放实施 "SIGTERM (软关闭) → 智能监测倒计时 → SIGKILL (强杀兜底)" 的优雅降级管线,保护数据库与文件锁安全
  • 高危防火墙 UX: 面向核心系统级架构的物理按键隔离锁定,以及聚合折叠式拓扑渲染,极大降低操作白噪

⚙️ 高级应用管理

  • 批量操作: 支持批量启动、停止、检测和删除应用
  • 详细配置: 完整的应用信息编辑和端口配置
  • 搜索过滤: 按名称、技术栈、状态等多维度筛选
  • 导入导出: 应用配置的导入导出功能

🛡️ 安全特性 (Phase 3)

  • RBAC 角色权限: 支持 admin/operator/guest 三种角色,细粒度权限控制
  • JWT 认证硬化: 生产环境强制配置安全密钥,Token 黑名单机制
  • 会话管理: 支持查看、撤销会话,管理员可管理所有用户会话
  • 审计日志: 记录敏感操作,支持文件持久化和查询
  • 文件系统硬化: 使用 spawn 替代 exec,路径白名单限制
  • CORS 收敛: 生产环境严格来源控制
  • 紧急开关: 支持临时关闭认证(仅内网应急)

🛠️ 配置文件生成

  • 多种配置模板: Nginx、PM2、systemd、VS Code 等配置模板
  • 智能模板填充: 根据应用特征自动填充配置参数
  • 批量配置生成: 为多个应用同时生成配置文件
  • 配置验证: 自动验证生成的配置文件是否正确

🏗️ 系统架构

智能多Web应用门户系统/
├── main-portal/          # Vue 3 前端门户
│   ├── src/
│   │   ├── components/   # 各类功能组件
│   │   ├── views/        # 页面视图组件
│   │   ├── stores/       # Pinia 状态管理
│   │   ├── composables/  # 组合式函数
│   │   ├── services/     # API 服务封装
│   │   └── types/        # TypeScript 类型定义
│   └── package.json
├── detection-api/        # Node.js 后端服务 (Clean Architecture)
│   ├── src/
│   │   ├── api/          # 统一 API 路由定义 (UnifiedApiRouter)
│   │   ├── controllers/  # 控制器层 (业务流转)
│   │   ├── middleware/   # API 中间件 (认证、日志等)
│   │   ├── core/         # 核心业务服务引擎
│   │   │   ├── ServiceContainer.ts   # 服务依赖注入容器
│   │   │   ├── pipeline/             # 检测管道架构
│   │   │   │   ├── stages/           # Scanner/Analyzer/Aggregator/PortAllocator
│   │   │   │   └── DetectionPipeline.ts
│   │   │   └── DetectionService.ts   # 应用扫描核心服务
│   │   ├── routes/       # 传统系统路由 (保持向下兼容)
│   │   ├── services/     # 基础底层服务及业务逻辑
│   │   └── utils/        # 通用工具函数
│   └── package.json
├── configs/              # 配置文件模板 (Nginx/PM2等)
├── scripts/              # 快速部署、备份、启停脚本
├── docs/                 # 系统架构、排错文档
│   └── troubleshooting/  # PM2 及常见故障排查手册
└── README.md

🔄 检测管道架构

┌─────────────┐    ┌─────────────┐    ┌─────────────┐    ┌─────────────┐
│  Scanner    │ -> │  Analyzer   │ -> │ Aggregator  │ -> │PortAllocator│
│  扫描阶段    │    │  分析阶段    │    │  聚合阶段    │    │ 端口分配    │
└─────────────┘    └─────────────┘    └─────────────┘    └─────────────┘
     │                   │                  │                  │
     v                   v                  v                  v
  目录扫描           技术栈识别         全栈项目聚合        智能端口分配
  深度控制           组件分类           深度过滤           排除保留端口

管道特点:

  • ScannerStage: 递归扫描目录,支持 monorepo 结构检测,扫描深度 +1 确保全栈组件被发现
  • AnalyzerStage: 分析 package.json,识别技术栈,分类前端/后端组件
  • AggregatorStage: 聚合全栈项目,按用户设置的深度过滤结果
  • PortAllocatorStage: 智能分配端口,读取用户配置的保留端口和端口范围

技术栈

前端框架

  • Vue 3 + Composition API
  • TypeScript
  • Vite (构建工具)
  • Pinia (状态管理)
  • Vue Router (路由管理)

后端框架

  • Node.js + Express
  • TypeScript
  • SQLite (数据库) - 使用 better-sqlite3 包
  • WebSocket (实时通信)

开发工具

  • ESLint + Prettier (代码规范)
  • fast-glob (文件扫描)
  • joi (数据验证)
  • Vitest (测试框架)

支持的应用技术栈

  • Vite 应用: Vue 3 + Vite、React + Vite、Vite + TypeScript
  • Next.js 应用: App Router、Pages Router、自定义服务器
  • Angular 应用: Angular CLI 15.x、16.x、17.x
  • Create React App: 标准 CRA 应用
  • Node.js 应用: Express、Koa、Fastify 等

📦 快速部署

环境要求

  • Node.js >= 18.0.0 (推荐 v20)
  • npm >= 8.0.0

本地极速启动

您只需分别在后端与前端目录下安装依赖并启动即可:

# 1. 启动后端守卫 API (默认占用 8002)
cd detection-api && npm install && npm run dev

# 2. 启动前端可视化门户 (默认占用 3000)
cd main-portal && npm install && npm run dev

⚡ Windows 生产级一键启停

在项目根目录,我们为您备好了企业级的批处理自动化脚本:

  • Setup-Portal.bat: 首次自动化环境初始化(安全检查、防火墙策略一键放行、PM2 开机守护配置)
  • Start-Portal.bat: 一键静默启动整个生产集群 (备注:如遇 Windows 下的特权凭据报错,详见 PM2 排障手册)

🔧 核心配置

后端与前端分别使用 .env 文件独立管理环境与安全策略:

配置文件地图

  • configs/system-config.json 系统设置主文件,保存用户账号、安全策略、路径白名单等运行时系统设置。
  • detection-api/configs/portal-config.json 端口与门户配置主文件,保存端口范围、保留端口、应用启动相关的运行时配置。
  • detection-api/configs/system-config.json 系统设置兼容镜像,由后端自动同步,不建议手工维护。
  • detection-api/config/system-config.json 端口配置兼容镜像,由后端自动同步,不建议手工维护。

后端配置 (detection-api/.env)

PORT=8002
DB_PATH=./data/portal.db
# 🛡️ 生产环境必填:用于核心校验和签发的安全密钥,否则将拒绝启动
JWT_SECRET=your-secure-random-string-at-least-32-characters
# 选填安全项:CORS_MODE (lan/strict), ALLOWED_PATHS 等

前端门户配置 (main-portal/.env)

# API 服务与 WebSocket 寻址地址
# (强烈推荐开发环境与局域网均留空,系统底层将使用自适应网络探测降级策略)
VITE_API_BASE_URL=
VITE_WS_BASE=

📖 核心使用指南

该智能系统基于完全“无需指导即插即用”的设计原则,为您化繁为简:

  • 🔎 智能全栈探测 (Smart Pipeline) 在“应用检测”页面输入目标工作区后,后台的 4级检测流水线 会潜入目录深处,自动帮您挖掘出所有包裹在一起的 React、Vue 组件、甚至 NestJS 和 Angular 服务端,无惧 Monorepo 复杂结构。

  • 🧙‍♀️ 影子挂载指令注入 (Ghost Injection) 启动接管应用时,系统自动拦截原生生命周期,根据识别到的不同技术栈暗中注入类似 npm run dev -- --port xxx 或者 ng serve 参数,所有外部程序皆由本产品统一调度指挥。

  • 🏰 L7无损端口护城河 (Collision Proxy & Defense) 无需再纠结 3000 或 8080 经常互相冲突引发报错!本系统会自动计算全局 Node 和系统空闲池流转分配,且在关闭进程时依托其独有的“退避探活强杀 (Graceful Stop)”管线,将“端口占用”这种开发者的噩梦彻底抹除。

贡献指南

  1. Fork 本项目
  2. 创建特性分支 (git checkout -b feature/amazing-feature)
  3. 提交更改 (git commit -m 'Add amazing feature')
  4. 推送到分支 (git push origin feature/amazing-feature)
  5. 开启 Pull Request

代码规范

  • 使用 ESLint 和 Prettier 保持代码风格一致
  • 编写有意义的提交信息
  • 为新功能添加相应的测试用例
  • 更新相关文档

📝 更新日志

完整版本历史请查看 CHANGELOG.md。

v1.5.3 (2026-10-01) — 会话保持与端口归属判定优化

  • 🔐 会话保持
    • 刷新令牌失败区分「后端明确拒绝」与「临时故障」,网络抖动不再误登出
    • 页面刷新时过期的访问令牌自动通过刷新令牌续期,充分利用后端 7 天有效期
    • 多标签页并发刷新导致令牌轮换时自动改用最新令牌重试
  • 🌐 游客浏览
    • 游客可匿名浏览公开应用只读列表,管理操作仍需登录
  • 🎯 端口归属判定
    • 进程树查询超时或为空时降级为「无法核验」并提示原因,不再误报 PID 不匹配

v1.5.2 (2026-09-27) — 控制台窗口与日志噪声修复

  • 🪟 控制台窗口
    • 补齐 11 处子进程调用的 windowsHide,修复 Windows 上执行 PM2 诊断、端口清理或状态保存时闪出黑框的问题
    • 离线还原助手窗口保持可见(该处为面向用户的交互窗口,属于有意保留)
  • 🧾 日志噪声
    • 全栈探测日志按目录去重,周期性状态同步不再每 30 秒重复输出同一批日志
  • 🛠️ 运维脚本
    • 新增门户看门狗、隐藏启动包装与子进程窗口审计脚本

v1.5.1 (2026-08-19) — 应用启动生命周期与状态确认补丁

  • 🔄 异步启动任务
    • 启动请求立即返回任务 ID,前端轮询确认慢启动、成功和失败状态
    • 页面刷新后会读取当前应用的待处理任务并继续确认,不再丢失启动状态
  • 🧭 重复操作保护
    • 同一应用的重复启动请求复用正在执行的任务,避免并发拉起多个进程
    • PM2 启动在真实进程状态确认完成前保持“启动中”,修复短暂确认窗口内的重复点击
  • 🧾 接口与发布资料
    • 新增生命周期任务状态查询和按应用查询接口,失败结果保留结构化错误信息
    • 根项目、前后端包、系统配置、锁文件和前端内置更新记录统一到 1.5.1

v1.5.0 (2026-08-15) — 统一端口清单与运行态可靠性升级

  • 🔌 统一端口清单
    • 新增统一端口清单服务,容量统计、监听列表、归属核验和冲突信息由同一份系统快照生成
    • 区分已核验、PID 不匹配、重复配置、未托管、无法核验和保留端口,并展示真实进程与应用归属
  • 🛡️ 安全操作流程
    • 强制释放会重新核验当前 PID,拒绝释放系统保留端口、已托管应用端口和已经变化的监听进程
    • 失效分配改为管理员先预览、再确认清理,避免无提示删除端口分配记录
  • 🔄 监控与状态一致性
    • 端口页面展示数据新鲜度和实时连接状态;刷新失败保留最后成功快照,不再展示伪造容量
    • 并发刷新只允许最新请求更新界面,WebSocket 同时兼容新 payload 和旧 data 消息
  • 🚀 应用启动可靠性
    • 全栈启动等待前后端端口真正就绪,失败时清理部分启动进程,并为冷启动提供更合理的宽限期
    • 启动完成或端口冲突后重新核验运行态,避免旧离线快照覆盖已经成功启动的应用

v1.4.1 (2026-07-29) — 仓库治理与生产安全加固补丁

  • 🧹 仓库与 Diff 治理
    • 顶层 node_modules 已退出 Git 跟踪,依赖由 package manifest 与 lockfile 统一管理
    • 新增 .gitattributes 固定跨平台换行规则,避免 LF/CRLF 造成整文件差异
  • 🔐 依赖与生产安全
    • 更新兼容范围内的关键依赖与安全覆盖版本,并为生产环境启用可配置 CSP
    • 生产密钥改为写入忽略跟踪的 detection-api/.env,仓库配置只保留非敏感示例
  • 🧪 验证稳定性
    • 后端测试排除 dist,运行态同步测试不再受本机 3006/8006 监听影响
    • 前后端类型检查、183 项测试和 Vite 8 生产构建均已通过
  • 🚀 运维体验
    • 生产冷启动就绪超时调整为 60 秒,减少数据库检查和项目发现期间的误报
    • 应用总览优先展示正在运行的应用,便于快速定位当前服务

v1.4.0 (2026-05-24) — 全栈端口治理与门户图标体验更新

  • 🔌 全栈端口配对
    • 全栈应用现在会按前端/后端端口范围自动分配同偏移端口组,减少前后端端口错位和手动调整成本
    • 应用配置页恢复主端口、次要端口和协议编辑,并会同步写回应用网络配置
  • 🧹 端口释放可靠性
    • Windows 端口释放改为精确匹配监听端口并终止进程树,避免相邻端口误匹配和子进程残留
    • 停止应用后会最终校验端口是否真实释放;仍被占用时返回明确错误,便于管理员处理
  • 🎨 图标与界面整理
    • 新增统一图标选择组件,支持 Element Plus 图标、自定义文本/Emoji 和图片链接
    • 门户首页、应用卡片、详情弹窗、管理页、系统设置和侧栏调整为更克制的产品界面样式
  • 🔁 兼容与版本同步
    • 应用配置 API 统一迁移到 /app-configurations,并保留 /app-configuration 兼容旧前端
    • 同步根项目、前后端包、系统配置、锁文件、前端内置更新记录和主要发布文档版本到 1.4.0

v1.3.9 (2026-04-27) — 应用运行时间显示修复补丁

  • ⏱ 运行时间展示修复
    • 修复门户首页和应用详情中的“运行时间”长期显示为“尚未启动”的问题,运行中应用现在会展示真实存活时长
    • 前端不再把 uptime=0 的在线应用误判为未启动;刚启动或状态同步中的应用会按实际状态展示
  • 🔌 公共接口 uptime 回填
    • 公共应用接口现在会优先读取 PM2 进程 uptime,并在直启/开发模式下回退到进程管理器中的 startedAt
    • 全栈应用会从主应用和子进程记录中选择最早启动时间,避免只看到部分子进程时长
  • 🧪 回归测试补齐
    • 新增 PublicController 的运行时间映射测试,覆盖 PM2 托管应用和直接启动应用两条链路
  • 🔁 版本同步
    • 同步根项目、前后端包、系统配置、锁文件、前端内置更新记录和主要发布文档版本到 1.3.9

v1.3.8 (2026-04-27) — 目录选择回填与全栈工作区识别增强补丁

  • 📁 目录选择链路修复
    • 修复“系统设置 > 路径访问”中“选择目录并添加”在存在空白输入行时看起来没有生效的问题;现在会优先回填空白行,并避免重复路径
    • 路径访问场景的目录选择按场景放宽返回路径即时校验,避免出现“手动输入可以,目录选择反而失败”的不一致体验
    • 手动添加、检测页、备份路径与路径白名单配置统一强化服务器目录模式文案,明确当前选择的是部署服务器上的路径
  • 🧩 全栈与工作区识别增强
    • 后端应用服务、增强型全栈检测器、配置验证器与配置服务统一扩展 frontend/client/web/ui/portal、backend/server/api/services 及 apps/* 子目录候选
    • 新增对 package.json workspaces 与 pnpm-workspace.yaml 的工作区解析,支持 apps/web + apps/api 等 monorepo 全栈结构自动识别与配置
    • 全栈应用生成的前后端运行配置补充 HOST/PORT/WEB_PORT/API_PORT 等环境变量,降低工作区子项目的启动适配成本
  • 🔄 运行态同步与生命周期修复
    • PM2 状态同步在端口冲突检测之外增加本地监听探测,提升手动启动应用运行态识别的稳定性
    • 应用生命周期现在会清理陈旧运行态、自动修正缺失的全栈辅端口,并在 external-exe 目录变更后自动重映射 build_script
  • 🔁 版本同步
    • 同步根项目、前后端包、系统配置、前端内置更新记录和主要发布文档版本到 1.3.8

v1.3.7 (2026-04-24) — 备份设置同步与发布配置修正补丁

  • 💾 备份设置同步修复
    • 修复系统设置中的备份策略改动后,部分开关、下拉和数值项有时不会稳定标记为未保存变更的问题
    • 选择备份目录后会立即同步页面脏状态,避免用户误以为修改已经保存或完全未生效
  • 🧭 备份创建说明增强
    • “创建备份”弹窗新增“配置快照 / 文件归档”模式说明提示,帮助区分在线恢复和离线恢复入口
    • 修正说明浮层层级,避免被对话框或全局高层元素遮挡
  • 🔁 发布配置与版本同步
    • 修复发布默认配置误写入本机绝对备份目录的问题,默认输出路径恢复为工作区相对 ./backups
    • 同步根项目、前后端包、系统配置和主要发布文档版本到 1.3.7

v1.3.6 (2026-04-24) — 关于系统更新记录补齐补丁

  • 📝 更新记录补齐
    • 修复“关于系统 > 更新记录”没有同步纳入 1.3.4 与 1.3.5,导致界面仍显示旧版本记录的问题
    • 前端内置更新记录已补齐到 1.3.6,关于系统弹窗可以直接查看最近几个正式版本的发布内容
  • 🔁 版本同步
    • 同步根项目、前后端包、系统配置和主要发布文档版本到 1.3.6

v1.3.5 (2026-04-24) — 离线恢复安全校验与启动入口整理补丁

  • 🛟 离线恢复更安全
    • 为脚本归档备份新增离线恢复向导入口,恢复前先校验备份,再停止门户服务并执行恢复
    • 离线恢复现在改为优先按备份 ID 执行,避免同名手工备份时误恢复到错误归档
  • 🧭 启动与运维入口整理
    • Start-Portal.bat 精简为中文控制向导入口,统一收口启动、重启、停机、自启和备份恢复操作
    • 新增独立的 Backup-Portal.bat 与 Restore-Portal.bat,方便本机直接进入常用运维流程
  • 🔒 发布前安全修复
    • 离线恢复在真正写入前会确认 PM2 进程、监听端口和健康检查都已停稳,避免服务未停干净时继续覆盖在线数据
    • 同步根项目、前后端包、系统配置和主要发布文档版本到 1.3.5

v1.3.4 (2026-04-19) — 认证失效跳转与健康检查稳定性修复补丁

  • 🔐 认证失效跳转统一
    • 统一 401、refresh 失败和全局 auth:token-invalid 事件的前端处理,认证失效后优先清理本地状态并立即回到 /portal
    • 修复 refreshAccessToken() 返回 false 时路由守卫仍可能继续放行的问题
  • 🩺 健康检查稳定性修复
    • 为进程失败计数增加统一清理入口,正常停止、启动回滚、退出清理和自动重启后都会同步清空历史失败次数
    • 避免新进程继承旧计数后,只失败一次就被误判为“连续失败两次”而被清理
  • 🧪 验证与发布配套
    • 补充认证失效和进程健康检查回归测试,并增加本地无头浏览器实测脚本
    • 同步根项目、前后端包、系统配置和主要发布文档版本到 1.3.4

v1.3.3 (2026-04-07) — 目录选择兼容性与批量导入体验优化补丁

  • 🗂 目录选择兼容性增强
    • 新增网页式服务器目录浏览器,在局域网远程访问时可替代后端原生目录选择
    • 手动添加、批量导入、备份路径和路径白名单配置统一接入新的最佳努力目录选择链路
  • 🧭 批量导入入口收口
    • 检测页明确调整为低频批量导入工具,首页、空状态和 404 推荐入口统一优先引导到“应用管理 > 添加应用”
    • 批量发现流程精简为核心路径和扫描深度配置,减少把单应用接入误走成批量导入的情况
  • 🚦 端口冲突与认证修复
    • 应用管理页在启动遇到端口冲突时,会给出可跳转到端口管理的提示,并自动聚焦冲突端口
    • 修复 base64url 编码 JWT 无法恢复登录态、记住我用户名回填不稳定,以及 /api/v1 等版本化前缀被误改成 /api 的问题

v1.3.2 (2026-03-31) — 启动校验与运维诊断增强补丁

  • 🚀 校验式启动链路
    • start-production.ps1 现在要求 PM2 在线、监听 PID 匹配且 /health 连续通过后才视为启动成功
    • 启动失败时会自动输出端口归属、最后健康状态和最近日志片段,便于在内网环境快速定位问题
  • 🛠 控制入口与日志可见性增强
    • Start-Portal.bat 新增防火墙与 PM2 开机自启状态检测,重启和构建后重启统一走校验式启动入口
    • detection-api 在 PM2 场景下会把启动期日志同步到 stdout/stderr,避免 PM2 日志窗口为空
  • 📋 发布与回归配套
    • 新增内网环境回归测试方案文档,覆盖离线拷贝部署、端口冲突、PM2 权限异常和重启恢复场景
    • 同步根项目、前后端包、系统配置、脚本模板和主要发布文档到 1.3.2

v1.3.1 (2026-03-30) — UTF-8 BOM 配置兼容性修复补丁

  • 🧩 system-config 解析链路统一
    • 后端新增统一的 BOM 安全配置读取工具,认证、系统设置、文件系统白名单和路径安全模块改为复用同一解析入口
    • 避免 system-config.json 被 Windows 编辑器保存为 UTF-8 BOM 后出现 JSON.parse 失败或配置读取不完整
  • 💾 自动备份调度兼容性修复
    • 自动备份调度器现在可以稳定读取带 BOM 的系统配置,不再因为首字符异常导致计划未启动
    • 补充对应回归测试,覆盖 BOM 文件下的备份时间、保留天数和输出路径读取
  • 🔢 发布资料与版本对齐
    • 同步根项目、前后端包、系统配置、启动脚本、前端内置更新记录和主要发布文档到 1.3.1

v1.3.0 (2026-03-27) — 备份中心与运维控制台增强

  • 💾 系统备份与恢复中心上线
    • 系统设置新增统一的备份中心,可在同一页面管理配置快照、文件归档、恢复前备份和历史记录清理
    • 自动备份策略改为直接绑定系统设置,支持周期、时间、保留天数、日志/用户数据和输出路径联动
  • 🧭 运维页面继续统一
    • 系统设置、应用管理、PM2 管理和端口管理进一步统一为状态页头 + 快照指标布局,降低多页面切换的理解成本
    • 应用配置保存时会同步更新应用主记录,external-exe 目录和运行目标切换更可靠
  • 🩹 发布前稳定性修正
    • 修复旧配置缺少 backup 段时,保存系统设置可能误关自动备份的问题
    • 修复配置快照文件已丢失时,备份列表仍被误标记为可恢复的问题

v1.2.2 (2026-03-26) — PM2 进程识别与停止修复补丁

  • 🎯 PM2 识别与停止链路修复
    • 新增按应用 ID 停止 PM2 进程的接口,管理页停止动作不再依赖应用名与 PM2 进程名完全一致
    • 前端与后端统一改为结合进程名称和工作目录匹配 PM2 进程,Teaching-inspection-system 这类名称不一致场景也能正确命中
  • 🧯 误匹配风险收敛
    • 收紧目录匹配规则,只接受应用目录及其子目录,避免 D:\My Programs 这类共享父目录误判为具体应用
    • 补充回归测试,防止无关 PM2 进程被误同步为运行态或误停止
  • 🪟 原生进程停止稳定性增强
    • Windows 下优先终止完整子进程树,失败时再回退到信号式停止,提升端口释放和异常退出处理稳定性
  • 🔢 版本与发布资料同步
    • 前后端包版本、系统配置、脚本模板和主要发布文档统一提升到 1.2.2

v1.2.1 (2026-03-25) — 门户交互与卡片一致性修复补丁

  • 🛠️ 门户交互修复
    • 修复首页用户资料弹窗在特殊布局下可能跑到页面下方的问题
    • 离线应用卡片保留“查看详情”主操作,并将次级操作改为直接可点的“刷新”
  • 🧭 卡片一致性优化
    • 为离线卡片刷新增加请求中禁点与 2 秒冷却,减少重复点击
    • 修复 video-cms 等单行标题卡片与同排卡片在标题高度和底部操作区上的错位
  • 🔢 版本资料同步
    • 前后端包版本、系统配置、脚本模板和主要发布文档统一提升到 1.2.1

v1.2.0 (2026-03-24) — 控制中心界面焕新与运维体验升级

  • 🖥️ 控制中心式界面升级
    • 门户首页、应用管理、PM2 管理、端口管理、系统设置统一升级为 Hero + Metrics + Content 的信息架构
    • 强化快捷操作、筛选摘要、实时状态和空状态引导,核心信息更集中
  • 📋 应用与运维信息表达增强
    • 应用卡片和详情弹窗新增访问端口、运行模式、访问入口、最近更新和状态摘要
    • PM2 进程列表与端口列表补充异常计数、状态说明和更清晰的操作入口
  • 🎨 视觉系统统一
    • 引入新的全局设计变量、字体、状态色、面板层级和响应式节奏
    • 前端“关于系统”中的更新记录同步到 1.2.0

v1.1.1 (2026-03-23) — 发布配套与版本对齐补丁

  • 📝 发布资料补齐
    • 新增正式 CHANGELOG.md
    • 更新 GitHub 首页 README 的当前版本、Release 链接和版本徽章
  • 🔢 版本再次统一
    • 将项目包版本、系统配置、脚本头部、前端页面展示和主要发布文档统一到 1.1.1
    • 保持 v1.1.0 发布历史不变,采用补丁版纳入发布配套更新

v1.1.0 (2026-03-23) — 门户管理与运行态修复更新

  • 🧭 运行态识别修复
    • 修复 video-cms 等应用在直启与 PM2 切换后,首页错误显示“生产(PM2)”的问题
    • 直启应用现在会明确写入 development 模式,并清理遗留 pm2ProcessName
    • 门户公共接口新增运行态兜底逻辑,避免数据库残留模式误导前端展示
  • ⚙️ 系统设置与路径访问增强
    • 补充系统设置 payload 工具与目录选择逻辑
    • 优化文件系统路径访问控制与相关配置读写行为
  • 🧪 测试与维护性提升
    • 补充 PM2 状态同步、网络服务、路径工具与系统设置相关测试
    • 统一项目、配置、脚本、前端页面和文档中的版本号到 1.1.0

v1.0.0 (2026-03-10) — 初始里程碑发布 (Initial Milestone)

  • 🖧 智能全链路端口治理架构上线

    • 极速探测引擎: 引入 PortSnapshotManager,拦截高频 netstat 查询请求并聚合成 $O(1)$ 的内存映射,将刷新扫描速度从 3-5 秒极致压缩至 100ms 内,大幅优化中大型微服务集群下的宿主机 CPU 带宽。
    • 基于 Connect 的超轻量探活: 弃用传统笨重的 Bind 和 CLI 正则匹配方案,改用纯血 Socket ECONNREFUSED 毫秒级探测,极大降低了由于端口阻塞引发的“假阳性”。
    • Graceful Termination (无损退出管线): 重构原有的系统强杀逻辑。执行端口释放时,注入了“软关闭通知 → 智能存活侦测与退避 → 2 秒内无休强杀保底”的优雅降级链路,彻底告别 EBUSY 文件句柄死锁与写库撕裂事故。
    • 降噪式拓扑 UX: 前台 PortManager.vue 引入树形应用域拓扑聚类,辅饰以仿生呼吸动效 (pulse-dot) 和核心级端口的红外警报器(禁止强杀隔离区)。
  • 🏗️ 底层检测管道架构重构

    • 全新四阶段智能检测管道:Scanner(目录发现) → Analyzer(技术栈识别) → Aggregator(聚合关联) → PortAllocator(冲突隔离排他避让)
    • 高精度全栈 monorepo 和非标准目录结构探测支持
  • 🛡️ 深层内核与容器化加固

    • Phase 3: 文件访问全栈级路径收敛 (Spawn 安全拦截)
    • 角色鉴权收紧 (RBAC 核心控制流) 与 JWT Token 黑名单联动防穿透。
  • 🚀 智能命令容器注入

    • 根据子应用技术栈智能挂载启动参数 (如 Vue、Next.js、Angular CLI)
    • 自适应无头服务器拦截,完全向后兼容,无破坏性更新
  • 📏 精确全栈架构支持

    • 自动识别 monorepo 和全栈项目结构(即使子目录结构非标准如 client/server)
    • 扫描时使用 maxDepth + 1 检测关联系统,返回时自动剔除隔离层确保应用纯净度
  • � 纵深安全体系增强

    • 全面支持 admin/operator/guest 三重角色的细粒度 RBAC 权限控制
    • 强制引入 JWT 生产安全密钥,实现 Token 签发与黑名单撤销联动
    • 文件系统级指令收敛 (使用 spawn 取代底层 exec) 以及绝对访问白名单限制

这是一个经过全链路压力沉淀与重构的完整企业级起航版。

📄 许可证

本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情

🆘 技术支持

如需技术支持或反馈问题:

  1. 查看 文档 目录下的详细文档
  2. 在 Issues 中搜索已知问题
  3. 创建新的 Issue 描述问题或建议
  4. 联系开发团队获取技术支持

智能多Web应用门户系统 v1.5.3 - 让应用管理更简单、更智能!

About

一个智能化的Web应用检测、管理和统一门户系统,能够自动识别工作区内的各种技术栈应用,并提供统一的管理界面。

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages