Repository navigation
Releases: CZF39631/AutoScript_Hub
Release list
v1.2.5
v1.2.5:脚本浏览器选择与市场删除
本版本提供脚本参数浏览器选择、管理员市场删除及本机端口独占修复。发布状态以官方 Release 为准;不移动或替换已公开的 v1.2.4 Tag 与资产。
变更范围
脚本参数选择浏览器
- 在脚本参数表单查询当前本机客户端检测到的已安装浏览器,选择后向脚本传入可执行文件路径;不修改系统默认配置。
- 使用向后兼容的静态参数定义:
type: "text"配合widget: "browser"。不在config()中运行检测逻辑,也不新增旧客户端不能解析的参数类型。 - 默认空值由脚本回退到平台默认配置;保留手动输入、历史参数及预设,支持检测失败重试与离线提示。
- 旧客户端忽略展示元数据,继续显示文本输入并解析脚本依赖;只有新客户端具备动态选择界面。
- 浏览器检测只说明存在安装,不保证可启动或兼容脚本。脚本需要适配参数定义,客户端升级不会擅自改写市场脚本。
管理员删除市场脚本
- 在脚本管理页提供独立于个人卸载的市场删除操作;仅管理员可用,要求输入脚本名称确认。
- 服务端软删除,保留历史运行、工单、脚本版本和相关文件,不进行物理清理。
- 有等待中或执行中的任务时拒绝删除;不自动取消或终止任务。
- 删除与新建在线执行需串行化,避免删除检查后又插入新的等待任务。
- 删除后市场和管理列表不可见,不允许新的安装、下载或在线执行。
- 已下载文件不远程擦除,离线客户端的授权变化仍遵循既有同步与快照有效期机制;不声称离线立即撤权。
参数表单与删除交互
- 参数标签与控件左右对齐,说明收进问号,支持悬停与键盘聚焦查看。
- 浏览器手动输入入口与选择框同行,不再常驻显示冗长路径和说明。
- 浏览器列表固定向下展开,按可用空间限制高度并支持内部滚动,避免检测结果加载后反复翻到上方。
- 删除确认框中的脚本名可以选中复制,不额外增加提示或按钮。
- 后续纯 UI 调整优先更新前端资源,不要求重新安装客户端;本次客户端更新包含独占监听等原生功能修复。
本机端口独占修复
- review.1 冻结验收发现 Windows 允许旧 HTTPServer 的
SO_REUSEADDR造成多个 Agent 同时监听一个端口;仅确认某个 PID 拥有监听不足以确认请求归属。 - Agent 与桌面 UI 改用独占监听,Windows 设置
SO_EXCLUSIVEADDRUSE,禁止地址与端口复用。占用时保留既有备用端口行为,不抢占其他进程。 - 使用临时随机端口验证新/旧服务互相不能共用监听;针对性回归 17 项通过。修复后以 review.2 重新完整构建及验收,不替换 review.1 证据。
不包含
- 不合并此前误做的系统设置浏览器选择分支。
- 不引入 1.3.0 Preview 的调度、机器人或本机闹钟功能。
- 不自动删除任何真实市场脚本,不迁移或覆盖 Preview 安装与数据。
发布门槛
- 契约、独立 Skill、旧客户端回退及权限/生命周期针对性测试:47 项契约/Skill 测试、54 项后端测试通过;另以 1.2.4 原契约验证文本回退与依赖解析。
- 隔离源代码快照中的完整 Python 测试:review.2 为 460 项通过;主工作区未运行 pytest。
- 前端 35 项测试、lint、构建通过;隔离浏览器验证参数选择/清空传参、不写全局设置、精确名称确认、409 保护、成功刷新和开发者无删除入口。1440/800 像素截图验收通过,无页面脚本错误。
- 从
fefe695e45914cab8bf42e6fb7819f3381a53044构建 review.2,283 个源码文件构建前后哈希一致。冻结 Agent 独占备用端口、鉴权、浏览器参数元数据、真实参数回显执行及私有 Python 3.11.9 均通过,排空退出码 0;本次验收进程无残留。未运行安装器或覆盖正式安装。
review.2 安装包为 32,803,091 字节,SHA-256:bcb67104d6bc1a4e6c80d49d41652a211dbbe5cb7af48c64ea298c0bfa20921c。首次下载超时和长路径失败证据已保留;最终使用校验缓存及短隔离目录,通过原版微软签名检查与完整构建门禁。桌面端后续交互修复另经 800/1440 宽度隔离验收;下拉菜单在异步检测前后及多次展开时均保持向下,参数传值与删除保护未回退。
- 合并发布提交并通过主分支 CI,发布不可变 v1.2.5 Tag。
- 校验 GitHub/Gitee 资产、签名清单、SHA-256、匿名下载及双架构镜像。
- 服务端如需升级,使用既有升级流程完成备份及健康验证;不猜测连接配置。
v1.2.4
AutoScript Hub 1.2.4
本版本基于用户已验收的 1.2.4-review.2,发布为 Stable 正式版。
执行与环境
- 在线任务使用创建时锁定的脚本版本,避免排队期间发布新版导致记录与实际执行不一致。
- 离线历史取得后端 ID 后立即保存,领取、日志或状态回写中断时复用同一记录;日志失败仍尝试回写终态,避免长期占用执行名额。
- 本地和在线执行共用启动互斥;每个子进程使用独立参数文件,启动失败时清理临时文件。
- 修复自定义环境变量的反序列化顺序,恢复环境创建、更新、列表、详情与默认环境接口。
工单与更新恢复
- 异常历史参数显示提示和原始文本,不再造成页面白屏。
- 快速切换或关闭工单时忽略旧日志响应,防止显示另一张工单的日志。
- 工单长文本、路径及解决说明在弹窗内换行,标签保持可读。
- 更新器验证启动阶段保留进程归属;异常退出后解除陈旧状态锁定,不干扰仍在运行的更新器。
安装与连接兼容
- 覆盖安装检测目标目录的旧客户端和 Agent,并明确询问是否关闭,默认选择“否”。
- 先停止客户端守护,再停止 Agent 及其脚本子进程;确认退出后才替换文件,失败时阻止继续复制。
- 不再按进程名全局结束 Agent;静默安装遇到旧进程时需要显式允许关闭应用。
- UI 和 Agent 默认端口冲突时使用备用端口,前端支持发现 Agent。
- Agent 意外退出后客户端尝试重启并恢复连接。
- 托管 Python 环境默认使用清华 PyPI 镜像。
升级说明
- 本轮含客户端和服务端修改;环境接口修复需要服务端升级到
1.2.4。 - 安装前保存工作并停止业务任务;同意关闭应用会中断 Agent 下的脚本子进程。
- 继续采用签名更新清单、文件长度及 SHA-256 校验。GitHub 是安装包真源,Gitee 镜像代码、部署包、Skill、签名清单及校验资产。
- 不包含后续规划中的诊断包、统一脱敏、定时调度、编辑器、AI 或沙箱。
验收依据
- Review 2 用户验收已确认。
- 预览构建通过 Python 412 项与前端 26 项测试,安装器共享关闭代码实际编译及只读进程识别通过。
- 本机隔离覆盖测试曾因临时合成 EXE 启动被拒绝而受阻;用户验收不等同于该自动化测试通过。正式发布仍由 CI 重跑测试、安装冒烟及双架构镜像验证。
v1.2.3
AutoScript Hub 1.2.3
客户端更新
- 版本检查优先访问当前服务器缓存并回退 Gitee,不访问 GitHub API。
- GitHub 完整安装包保留为已签名清单中的公开下载兜底。
- 点击下载安装后由 Agent 后台执行下载、续传、校验和合并,本地服务在下载期间保持响应。
- 修复检查完成且暂无更新时,页面刷新后重新显示“尚未检查”的问题。
- 支持
review本地版本参与更新比较,可在正式发布前完整验证更新链路。 - 下载验证完成后继续由独立
AutoScriptUpdater.exe静默安装、重启和回滚。
服务器更新缓存
- 服务端可在启动后立即、随后按默认每 6 小时检查 GitHub Release。
- 分别验签和缓存 Stable/Beta Windows 安装包,完整校验大小与 SHA-256 后原子发布。
- 管理员 API 可启停缓存并配置服务器出站代理、GitHub 仓库和检查周期。
- 客户端优先从所连接服务器下载缓存安装包,缓存缺失或旧服务器不支持时自动回退公开源。
- 新版本停止生成 Gitee 安装包分卷;Gitee 只镜像签名清单,完整安装包由 GitHub 托管。
界面与构建
- 应用 Air Hub 图标,统一网页 Favicon、登录页、侧边栏、Windows 程序、更新器、安装器和快捷方式。
- 修复完整构建测试可能向开发电脑发送模拟脚本失败通知的问题。
服务端配置
服务端自动缓存默认关闭。升级后管理员可调用 PUT /api/settings/server-update 启用;具体请求格式见 docs/0.9-deployment-runbook.md。
v1.2.3-beta.2
AutoScript Hub 1.2.3-beta.2
这是供 Beta 更新通道验证的预发布版本,不会推送给 Stable 通道。
修复
- 更新检查完成且暂无可用更新时,持久化检查到的最新版本;页面刷新或状态轮询后不再错误显示“尚未检查”。
- 支持
1.2.2-review.1、1.2.3-beta.2-review.1等仅用于本地预览的 Review 版本参与更新比较,无需创建线上 Tag 或 Release。 - 客户端测试统一屏蔽真实桌面通知,并使用带有效 PID 的模拟进程,避免本地构建期间弹出模拟脚本失败通知。
继承自 Beta.1
- 版本检查仅访问 Gitee Release,GitHub 完整安装包仅作为下载兜底。
- Agent 后台异步下载、续传、校验和合并更新包,本地服务在下载期间保持响应。
- 下载完成后由独立
AutoScriptUpdater.exe静默安装、重启和回滚。
验证重点
- 从
1.2.3-beta.1检查并升级到1.2.3-beta.2。 - 升级期间客户端保持在线,页面持续刷新下载状态。
- 在 Stable 通道检查后显示最新 Stable 版本和“当前已是最新版本”,刷新页面后状态不丢失。
- 操作审计页面正常加载。
v1.2.3-beta.1
AutoScript Hub 1.2.3-beta.1
这是供 Beta 更新通道验证的预览版本,不会推送给 Stable 通道。
更新流程改进
- 版本检查仅访问 Gitee Release,避免 GitHub API 在国内网络不可达时拖慢检查或产生误导错误。
- GitHub 完整安装包仍作为下载阶段的最终兜底,但不参与版本检查。
- 点击“下载并安装”后,Agent 在独立后台线程中执行下载、续传、校验和分卷合并,本地接口立即返回。
- Agent 本地服务支持并发请求,更新下载期间继续响应连接状态及其他本地接口。
- 设置页面每秒刷新下载状态,不再把繁忙的 Agent 误判为非 Windows 客户端。
- 下载完成后仍由独立
AutoScriptUpdater.exe执行静默安装、自动重启和启动失败回滚。
验证重点
- 检查更新是否能在数秒内完成。
- 点击下载安装后页面是否持续显示“正在后台下载并验证更新”。
- 下载期间客户端其他页面是否仍可正常使用。
- 下载完成后客户端是否自动静默安装并重启。
- 重启后已安装版本是否显示为
1.2.3-beta.1。
只有预览验证通过并获得明确确认后,才会发布后续正式版本。
v1.2.2
AutoScript Hub 1.2.2
本版本重点解决客户端冷更新可靠性,并修复操作审计列表为空的问题。
客户端更新
- 检查更新与下载安装彻底分离,仅在用户确认后下载大文件。
- 持久化保存已验证的签名清单,刷新或重启客户端后无需重复检查同一版本。
- 更新源暂时不可用时保留已发现版本,后台检查仍可替换为更高版本。
- 检查更新不再沿用本地 API 的 10 秒超时。
- Gitee 提供 2 MiB 安装包分卷,客户端支持流式下载、有限重试、安全断点续传和逐卷 SHA-256 校验。
- 分卷合并后再次校验完整安装包长度及 SHA-256,失败时自动回退 GitHub 完整安装包。
- 发布流程会在公开后匿名下载所有 Gitee 分卷,重建并校验完整安装包。
- 安装继续采用独立更新器静默执行,并保留启动失败自动回滚。
操作审计
- 修复审计接口响应模型错误导致数据库存在记录但接口返回 500、页面显示为空的问题。
- 审计日志加载失败时会显示明确错误提示。
其他修复
- 修复 Windows 维护电脑发起远程服务器升级时的 Shell 换行与标准输入兼容问题。
后续计划
热更新架构已记录至 docs/TODO.md,本版本不引入热更新,优先保证冷更新链路稳定。
v1.2.1-beta.2
AutoScript Hub 1.2.1-beta.2
这是供 Beta 更新通道使用的预览版本。
修复与改进
- 发现新版本后持久化保存已验证的签名更新清单,刷新页面或重启客户端后无需重复检查即可继续下载安装。
- 更新源暂时超时或不可用时,不再清除已经发现的新版本。
- 一个更新源失败但备用源检查成功时,不再显示误导性的 SSL 或网络错误。
- 后台周期检查仍会发现并替换为更高版本。
- 修复客户端检查更新沿用本地 API 10 秒超时,网络较慢时误报
timeout of 10000ms exceeded的问题。 - 包含 Windows 维护电脑发起远程服务器升级时的兼容修复。
更新方式
在客户端系统设置中将更新通道切换为 Beta(测试版及稳定版),保存并等待客户端同步设置后,再点击“检查更新”。
本预览版不会推送给 Stable 更新通道。
v1.2.1-beta.1
AutoScript Hub 1.2.1-beta.1
这是供 Beta 更新通道使用的预览版本。
修复内容
- 修复客户端检查更新沿用本地 API 10 秒超时,网络较慢时误报
timeout of 10000ms exceeded的问题。 - 下载安装不再受前端请求超时限制,仍由 Agent 的网络超时、签名验证、文件长度和 SHA-256 校验保障安全。
- 包含 Windows 维护电脑发起远程服务器升级时的 Shell 换行与标准输入兼容修复。
更新方式
在客户端系统设置中将更新通道切换为 Beta(测试版及稳定版),保存并等待客户端同步设置后,再点击“检查更新”。
本预览版不会推送给 Stable 更新通道。
v1.2.0
AutoScript Hub 1.2.0
本版本重点完善团队权限隔离、执行结果提醒和客户端更新体验。
主要更新
- 增加人员分组,用户和脚本均可归属多个分组。
- 脚本市场、详情、下载、安装、执行、历史、日志、工单和 Dashboard 均由服务端强制实施分组权限。
- 升级时自动建立默认分组,保持已有用户和脚本的可见性。
- 增加脚本执行成功、失败、取消以及执行前失败的 Windows 桌面通知。
- 增加内置更新说明页面和重要更新首次运行提醒,可在本机默认隐藏。
- 客户端默认优先从 Gitee 获取签名更新清单,失败时自动回退 GitHub;安装包继续验证 Ed25519 签名、文件长度和 SHA-256。
- 修复用户管理表格分组文字纵向换行、操作列拥挤,以及旧服务器下基础用户编辑被整体禁用的问题。
服务端升级
本版本包含数据库迁移 0004_grouped_marketplace。请先备份数据,再升级服务端;就绪检查中的 database、data_dir 和 migration 必须全部为 ok。
推荐使用仓库内置的一键远程升级流程:
python ops/server/remote_upgrade.py --version 1.2.0详细说明见 docs/0.9-deployment-runbook.md。
v1.1.0
更新内容
- 增加可配置的外部认证支持,可通过
http_form或http_json对接现有认证系统;默认关闭,不影响原有登录方式。 - Windows 客户端增加“记住账号密码”,密码使用当前 Windows 用户的 DPAPI 加密保存,不再写入明文配置。
- 完善用户管理:支持用户名/显示名搜索、修改显示名、调整权限等级、启用或禁用用户,以及软删除用户。
- 增加自删、自禁用、自降权和最后一个有效管理员保护。
- 外部认证用户首次登录后由本地管理员管理权限,后续登录不会覆盖本地角色。
- 修复预发布版本的更新渠道识别。
发布资产
AutoScript-Hub-Setup-1.1.0.exe:Windows 安装程序autoscript-hub-server-deploy-1.1.0.zip:服务端部署包autoscript-script-authoring-1.1.0.zip:脚本开发包SHA256SUMS.txt:发布资产校验值
服务端镜像:ghcr.io/czf39631/autoscript-hub-server:1.1.0