更新日志
这里记录会影响使用者、部署者或贡献者的实质变化。每次合并新增功能、行为调整、兼容性变化、依赖升级、安全修复或能力状态变化时,都应先在“待发布”下增加一条简洁说明;发布新版本时,再将这些条目移动到对应版本和日期下。
不需要记录纯格式调整、本地运行数据、临时调试过程,以及不改变外部行为的内部重构。
待发布
新增
-
自我迭代
giclaw evolve:证据 → 结构化诊断 → 最小SKILL.md补丁 → 硬门禁校验 → 真实重跑 → 接受/回滚;含预算、红线策略、generation记录与只读 Web API。 -
标签化共享游戏上下文:16 个
context: true技能(core / ui / map / quest / character / combat / inventory / progression / reward / shop / social / event / navigation),可运行技能用contexts选择标签。 -
内置奖励技能在领取动作后新增
screenshot检查点;步骤失败(含超时)保存失败现场。 -
新增更新日志页面,并接入文档站导航、README 和贡献指南。
-
新增 GitHub PR 检查清单,在每次合并请求中提醒维护更新日志、关联文档、验证结果和敏感文件边界。
-
建立系统化自动测试,覆盖 CLI、配置、技能、执行器、流式模型客户端、浏览器会话、任务编排、队列、Gateway、HTTP/WebSocket、持久化和 TUI;门禁要求全局四项覆盖率不低于 99.8%,逐文件四项不低于 98%。
-
新增 GitHub Actions 持续集成,在推送和 Pull Request 中自动执行运行数据与疑似凭据扫描、代码规范、类型检查、覆盖率测试、固定 seed 乱序测试、干净应用构建、发布包 smoke 和文档构建。
调整
- 成就领取改为有界单轮遍历,移除「重复直到…」的无界
aiAct循环。 - 启动技能对平台画质引导遮罩做非阻塞处理;长加载/排队允许拆成多个等待步骤。
- 会话恢复窗口从 15s 提高到 60s;恢复失败保留 Cookie 并回退人工登录。
- 文档聚焦 giclaw 自身能力、真实验收状态和项目路线,不再展示第三方项目对比内容。
- 月卡、邮件、纪行、成就和活动奖励 5 个已验收任务改为默认全部启用;
daily保留为只运行月卡和邮件的轻量流程。 - CLI 改为等待异步命令完整结束,命令失败和退出码现在可以被调用方及 CI 可靠捕获。
full默认流程移除暂停的探索派遣,现在与rewards一样只包含 5 个已验收任务。- UI 工作流关闭自动重试,并在首个失败后停止整次运行,避免在未知界面重放领取动作或继续后续任务。
- CLI、定时任务和 HTTP API 统一通过完整管线串行队列执行。
- 运行环境最低版本明确为 Node.js 20.9,以满足当前浏览器图像依赖的运行要求。
修复
- 修复慢页面被误判 Cookie 过期并删除、导致每次运行都要重新登录的问题。
- 修复视觉等待超时等步骤失败不保存失败截图的问题。
- 同步更新 CLI、配置、架构、内置技能、路线与上下文技能文档。
- 浏览器确认关闭现在是运行成功的必要条件;无法安全关闭时不会持久化或上报成功,并会隔离后续任务,避免残留会话继续操作。
- 任务全部完成后进入不可取消的提交阶段,迟到的关停信号不会再把已经发生的领取误报为失败;浏览器关闭失败仍会阻止成功上报。
- 执行器进入隔离时会同步关闭队列入口并拒绝等待中的运行,避免下一轮先启动浏览器再发现残留操作。
- 取消期间尚未返回的浏览器启动会被等待并有界关闭;在旧实例确认退出前不会开始下一次启动,避免产生无法追踪的并发浏览器。
- WebSocket 服务关闭时会清理日志监听器,客户端在初始日志回放期间断开也不会中断服务端处理。
- Web 服务关闭会终止 WebSocket 客户端并销毁仍由服务持有的原始 TCP 连接,拒绝升级或不配合关闭的客户端不再拖住 daemon 退出。
- TUI 会合并同一事件循环内的日志突发再更新有界视图,避免大量同步诊断逐条触发完整重渲染;卸载时会取消尚未刷新的日志批次。
- HTTP 运行接口补齐请求体、任务列表、命名流程和历史条数校验,无效请求会返回明确的 400 响应。
- 任务超时与 daemon 关停现在会取消登录、模型请求、等待和步骤执行;不响应取消的任务在有限清理窗口后被隔离,不再永久卡死队列或继续启动任务。
- 修复启动流程在登录入口页面形成的等待死锁:网络错误、协议、登录入口和新手引导都会先结束当前等待,再由后续步骤处理;排队状态也不再被描述成相互矛盾的成功与等待条件。
- 单个视觉等待限制为最多 3 分钟并为诊断、释放输入和关闭浏览器保留时间;长等待每 15 秒输出进度,取消不会再依赖上游请求主动响应。
- 超时后任务已正常退出且页面成功关闭时不再错误隔离后续运行;只有清理未结束或页面关闭失败才会隔离。
- 浏览器任务已经完成后,运行记录或产物清理失败只记录警告,不再把已完成的领取误报为失败并诱导重复操作。
- 异常、超时或取消期间会释放所有保持按下的键盘和鼠标输入;步骤超时不再被误判成可重试普通失败。
- 月卡协议和进入游戏步骤、纪行入口改为先确认目标再操作,不再在其他界面无条件点击固定坐标。
- 邮箱入口增加点击结果检查和恢复:误开云游戏平台侧栏、名片或拍照界面时先关闭并返回菜单重新识别;看到游戏内「邮箱」标题并通过断言前不会领取。
- 状态文件支持正式文件、临时文件和备份的校验恢复,写入失败不再先移走唯一正式副本。
- 构建会先安全清理固定的
dist目录,并排除测试产物;发布 smoke 会检查包内不存在配置、Cookie、运行数据或测试文件。
安全
- Web 面板仅监听 loopback,并增加 Host、Origin、进程级 HttpOnly 会话、WebSocket 连接数与背压校验,以及 CSP 等浏览器安全响应头。
- Web 面板移除远程运行时脚本和动态
innerHTML渲染,静态资源全部随包发布。 - API Key、Cookie、状态、transcript 和截图的目录与文件权限收紧为当前用户专用;首次写入与已有文件都会校正权限。
- 日志、WebSocket 和持久化内容会递归脱敏敏感字段,以及 Bearer、长
sk-密钥和 URL 查询凭据等字符串格式。 - 结构化日志和模型流式响应增加累计字节、深度、节点、数组项和对象字段预算;项目同时关闭 Midscene 自带的未脱敏追加日志,避免异常响应或诊断输出无界占用内存与磁盘。
- 模型流式响应限制分片、候选项、工具调用、索引和文本容量,并能在上游迭代器忽略取消时及时停止,避免异常响应造成无界内存占用或卡死。
- CI 凭据扫描只输出命中文件名,不会把疑似密钥原文再次写入日志;外部 GitHub Actions 也固定到已核验的提交版本。
- 远程模型和浏览器地址必须使用 HTTPS;HTTP 只允许 loopback,避免 API Key 明文传输。
- transcript 与截图增加文件数和总字节保留上限,清理拒绝跟随符号链接或越过专用数据目录。
- 升级 Web、浏览器、调度和开发工具依赖,并对模型组件的易受攻击传递依赖使用已修复版本;CI 会阻止新的 high / critical 依赖漏洞进入仓库。
0.3.0 — 2026-08-07
新增
- 新增 10 个视觉 AI 操作与 12 个确定性键鼠/诊断操作,工作流可以混合使用两类步骤。
- 新增任务依赖展开、去重、依赖环检测,以及
daily、rewards、full命名流程。 - 新增成就奖励和活动奖励任务;补齐纪行与探索派遣的可执行步骤定义。
- 新增仅支持流式响应的 OpenAI 兼容服务适配:继续调用 Chat Completions,并在项目内聚合 SSE 分片。
- 新增任务加载、依赖编排、队列上限、Gateway 目录和流式客户端自动化测试。
调整
@midscene/web升级至1.10.9,未接入 Responses API。- Cookie 恢复检查改为最多等待 15 秒;无有效 Cookie 时自动打开可见浏览器引导登录。
- 优先使用 Playwright Chromium,不可用时复用系统 Chrome、Edge 或 Chromium。
- 默认任务保持月卡与邮件;推荐通过
rewards运行全部 5 个已验收奖励任务。 - 全面同步 README、文档站首页、模型配置、CLI 和能力状态说明。
修复
- 空步骤、未知任务、未知操作、错误 ID 和无效依赖不再被静默当作成功。
- 修复模型家族传递、任务超时与重试、队列深度以及失败依赖仍继续执行的问题。
- 失败步骤会保存现场截图并写入 transcript,便于定位真实环境问题。
真实环境状态
- 已通过:月卡、邮件、纪行、成就和活动奖励。
- 已暂停:探索派遣;尚未完成领取与再次派遣闭环,不包含在推荐的
rewards流程中。
维护规则
推荐使用以下分类,按用户能够理解的结果描述变化:
- 新增:新增功能、任务、命令或配置。
- 调整:已有行为、默认值、依赖或兼容性发生变化。
- 修复:修复了可以被用户观察到的问题。
- 弃用 / 移除:能力即将停止支持或已经删除。
- 安全:权限、凭据、隐私或高风险操作相关修复。
每条记录应说明“发生了什么”和“对用户有什么影响”,避免只写提交号、文件名或调试过程。