Skip to content

🚀 OneBots v1.2.13

Choose a tag to compare

@github-actions github-actions released this 21 Sep 07:42
· 34 commits to master since this release
a7e94ed

1.2.13

Patch Changes

  • a366a8e: 增加 onebots update --manager 公开入口,以不可变候选、发布摘要、操作 ID 和当前管理程序摘要 CAS 安全升级 Linux/macOS 常驻管理程序;结果未知时只查询原操作或进入恢复对账,不重派安装及系统服务动作。

  • dbd49da: 管理程序升级支持显式选择本地产品运行工件清单。清单只能引用同目录归档,宿主与 core 归档在候选安装和系统服务切换前均核验精确版本、结构及 SHA-256 摘要;依赖安装是否需要网络由工件内容决定。新候选启动失败时可通过原操作 ID 显式回退升级,恢复旧管理程序、系统启用状态和网关运行意图;每个外部效果均先记录阶段,重复恢复只读核验已完成结果。

  • 4763996: 为 onebots migrate --system 增加 Windows 两阶段迁移:持久化受保护的重启收据,以显式 --restart 完成完整重启,重启后核验旧服务停机再安装管理服务;recover --rollback-migration 可在最终提交前恢复旧 SCM 启动类型与运行意图。

  • e17cb29: 更新服务架构、Windows 原生托管与容器部署文档,使其与统一管理服务、CLI/TUI/Web 入口和当前验证状态一致。

  • e734ce9: CLI 安装自动复用当前周期,已确认卸载后自动选择稳定的新周期,保留历史并拒绝不完整或有歧义的生命周期记录。

  • 72b41d3: 为服务迁移日志增加严格的 v2 契约,封闭目标写入检查点、回退来源和旧服务重载、启动收据格式;兼容读取 v1,并在目标写入前切换到 v2 事务记录。

  • 39a61cf: 运行工件同时提供当前 Web 包,安装计划冻结其版本与摘要并校验宿主原始依赖,修复未发布版本在本地及 CI 安装时尝试从 npm 下载 Web 的问题。

  • b9725f7: 移除旧可变目录安装入口,增加已完成安装效果的只读恢复对账,保留原操作及候选绑定且不重派系统动作。

  • ff8edaa: 新增 recover --operation 本机对账入口,仅确认已达到目标的停止或卸载操作,不重放未知系统动作,保留未确认的操作记录。

  • 36e1b3e: 统一宿主并发启停任务,并在停止时取消生命周期、HTTP 监听和适配器启动队列,避免迟到的启动结果重新打开端口或继续启动账号。

  • b4c7fd2: 新增迁移早期失败的显式取消入口:onebots recover --operation <id> --cancel-migration。仅在尚未停服且旧服务基线未变时结束原操作,保留配置、备份和运行工件,不重放系统动作。修复 pnpm 注入 NODE_PATH 导致旧依赖发现混入管理工具依赖的问题。

  • e88603c: 将持久安装失败区分为下载失败与候选验证失败,并在管理程序升级拒绝中返回固定阶段码,便于安全排查而不暴露依赖或路径详情。

  • 3a280a2: 将 doctor 入口迁移到常驻管理服务的只读诊断,支持通过 --data-dir 诊断前台和 Docker 工作区;不再通过旧 --fix 旁路改写配置、权限或服务。诊断报告明确列出尚未验证的项目,不以管理端可达代替完整验收。

  • ced4d13: 为已停止但尚未写入目标的服务迁移提供显式冷回退,核验保留运行时、文件、停机与禁用状态后恢复旧服务;同时修复 macOS 原生依赖检查的受限临时目录环境。

  • 962dc1c: 接通 Windows 管理员 system 服务的安装、启停、重启、目标状态恢复核验和卸载事务,使用受保护状态与服务文件 ACL、SCM、原生宿主管道与 Job Object 验证 manager/gateway 生命周期;远程 CLI 通过标准输入接收设备凭证。

  • e25d352: 适配 pnpm 10 的可信用户级 GitHub Packages 认证配置,恢复源码构建、CI 与发布流程中的 ICQQ 私有依赖安装,并让空白 Docker 镜像无需私有包 token 即可构建启动。

  • d5e9665: 管理端支持追加浏览器设备、查看会话及逐设备撤销,CLI/TUI/Web 共用控制接口。新增设备不撤销旧设备,恢复授权撤销全部旧会话,并清理对应 MCP 资源。每个会话保持 30 天绝对有效期,旧有效会话迁移不续期;认证存储升级为多设备格式。

  • 5d6d21c: CLI、TUI 和 Web 共用管理服务的网关日志只读接口,网关停止后仍可读取最近日志。限制读取长度与固定路径,校验私有文件身份,过滤终端控制序列;不自动读取或提供命令执行。

  • b6c04ed: 消息调试接入管理服务和共享客户端:查询与清空绑定网关实例,HTTP 实时快照流随设备会话撤销、停止和背压关闭,不重放未知清空。新控制台可查看、筛选和清空当前网关消息;自动刷新由用户开启。

  • 5f28177: 资源采样复用管理服务日志,避免为了日志加载整个网关内核;日志写入失败保持资源状态查询可用。

  • b51a188: 管理端浏览器会话增加 30 天绝对有效期,访问和重启不续期。无签发时间的旧会话需通过本机恢复码重新授权,保留配对状态和原有数据,不重新开放初始化;不改变平台及协议认证。

  • d5d5232: 管理控制客户端及控制台支持退出当前设备配对会话,持久撤销后才确认成功,区别于只清除浏览器凭据;退出后通过受保护的恢复入口重新配对。

  • 4e53609: 增加绑定运行版本与配置快照的持久升级计划,复用安装验证和激活事务;升级后的普通扩展安装沿用活动宿主及核心版本,拒绝回退旧目录。统一客户端提供升级计划接口。

  • a2d87f6: 首页增加运行环境、设备、系统内存、管理进程占用和工作区磁盘容量展示。资源信息复用受保护的状态接口,磁盘后台采样与失败降级不阻塞管理操作。

  • f55f927: 无终端部署可通过私有 ONEBOTS_RECOVERY_CODE Secret 显式申请一次性恢复授权,保留原会话直到成功兑换,限制历史重放、过期续期及秘密继承。

  • 81b4b3b: 旧服务工件捕获支持发现标准 npm/pnpm 依赖目录,并持久绑定多目录回退契约,保留原配置和账号数据。

  • 682c5f6: 为管理程序升级候选的活动版本、工件输入、持久化仓库、操作绑定、收据和入口校验提供互不混淆的安全失败码。

  • a4c66da: Docker 扩展安装拆分为临时凭据下载、无凭据离线验证及可回滚版本切换;工作台识别容器部署并禁止在线修改依赖,补充私有包安装与 BuildKit secret 部署文档。

  • 0f5819c: Docker 首次启动不再复制示例配置或预注册固定扩展,等待用户按已选依赖动态填写并保存;未保存时不启动示例账号。旧配置按实际引用加载,HF 首次仅创建空白管理工作区。

  • 0e093b5: 将账号验证接入独立管理服务,通过设备授权 HTTP 和本地控制入口查询挑战、提交验证及读取持久回执。派发前保存操作意图,结果不明时禁止以新操作重复提交,回执不保存验证码或设备凭据。

  • c5cea4c: 修复 ICQQ 配置中的数字 QQ 号在事件 bot_id 与 OneBot v11 self_id 中被当成字符串并生成随机统一 ID;账号身份现在先恢复为平台数字类型,其他平台的原生字符串账号仍保留字符串映射语义。

  • 0f5ec70: 修复 macOS launchd 首次启动的 (never exited) 状态和启停期间 xpcproxy、SIGTERMed 瞬态导致管理服务操作误判为中断的问题;启动回执丢失后可按原操作 ID 对账已运行实例。

  • b46b52b: 修复故障管理候选被 launchd 快速换代或持续重启时,升级回退可能在停机阶段提前失败的问题。

  • 70a50e2: 修复原生管理程序升级回退在失败候选仍可能自动重启时预先争抢业务工作区锁的问题;回退现在先持久化停服意图并确认完整进程树退出,再取得工作区锁恢复旧候选,同时为 launchd 绑定持久进程所有权证明。

  • 6235116: 修复管理程序升级把本地已验证工件的摘要字段透传到闭合候选输入后被拒绝的问题。

  • 8e45c8c: 修正 systemd 旧服务定义的工作目录渲染,兼容 launchd 缺失服务诊断的末尾换行差异,并让非交互 CLI 保留原始输出行边界,确保原生服务迁移能够安全识别历史定义且脚本可以稳定读取操作结果。

  • 7dfbcae: 改用 PowerShell 7 支持的 .NET 文件系统 ACL 扩展 API 完成 Windows 服务目录创建与校验,并为 ACL 子阶段提供无敏感信息的失败诊断。

  • 32cae35: 保留 Windows 首次安装的持久阶段错误,避免候选关闭或锁释放失败覆盖可诊断的操作标识与错误码。

  • 4cad3ee: 为 Windows 系统服务首次安装增加有界令牌身份检查、前置阶段诊断和候选工作开始前的持久操作证据,避免安装失败后无法定位操作阶段。

  • d5b2bd7: 修复 Windows 管理候选验证误用空路径本地 socket 的问题,并保留闭合、无敏感信息的持续阶段与父进程失败原因供安装诊断。

  • 3e1c734: 修复 Windows 首次安装管理服务时错误调用 POSIX 候选验证器的问题,在同一个受 Job Object 约束的进程中完成依赖、单宿主、插件注册、Schema 与管理端启动验证。

  • 682c5f6: 修复 Windows 构建运行工件时无法直接执行 pnpm 命令包装器的问题,改为使用仓库锁定的 pnpm 入口完成安全打包。

  • 83e2d37: 修复 Windows 服务安装与卸载时重复拼接盘符或 UNC 根路径的问题;读取 DACL 保护的服务元数据和恢复日志时不再误用 NTFS 的 POSIX mode 映射,确保首次安装后可以启动及卸载 SCM 服务;卸载时接受 NTFS 已删除目录项但仍由安全句柄锚定的删除待决状态,删除服务定义后改用固定 SCM 身份确认服务不存在;原生生命周期按管理端 /ready 契约校验实例身份,并等待严格状态快照收敛。

  • 6235116: 修复 Windows Git Bash 会转换工作区构建筛选路径、导致 packages 构建被静默跳过的问题。

  • f8a1900: 修复首次安装把新候选误判为活动版本、导致无法提交验证收据的问题;新增真实 npm/pnpm 候选的首次注册与冷对账验收。

  • b57d223: 独立网关增加有界消息调试快照与按实例关联的私有历史、清空接口。复杂或超限消息安全降级;清空确认丢失不自动重试。管理服务与新 Web 控制台已使用该通路,旧 Web 调试页面已删除。

  • 6b014e7: 独立网关收集有界账号验证挑战,为每次刷新分配独立标识,避免旧完成回执清除新二维码或验证码请求。挑战由管理服务持久操作及 CLI、TUI、Web 统一验证入口消费,旧验证入口已删除。

  • c19f0ec: 为独立网关增加账号验证挑战查询与受控提交 IPC,绑定实例、配置、挑战和操作身份;同账号串行执行,进程内使用 HMAC 防止重复派发,未知结果不自动重试。管理端已接入持久化回执与公开 CLI、TUI、Web 客户端入口。

  • efae7f7: 新增统一的扩展安装与移除命令。扩展移除通过完整不可变运行版本计划、安装验证和显式激活完成,并在计划阶段拒绝仍被账号、协议或插件选择引用的依赖。

  • e6a651e: 安装编排支持独立操作周期及按周期恢复,保留初始安装绑定,拒绝损坏历史和目录重定向。

  • f7268c9: 管理诊断补充数据目录、数据库访问边界、用户静态目录,以及运行版本收据与启动扩展选择的一致性检查。空安装无需提前创建数据库;诊断不写文件、不打开 SQLite、不运行插件,已有数据库的内容完整性继续明确标为未检查。

    独立网关首次创建账号数据目录时使用 0700 权限,不再依赖默认 umask,也不自动修改已有目录权限。

  • cc0ad2e: 扩展安装、更新和恢复流程显式安装并严格校验必需 peerDependencies,终端安装确认页展示附带的 SDK 依赖。修正 ICQQ 将运行必需的 @icqqjs/icqq 标记为可选 peer 的声明,避免安装成功后因缺少 SDK 无法启动。

  • c109164: 选择 ICQQ 适配器时,将宿主可信目录与适配器 registry 元数据共同声明的 @icqqjs/icqq 提升为必需安装依赖;同时重新发布适配器,使其 peer 元数据与当前源码一致。

  • 7058741: 安装中断后再次执行 install 时,在原候选绑定完整且唯一的情况下返回原操作状态及只读恢复命令,不重新下载或注册服务;历史损坏时继续拒绝自动重装。

  • 2eda015: 增加旧服务运行目录的完整快照与校验基础能力,保留内部依赖链接并检测产物篡改。此能力已接入系统服务迁移与回退入口。

    迁移文件层区分原始备份、目标文件和回退文件,支持将服务定义及元数据恢复为独立旧工件路径,同时保留原始配置字节与历史备份。回退中断后只接受已知状态,第三方修改会阻止继续覆盖。

    增加旧 Node 独立副本的保留与自检,并在 macOS 静态检查所有 Mach-O 切片的系统库依赖。Windows 旧服务使用独立的 SCM、WinSW 工件快照和重启收据流程验证。

    将保留的运行目录及 Node 绑定到迁移备份与回退端口,校验原程序摘要、保留绝对配置路径,并扫描运行目录中的原生文件。补充 Linux ELF64 x64/arm64 glibc 与 Alpine/musl 系统库递归静态检查,拒绝非系统依赖路径。

    自动捕获编排先持久化意图再保存工件,失败或结果未知时不派发停服操作。支持单根运行目录、配置混合布局和全局安装布局:程序快照排除配置、账号数据和管理状态,回退继续读取原数据;默认迁移入口已接入该流程。

    Linux 缓存检查仅验证实际依赖对应的候选库,不再因无关的第三方缓存条目拒绝 Node;实际外部依赖仍被拒绝。

  • 4a3f970: 增加历史 Windows 系统服务的严格契约校验,以及仅查询固定旧 WinSW 服务身份的原生诊断入口。查询拒绝自定义服务名,不修改服务状态,不将停止状态视为完整进程退出或回退授权;Windows 旧服务迁移通过独立受保护事务消费该证据。

  • 4d09bd4: 补充旧 Windows 系统服务的恢复快照契约,将配置、SDDL、原运行实例与 WinSW/runner 工件摘要绑定到同一迁移操作。拒绝无法保证恢复凭据的自定义、域和虚拟账号;迁移事务在核验快照后执行停服、分阶段重启切换与显式回退。

  • ac65da1: 重整“运行与诊断”页面的信息层级,并将管理服务、网关和控制操作日志改为三个实时标签页。进入页面或切换标签时自动建立带设备认证的 SSE 连接,离开页面、切换来源或更换会话时立即断开。

  • 63b98ad: 本地扩展工件创建安装计划时从经过摘要校验的 tgz 读取包元数据,避免查询尚未发布的 npm 版本;保持精确版本和必需 peer 校验。

  • 0d81eb1: 将管理发送操作的持久化状态投影到统一操作日志,并保持消息正文、账号和目标信息不进入日志。

  • 11a16b6: 分开管理通道就绪与账号启动完成,使等待登录的账号不再阻塞网关管理握手;保留嵌入式 start 等待账号启动的语义。受管启动拒绝连接尚未就绪的 MCP、HTTP 与 WebSocket 协议,平台登录回调保持可用。

  • 5273d5b: 旧服务迁移复用管理候选安装与验证流程,在停服前绑定独立管理程序及验证摘要。保留原业务工作区和配置,仅改变目标程序入口与运行目录;候选准备失败仍保留旧服务和恢复记录。

  • 1ad8697: 重写首次引导安装脚本,隔离公开依赖下载,通过管理服务命令安装、启动与核验,不预填账号或协议。重复执行不原地更新或重启,旧数据及失败候选保留待核查;Windows 原生安装复用候选验证、SCM 事务和恢复检查。更新中英文快速开始。

  • 1246167: 增加管理程序候选的独立维护启动验证,检查 Web 资源、匿名访问拒绝和网关禁止启动;复用有界退出监督与所有权恢复证据。此能力不自动切换系统服务或升级管理程序。

  • 117e738: 将 MCP stdio 命令迁移到管理服务:通过私有控制连接使用当前网关的已配置账号,以设备会话和网关实例隔离连接;网关停止或重启后关闭旧会话,不重放工具调用。删除命令自行启动账号的旧实现,兼容标准初始化通知并补齐有界事件推送。

  • ddf2ce7: 管理程序候选准备复用持久依赖安装事务,依赖检查与维护启动均通过后才接受候选收据;损坏或缺失管理启动证明时拒绝使用。隔离验证支持长工作区路径下的本地控制连接,保留原目录所有权和清理边界。

  • a5470e3: 发送命令统一经管理服务调用现有网关,不再使用旧管理用户名、密码或静态令牌。发送前持久化操作标识与请求摘要,支持结果查询、重启后去重及本机只读恢复;未知结果不自动重发,保留目标 ID 原始类型,不强制启用输出协议。

  • ef8a16a: 将卸载命令接入管理服务事务:先禁用系统自动启动并确认进程全部退出,再按持久化阶段删除托管定义与服务元数据。全过程保留工作区、认证、配置、账号数据和日志;文件被替换或操作结果未知时停止并保留恢复记录,不回退到旧卸载实现。

  • 75acffc: 管理程序升级确认绑定当前管理实例及实际运行候选的双收据摘要,仅允许本机请求。确认过程复用生命周期队列,先持久化决定再恢复原网关意图;中断保留维护状态,禁止重复派发。候选身份检查使用只读仓库读取,不创建或修复工件。

  • efe89b8: 管理程序升级增加服务定义与元数据的精确身份核验和顺序替换端口。拒绝同内容但身份已变化的文件,中途失败保留现场且不允许用原快照重派;不覆盖工作区业务数据。

  • fcb6bda: 支持连续管理程序升级的完成记录归档:确认旧进程退出后,先持久化历史证据,再条件替换当前维护标记。拒绝复用历史操作ID或覆盖未完成升级,结果未知时保留封锁状态。

  • f449078: 增加已有工作区的管理程序升级维护门禁:确认旧管理进程及子进程退出后独占写入标记,保留配置、认证和网关期望状态,候选启动期间禁止业务自动启动与控制写操作。损坏维护状态保持封锁,旧迁移确认接口不能解除升级门禁;完整升级切换、确认及冷恢复事务共用该门禁。

  • 3a6d818: 管理升级协调器接入系统驱动、精确服务文件切换、工作区维护门禁和在线/离线释放端口。统一核验候选身份并拒绝越出候选目录的 bin,步骤单次消费,任何未知结果阻断后续派发。公开 update --manager 升级入口与冷恢复已接入该协调器。

  • 5f95423: 管理升级增加原停止服务的离线完成核验,不启动管理进程或网关,并保留原网关运行意图及升级历史。候选验证强制实际读取当前多设备认证格式,两已有设备可用、未授权访问被拒绝且认证字节保持不变;缺少此证明的历史候选不能直接用于新升级确认。

  • 3ef2593: 系统管理升级使用现有持久操作日志记录前后候选、服务契约及原文件身份,并统一切换阶段。异常保留恢复门禁,禁止原操作重派和未知结果下自动回滚。原生 OS 文件与释放端口仍在架构分支中接入,暂不提供新的用户升级命令。

  • 69176d6: 系统服务安装、启停、卸载和普通对账共用升级维护检查,拒绝介入未完成或损坏的管理程序升级。离线状态查询也报告升级待确认状态,不读取历史网关状态冒充实时结果。

  • 08f5a43: HF 容器统一启动常驻管理服务,不再改写业务 YAML、系统 DNS 或调用旧扩展安装器。空卷支持恢复配置和账号数据;拒绝覆盖已有卷、导入管理会话和运行身份,中断恢复明确阻止启动。

    无终端部署可用一次性随机部署码完成首次配对。码只保存摘要、五分钟有效,不传给网关;重启不续期,未配对时允许有界轮换,已配对会话不会被环境变量替换。旧 HF 自动备份尚未迁入新控制面,文档不再承诺保存即上传。

  • 0cd6827: 将已验证的成功迁移作为管理服务安装历史来源,卸载后沿原升级和卸载记录选择新的安装周期,保留迁移证据,不伪造或覆盖首次安装记录。

  • 6264429: 增加 onebots tui 首次安装与日常管理向导。按适配器、安装凭据、协议、框架的顺序收集选择,统一确认后安装并验证依赖,再引导配置账号、协议及管理服务。交互式 setup 与首次启动自动进入向导,安装凭据隐藏输入且仅在安装期间使用。

  • 2889519: 将首次安装与日常管理整合为同一终端工作台,统一导航、配置草稿、扩展安装恢复和服务上线流程,移除独立旧仪表盘。保留 ui/tui/setup 兼容入口,交互终端默认进入工作台,显式 run 保持前台运行。

  • 8e7732f: 安装服务时使用文件描述符固定本次创建的文件身份,避免 Linux 立即复用 inode 后把外部替换的同内容文件误认成安装器所有。安装成功或失败都释放固定文件身份所用的描述符,回滚只删除仍属本次安装的文件。

  • 0f999aa: 首次安装 CLI 改用不可变管理候选与稳定操作绑定,复用可信工件解析及产品自带 pnpm,禁止退回可变安装目录。

  • ef2fd01: 完善 Web 控制台的首次使用流程:无需配置账号即可搜索和查看适配器能力、凭据要求与依赖;根据安装、配置和运行事实引导下一步。导航支持浏览器历史与链接语义,配置草稿提供离开保护,停止和重启增加影响确认,并补齐键盘、屏幕阅读器与移动端交互。

  • a863529: 将安装、配置与账号验证的最终持久操作状态安全投影到统一控制操作日志。

  • fd04480: 将管理系统服务的安装、启停、重启、卸载、升级和旧服务迁移状态安全投影到统一操作日志,便于 CLI、TUI 与 Web 使用同一份持久化进度。

  • 1fee4fe: 为服务迁移回退生成覆盖完整旧文件契约的稳定摘要,并让 systemd、launchd 的重载与启动动作返回经过连续复验的操作系统状态。

  • 5b4b76f: 增加迁移目标从未启动的严格只读证明与回退工作区标记检查,为后续冷恢复提供失败关闭的证据基础;当前不会扩大可自动回退的迁移阶段。

  • ef8a16a: 将 logs 命令切换为管理服务日志入口,核验新服务元数据与定义,明确旧服务迁移提示并限制日志参数;不再读取旧运行配置或创建工作区。

  • af780a1: 将系统服务的首次安装和启停命令接入独立管理服务契约。安装不再要求平台或协议配置,服务操作保留网关期望状态,并在操作结果未知时保留记录、禁止盲目重试。统一安装、迁移及控制校验的服务定义,避免 macOS 日志路径不一致导致新装服务无法控制。

    状态命令分别报告管理服务与网关状态,并删除已由统一控制客户端替代、没有生产入口的旧 TUI 链路。

    处理 macOS 验证子进程组退出时短暂返回权限未知的情况:在固定期限内继续核实,仅在明确不存在后释放所有权,超时仍保留恢复记录。

  • 9ff6af8: 为已纳管管理程序候选提供持有服务与工件锁的原生升级协调入口,保留运行意图并拒绝未完成操作重派。

  • d705d59: 修复管理进程所有权待恢复时扩展能力目录返回 503 的问题,将只读目录与安装、激活写服务分离;兼容旧版安装失败记录,避免历史终态记录阻断安装计划服务启动。

  • c36338f: 将服务迁移目标写入及旧服务回退切换到专用日志状态机,以一次性效果证明提交文件恢复、系统重载和实例启动收据,并在冷启动时安全恢复可核实的回退阶段。

  • 57c764a: 修复 systemd 故障候选自动重启后升级回退被误判为外部服务替换的问题;重复恢复在已确认服务静止且禁用时不再重派系统命令,并正确识别 unit 停止后已由内核移除的空 cgroup。

  • 30ece7d: 重做管理控制台的信息层级与交互表达,并恢复仅限本机设备会话使用的 Web PTY 终端;补充本地 TUI、CLI、系统服务与维护文档,原生终端不可用时保持管理服务正常运行。

  • 2789703: 保证管理服务升级结束时尝试释放全部工件锁和服务锁,并在释放结果未知时保留原事务语义、提示用户先对账再操作。

  • 21c6bba: 移除已由常驻管理服务替代的本地活动目录安装后端、Docker 宿主扩展安装器、旧私有派生镜像入口和 HF 旧扩展恢复制品。

  • 31e3c60: 移除已由管理服务版本仓库、候选验证与控制面安装流程替代的旧安装 API,避免继续暴露第二套无调用方的安装与包变更接口。

  • c75dee1: 移除绕过常驻管理服务直接写入配置的旧 config 命令,并清理已不可达的旧 TUI、doctor 服务生命周期和运行时实现。

  • f5faede: 移除能力、配置与框架提示中已经失效的 -r、-p、-t 运行参数,引导用户使用统一扩展管理。

  • 0e37065: 管理服务在配置损坏时提供显式修复草稿,保留原始字节私有备份,并统一 CLI、TUI、Web 的验证与应用流程。修复失败和中断时保留恢复门禁,仅允许本地对账恢复;确认网关进程组已清理后才解除启动失败状态。

  • 7c6a999: 在统一控制状态中安全展示账号生命周期,为配置校验与应用提供顶层 CLI 别名,并闭合 systemd 升级回退中优雅停止超时后的受管进程清理。

  • 716ad9b: 区分管理程序候选安装拒绝与系统服务预检拒绝,并为预检返回不含路径或底层命令输出的固定诊断码。

  • c53449a: Windows 首次安装失败时输出固定的操作标识、bootstrap 阶段和安全错误码,并从已持久化的管理服务日志只读派生最新阶段,不泄露路径、工件规格或原始异常。

  • 4923c70: 默认旧服务迁移在停服前保留并验证原程序、依赖与 Node 工件;捕获失败保留恢复记录,不修改服务或账号配置。

  • eda9bf8: 完善旧服务运行工件保留基础能力,支持跨目录依赖链接且不重复复制核心模块,继续排除配置与账号数据。

  • b186161: 顶层 update 接入管理服务的网关升级流程,移除旧原地包更新器与系统服务更新旁路。只读检查保留 0/2 退出语义,交互安装与激活分别确认;旧原地更新参数明确拒绝。管理服务程序通过显式 update --manager 进入独立的不可变升级事务。

  • b9a0757: 移除旧 App/createOnebots 嵌入式管理宿主和内部 --service-runtime 入口,统一由常驻管理服务启动独立网关并使用设备会话管理。

  • e337a36: 删除被新管理服务替代的旧 App 消息调试缓存、HTTP 路由与旧 Web 页面。消息调试统一使用设备会话保护的新管理接口,其余旧管理入口亦已随统一控制客户端退役。

  • 2a31468: 删除已由管理服务命令取代的旧安装、启停、状态、日志、卸载、doctor 与 setup 实现,避免内部保留两套服务控制和配置写入路径。CLI 继续通过统一 manager/control 接口管理常驻服务、网关和扩展。

  • 425515a: 退役旧网关系统服务的第二套安装、启停、日志和卸载控制器,仅保留迁移与回退所需的只读旧服务证据检查。

  • 391564d: 退役网关当前进程中的旧 Application 查询和动态加载接口,框架方案继续通过管理安装计划和不可变运行代加载。

  • 7549fe2: 移除当前设备码控制台入口无法到达的旧管理页面、登录客户端与终端状态模块,并清理已退役的终端工作区实现。

  • ae8c26b: CLI/TUI 与 Web 提供网关运行版本升级预览,复用统一安装任务、私有授权、验证和手动激活流程。升级检查只读取配置摘要,保留原有依赖选择,不更新管理服务程序或自动启用账号协议。

  • 11881f2: 修复管理服务异常退出后,旧管理进程和网关均已确认退出时仍无法接管工作区的问题。新管理进程会先验证历史实例和后台 worker 已停止,再完成网关状态对账并恢复原有运行意图。

  • 513acd7: Windows 首次安装以最终 ACL 排他创建管理工作区,并通过 DACL 与原子 rename 发布受保护的服务定义,不再调用 Windows 不支持的文件描述符 chmod 或依赖硬链接;同时细分工作区初始化与定义写入的恢复阶段。

  • 0d81eb1: Windows 原生服务宿主以受保护 named pipe 发布带 revision 和 freshness 的管理程序及网关状态;网关写入前先使旧快照失效,避免本地 status 把中断前状态误报为当前状态。

  • 9ca4489: 修复 Windows 首次安装管理程序候选时,私有验证根目录尚未建立导致候选验证在启动前失败的问题。

  • ae7b21b: 网关与协议默认配置注册、扩展加载入口从旧管理 App 抽离,提供独立的 registerProtocolDefaults。注册值与实例覆盖相互隔离,协议和平台凭据不变。开发启动统一使用管理服务工作区,不再传入已移除的旧网关参数。

  • 11c0ae1: 管理服务在网关启动意图已持久化、子进程尚未创建时收到停止请求,现会交由生命周期队列串行处理,不再误判为冷启动恢复并返回 500。

  • 2279385: 管理服务帮助命令不再启动服务或创建工作区;拒绝重复、未知及旧网关参数,避免错误输入被默认为可启动配置。

    为系统服务迁移建立独立契约、私有备份与事务日志,以及独立于网关工作区的排他锁。公开 migrate 与 recover 已接入统一迁移事务,旧系统服务命令不再执行生命周期写操作。

  • 2f16cb9: 统一交互工作台的配置草稿、账号、协议及验证应用流程。支持声明式对象列表按行编辑并保留秘密,增加仅本地可签发的一次性认证恢复码,成功兑换后替换旧会话。

    修正 Docker 健康检查,按管理端口检查根就绪接口,不再依赖业务配置文件。

  • 5f12c34: 将配置管理整理为私有草稿、敏感字段独立编辑、目标运行版本隔离校验及统一生命周期事务。平台账号可独立于协议出口配置,不再强制开启协议;所有启用字段仍需通过实际插件规则验证。

  • 251534d: 分离常驻管理服务与网关子进程,提供统一控制客户端、私有配对认证、持久化启停状态与公共协议转发。Docker 空白工作区直接提供管理端,停止网关不再关闭 Web。此变更随完整服务架构迁移统一交付。

  • 4aeb871: 将依赖安装统一为管理服务控制的候选运行版本流程:固定宿主与核心身份,安装必需 peer,隔离临时私有仓库授权,独立验证插件与配置 Schema,再显式切换运行版本。CLI 与 Web 共用安装接口;安装或网关失败不关闭管理端,也不自动创建账号或启用协议。

  • fe623c6: 补齐系统服务迁移快照、平台状态观测和工作区初始化;管理端在迁移确认前禁止配置及启停操作,确认结果未知时保留恢复门禁,避免回退覆盖用户的新操作。

    控制状态增加可选的管理进程 PID 和迁移状态,供系统服务核对实际管理实例。

  • f7bd842: 通过统一控制客户端提供账号登录验证与回执查询,接通 CLI、TUI 和 Web 控制台。验证码仅用于当前提交,未知结果保留原操作 ID,不自动重发;网关和客户端共用挑战字段规则。

  • 283fb75: Docker 扩展管理提供无参数向导,自动识别当前 Compose 部署的镜像与数据目录,回滚无需手工填写版本 ID;精简默认使用文档。

  • 68497bf: 拆分 launchd 原始状态解析与服务生命周期控制职责,保持现有严格观测、启停和恢复语义不变。

  • c9b3659: 修复下载进程组退出时的凭据冷恢复竞态:组长先退出时短暂等待整个进程组结束,仍将存活、超时或权限未知状态保守标记为待处理。

  • 77c090b: 稳定跨框架验收环境:为 AliceBot 使用其要求的 Python 版本,同步 LangBot 固定依赖,并扩大目标会话历史回读窗口以覆盖编译较慢的原生框架。

  • 3393e10: 避免父管理进程正常关闭 IPC 时,网关状态上报竞态导致子进程异常退出。

  • d2aeedc: 新增首次管理服务安装编排,将候选准备与系统注册绑定到稳定操作 ID;重复请求保留原操作,不重新执行系统注册。

  • 7c6a999: 支持在管理员终端中安全安装和升级 Windows 系统级管理程序,通过原生 token 身份、仅提升管理员与 LocalSystem 可写的候选目录、持久操作、不可变候选收据、完整 SCM 配置指纹替换和原生控制身份对账保留失败恢复能力。

  • 5c6e0f8: 支持仅核验已释放管理服务升级的冷恢复对账,不重复执行系统动作;增加仅本机可查询的运行候选身份证明。

  • 5f12f85: 加强 launchd 启动恢复的失败关闭语义:公开状态查询统一诊断瞬态,恢复时把在线版本绑定到两次稳定核验的不可变管理工件。

  • 5b0d8dd: 在首次管理服务安装的候选准备失败时,输出固定的操作标识、阶段和错误类别;Windows 候选证明及版本仓库使用已验证的 DACL 权限边界,不再被 POSIX mode 位误拒。

  • 0f2e203: 增加升级用的可信发布版本解析:固定公开源、精确版本和摘要校验、只读归档目录检查,并支持安装计划使用目标发布目录而非当前宿主目录。

  • d3679c6: 抽出统一的扩展安装计划、执行状态机及本机/Docker 请求后端;Docker 命令复用 TUI 的平台、凭据、协议和框架选择,隔离安装验证后继续账号配置,避免维护两套安装流程。

  • ea18435: 统一管理服务、网关与控制操作日志的有界查询接口,并提供可安全轮询的增量游标。

  • bc4bfd2: 统一平台和协议文档的扩展安装流程,改由 Web 或 TUI 管理服务安装、验证并激活不可变运行代,同时移除已经失效的直接包管理器和旧启动参数指引。

  • 4d2e62b: 公开 run 与非交互默认启动统一使用常驻管理服务,复用 serve 的参数解析和退出流程。空白工作区不直接启动旧网关,Web 使用设备码配对;平台、协议和框架通过统一安装与配置界面管理。旧运行参数明确提示迁移,不再启动与新版 Web 不兼容的旧管理接口。

  • e15453c: 统一恢复浏览器有编号但服务端缺失验证回执的场景:确认网关停止且没有原执行意图后,显式封存编号并持久拒绝迟到提交。三端支持原封存结果查询,保留历史编号,不重发验证。删除已被统一管理客户端替代的旧 Web 验证实现。

  • 6b3436b: 配置验证子进程只删除敏感请求,不提前删除进程所有权记录;配置、依赖及能力探测的父监督器在终止后有界等待,回收无法确认时保留证据供恢复,避免升级或配置验证无限挂起。

  • 3db58f5: 账号验证结果未知时,可显式核对原网关保留的回执。确定结果追加到原记录,保留未知历史且不重新调用平台 SDK;原实例已退出或证据不足时继续保留保护。CLI、TUI 和 Web 共用对账接口。

  • f805e25: 账号验证支持在网关完全停止后明确接受未知结果风险。CLI、TUI、Web 共用持久化回执和生命周期停止证明;保留原未知状态,不自动停止网关或重复提交,并支持响应丢失后的原编号查询。

  • e2a148e: Docker 架构验收改用镜像内真实构建产物 CLI 完成配对、状态查询和网关启停,并与同一数据卷上的 HTTP 管理状态逐步对账,覆盖容器重启后的停止意图。

  • 1aa95d1: 运行版本激活在唯一生命周期队列内验证当前配置与候选宿主的兼容性,停止状态也不可绕过;切换前复核配置及候选收据,防止验证后的变动被误激活。

  • 431f274: 在真实 systemd 与 launchd 宿主上验收旧服务迁移,并验证管理进程异常退出后的冷启动恢复不会重派已完成的迁移操作。

  • 3001293: 将 12 个框架互操作验收迁移到统一管理服务、不可变依赖代际和 Control 配置链;支持随可信运行清单附带当前源码扩展 tgz,并兼容旧扩展声明的字符串列表 Schema。

  • 3001293: 增加 GitHub Ubuntu runner 上的真实 systemd 系统级生命周期验收,使用当前打包工件和公开 CLI 覆盖安装、启停、重启、状态对账与保留数据卸载。

  • f500a2b: 服务状态显示待核实操作的 ID、动作和阶段,元数据缺失时仍可定位原记录。仅在存在唯一可对账操作时提示对应命令;损坏记录不展示局部列表,不泄漏配置、工作区或备份内容。

  • 7107ce0: 启用 Windows 空白安装引导:在独占目录中校验 Node.js 24 与公开 OneBots 工件,隔离下载环境并确认 Web、网关及原生宿主完整后,通过统一 CLI 安装和启动 SCM 管理服务。失败会保留候选证据,不预填平台、协议或账号,也不会自动重派系统操作。

  • 95aff5c: 修复 Windows 管理服务通过 Node 命名管道发布状态时无法可靠完成响应确认的问题。管理进程改用随包原生桥发布和失效状态,原生宿主仅接受服务身份下的管理进程及其直接桥接子进程,CLI 与其他同身份进程仍不能伪造管理状态。

  • 431f274: 增加 Windows SCM 管理服务底层驱动与 x64/arm64 原生宿主工件,并建立仅允许 manager 进程发布、控制 SID 使用最小权限的本地命名管道协议。Windows CLI 通过随包原生桥的标准输入安全转发管理请求,不因 Node 通用管道权限被拒绝,也不放宽管道 DACL。生命周期写操作现由完整恢复控制面执行持久化安装、启停、重启和卸载事务,不会留下半安装状态。

  • Updated dependencies [58d4c61]

  • Updated dependencies [36e1b3e]

  • Updated dependencies [3a280a2]

  • Updated dependencies [d5e9665]

  • Updated dependencies [5d6d21c]

  • Updated dependencies [b6c04ed]

  • Updated dependencies [d5d5232]

  • Updated dependencies [4e53609]

  • Updated dependencies [a2d87f6]

  • Updated dependencies [a76adc6]

  • Updated dependencies [c5cea4c]

  • Updated dependencies [9523c2c]

  • Updated dependencies [efae7f7]

  • Updated dependencies [f7268c9]

  • Updated dependencies [ac65da1]

  • Updated dependencies [11a16b6]

  • Updated dependencies [117e738]

  • Updated dependencies [a5470e3]

  • Updated dependencies [8f555e0]

  • Updated dependencies [ef2fd01]

  • Updated dependencies [30ece7d]

  • Updated dependencies [f3b03eb]

  • Updated dependencies [47c4e71]

  • Updated dependencies [0e37065]

  • Updated dependencies [7c6a999]

  • Updated dependencies [e337a36]

  • Updated dependencies [7549fe2]

  • Updated dependencies [ae8c26b]

  • Updated dependencies [2f16cb9]

  • Updated dependencies [5f12c34]

  • Updated dependencies [251534d]

  • Updated dependencies [4aeb871]

  • Updated dependencies [fe623c6]

  • Updated dependencies [f7bd842]

  • Updated dependencies [4aab9c4]

  • Updated dependencies [ea18435]

  • Updated dependencies [e15453c]

  • Updated dependencies [3db58f5]

  • Updated dependencies [f805e25]

    • @onebots/core@1.2.10
    • @onebots/web@1.0.18

What's Changed

  • feat(adapter-wechat-clawbot): 支持配置出站文本格式 by @Pretend-to in #243
  • fix(adapter-wechat-clawbot): 修复 iLink 媒体解密与文件元数据 by @Pretend-to in #244
  • Refactor management service processes and unify upgrade workflows by @lc-cn in #245
  • test: 明确 Web 验收浏览器启动失败原因 by @lc-cn in #246
  • docs: 通过文档站提供首次安装脚本 by @lc-cn in #247
  • fix: 本地工件安装计划不查询未发布的 npm 版本 by @lc-cn in #248
  • fix: include unpublished Web in local runtime artifacts by @lc-cn in #249
  • fix: normalize AstrBot interop package versions by @lc-cn in #250
  • chore: version packages by @github-actions[bot] in #242

New Contributors

Full Changelog: v1.2.12...v1.2.13