Skip to content

Releases: StanlySGY/ComposeOps

v1.5.1

Choose a tag to compare

@github-actions github-actions released this 07 Oct 02:06

Added

  • 拓扑中心与资产中心知识图谱升级为双模式关系图:分层架构按依赖深度排列,自由拓扑为力导向气泡,支持拖拽、缩放平移、悬停高亮上下游链路与依赖流向动画。
  • 跨域嵌入开关 EMBED_MODE:放宽 CSP 与会话 Cookie 策略用于 iframe/Cloud Run 场景,默认保持严格安全姿态。

Changed

  • 全站界面按 iOS 风格打磨:胶囊分段控制器、毛玻璃浮层材质、按压弹簧手感、连续圆角(支持的浏览器)。
  • SQLite 存储迁移到 Node 22 内置 node:sqlite,移除 better-sqlite3 原生依赖,镜像构建不再需要编译器。
  • 仓库切换为 npm workspaces,根 lockfile 统一管理依赖。

v1.5.0

Choose a tag to compare

@github-actions github-actions released this 01 Oct 14:41

Added

  • 多个 OpenAI 兼容渠道、按优先级故障切换与冷却恢复;每渠道独立保存,管理员可按需查看已保存密钥。
  • 工具调用测试区分基础工具能力与流式兼容性,支持关闭流式工具调用以适配部分上游。
  • GitHub Pages 离线交互预览:服务、日志、审批修复与备份演练;示例数据不连接 Docker 或 AI。
  • SQLite 在线备份与完整性校验 CLI,包含 WAL 数据,拒绝覆盖已有备份;补充停止服务后的恢复操作说明。
  • 发布质量门:单测、lint、构建、桌面/移动浏览器测试,以及隔离镜像首次安装、1.4.0 升级与备份恢复验收。

Changed

  • 入门指南支持重新打开,区分已发现与已纳管项目,明确 AI 可选;导航分组可折叠并记住偏好。
  • 镜像成功发布后再创建 GitHub Release;提供固定版本的纯镜像安装清单。
  • 收敛文档中的竞品比较、无中断升级与备份保证,明确实际验证边界。
  • 更新存在公开漏洞的传递依赖。

v1.4.0

Choose a tag to compare

@github-actions github-actions released this 30 Sep 02:41

Added

  • Agent 输出侧护栏: LLM 生成的命令进入容器执行前做灾难模式静态拦截(rm -rf /、mkfs、fork 炸弹、curl|sh 等);AI 端点挂进程内限流(execute-stream/approve/logs/diagnose 宽配额固定窗口),防失控循环刷爆上游
  • 联网检索多后端: 内置 GitHub+DuckDuckGo 之外支持 Tavily / Brave / 自托管 SearXNG,失败自动回退内置;设置页新增检索配置区
  • 运行环境快照注入: 引擎系统提示注入活跃主机与纳管项目状态(10s 缓存,只读事实),模型开局即知现状,不必每轮先 list
  • 告警规则库统一: alert.configure 与 /metrics/alerts 曾写独立存储而评估引擎只读另一份,规则永不生效;收敛到单一模块,指标口径对齐,旧 restart 动作归一化 auto_restart
  • Agent 工具扩容: 新增 volume.backup/restore/verify/list_backups(restore 为 critical 永远走确认门)与 event.list/update/diagnose(可读事件流、触发守护诊断、事件中心一键生成修复计划)
  • 长会话自动压缩: 活跃区超阈值(默认 60 轮消息)自动压缩并向前端发提示,也可在工作台手动压缩;token 用量跨轮累计并带轮数
  • Agent 可观测性: 执行历史页展示 30 天 token 用量/模型用量分布/每轮工具轨迹,新增用量与反馈接口、受限 SKILL.md 加载器与离线工具轨迹评测
  • 关于页: 带版本号、作者与项目仓库链接
  • MCP 端点限流: /mcp 120/min、SSE 建立 10/min,置于鉴权前防 token 穷举

Changed

  • 链路稳定性专项: 日志流分片与行解码、Web 终端连接、多节点切换竞态、仪表盘/监控页自动刷新、命令面板搜索、工作流响应性与请求缓存整体重构,补一轮流/生命周期回归测试
  • cron.create 枚举补齐 volume-backup/inspection,对齐调度器 7 类

Fixed

  • 卷备份在 dockerode 5 下必然失败: helper 容器日志在 follow:false 时返回 Buffer 而非流,.pipe 直接报错"备份自证"不可用;改经 collectDockerOutput 统一兼容,顺带修复超限清理的错误吞没
  • 工具参数解析失败污染会话历史: 模型吐出非法 JSON 参数时坏参数原样留在 tool_calls 历史,部分上游校验后整请求 400,Tool Loop 后续每轮都死在同一处;现在落历史前归位为 '{}' 并提示模型重试
  • release notes 提取改用字面量状态机,根治 awk 区间起止同线恒空
  • 快照缓存读写收进同步助手,消除 require-atomic-updates 告警

v1.3.1 · 拓扑图节点裁切修复

Choose a tag to compare

@github-actions github-actions released this 28 Sep 06:47

ComposeOps v1.3.1

Fixed

  • 拓扑页节点被裁切: 依赖关系图的层内节点以固定 y=60 为中心展开,同层节点较多时
    顶部节点纵坐标变负,整体被 SVG viewBox 上沿裁掉——用户看到"节点被面板盖住",
    7 个服务只显示 5 个。现在每层以画布垂直中点居中展开,画布高度按层内最多节点数
    实算(计入节点自身高度与上下边距),任何层数的首尾节点都完整可见
  • 布局计算抽为纯函数 lib/topology-layout.js 并补 7 例单测(含用户实测的
    1 依赖 4 共 7 节点场景、12 节点单层、环依赖、单节点不放大画布)

v1.3.0 · 守护模式/部署预言/MCP 双时代协议/依赖全面升级

Choose a tag to compare

@github-actions github-actions released this 28 Sep 04:41

ComposeOps v1.3.0

Added

  • 守护模式(半自动自愈): 告警入库后自动触发 AI 诊断(读容器状态/日志 → 根因假设 + 风险标注的处置建议),结果落事件中心;事件级 10 分钟冷却,AI 侧只读 fail-closed
  • 部署预言: up 之前对照宿主实况推演——新建/重建/不动/孤儿容器、需拉取镜像、端口冲突、卷与 bind 路径就绪度 + AI 三句话解读
  • 备份自证(还原演练): 卷备份 tar 全量完整性校验 + 解进一次性临时卷统计文件数,备份可信度随记录持久化,全程不碰原卷
  • 舰队视图: 节点组页新增多宿主聚合总览卡、全节点并行探测与真实批量动作(巡检/全局镜像检查)
  • 通知渠道补齐: 钉钉、飞书 webhook(与 bark/telegram/企业微信/email/通用 webhook 同一多渠道架构)
  • MCP Server(三传输): 把 50 个 Agent 工具暴露给外部 MCP 客户端——Streamable HTTP(POST /mcp)、经典 SSE(/mcp/sse)、stdio 桥(mcp/stdio-bridge.mjs);独立 token 鉴权,默认只读白名单,critical 工具任何模式不暴露
  • MCP 双时代协议(2026-07-28): modern 按每请求 _meta 协商版本、实现强制的 server/discover、不支持的版本回 -32022、头↔体一致性校验(-32020)、工具注解(readOnlyHint/destructiveHint)与 structuredContent;legacy initialize 握手 2024-11-05 → 2025-11-25 全线支持
  • MCP 确认门与防泄漏: 高危工具必须显式 confirm: true 才执行;工具结果先值级脱敏再截断(24K 保留首尾);旧式客户端的下划线工具名别名兼容
  • PWA 手机远控: manifest(standalone + 桌面快捷方式)、PWA 192/512/maskable 图标、iOS meta;手机"添加到主屏幕"即全屏 App 化
  • 审批模式接入工作台: 逐次确认 / 放行非高危 / 仅极高危确认三档模式此前是后端孤岛,现工作台页头可直接切换并以 approval_mode 事件同步
  • 镜像手动发布工作流: Actions 手动触发产出 edge + sha-<7位> 标签,不动 latest(版本可追)

Changed

  • 依赖全量升级到当代版本: 后端 fastify 4→5、@fastify/static 7→10、@fastify/websocket 10→11、better-sqlite3 11→13、dockerode 4→5、nodemailer 7→10、tar-stream 2→3;前端 vite 5→7、vitest 3→5、pinia 2→4、vue-router 4→5、@xterm/xterm 5→6、lucide-vue-next 0.468→1.0
  • Tailwind CSS 3→4: 配置迁入 CSS-first @theme(surface 色阶/状态光晕/字体保留),scoped style 的 @apply 上下文补 @reference
  • CI actions 升级(checkout@v5 / setup-node@v5 / build-push-action@v7 / setup-qemu@v4 / action-gh-release@v3),消除 Node 20 弃用警告
  • monaco-editor 刻意保持在 0.52(0.57 改了 exports 结构,编辑器为核心编辑面,待专项验证后单独升级)

Fixed

  • 平滑升级回滚失效: rollbackProject 引用列表查询中不存在的 content 列,写入 undefined 被空 catch 吞掉,回滚恒 409;改经 getComposeBackup 取正文
  • 审批门"本会话不再询问"可越过 critical: 记忆授权集合命中即放行,现在 critical 风险先于授权集合判定,任何模式都强制确认;匿名流使用独立 gateKey 防授权泄漏
  • 设置导出泄露 SSH 私钥/密码: docker.hosts 整键排除出导出文件(脱敏导出再导入反而会用无凭据条目覆盖真实凭据)
  • 非数字会话 id 撞库: 路由允许字符串 sessionId,Number('abc') 为 NaN 被 better-sqlite3 绑成 NULL,抛 NOT NULL constraint failed: agent_plans.session_id;现在统一归一到匿名会话 0
  • 达到 20 轮上限前端无感知: max_loops_reached 事件此前被公共事件层丢弃,前端只见流关闭;现在明确提示并可"继续"接续
  • 数据库迁移扩展至 v15(备份演练字段 / 告警 AI 诊断)

v1.2.2

Choose a tag to compare

@github-actions github-actions released this 18 Sep 08:08

Release v1.2.2

  • fix(release): Docker Hub 镜像名更正为 stanly1997/opsdash

v1.2.1

Choose a tag to compare

@github-actions github-actions released this 18 Sep 07:35

Release v1.2.1

  • fix(static): SPA fallback 的 reply.sendFile 永远抛 TypeError + 补 favicon

v1.2.0

Choose a tag to compare

@github-actions github-actions released this 18 Sep 06:50

Release v1.2.0