Skip to content

Hope Agent v0.13.0

Choose a tag to compare

@github-actions github-actions released this 27 Jun 01:53
1a5c2d4

Hope Agent 0.13.0 — 定时任务全面强化

简体中文 · English

发布日期:2026-06-27

详见 CHANGELOG.md

v0.13.0 的主线是对定时任务的一次系统性强化:时区终于真正生效并自动处理夏令时,每个任务可单独设定权限与沙箱、可访问知识空间,配套全局并发上限、单次超时、一次性任务补跑窗口等可靠性旋钮;定时任务产生的对话从主列表抽离,集中到任务面板新增的「历史」视图,并在侧边栏带未读角标。此外本版还带来应用图标(Dock)与 IM 会话的未读提示、更克制实用的桌面通知,以及一组围绕投递与删除的安全收紧。

亮点

  • 定时任务时区终于生效:cron 表达式(如「每天 9 点」)现按你选择的时区触发并自动处理夏令时,新建任务默认填入浏览器检测到的时区,日历预览与实际触发一致。此前时区设置被忽略、一律按 UTC 触发(东八区用户的「9 点」实际 17 点);升级后会把存量定时任务一次性校正为本地时区,受影响任务的触发时刻将相应调整。
  • 每个定时任务可单独设权限与沙箱:每个任务现在可以单独选择权限模式(跟随 Agent / 标准 / 智能 / YOLO)和沙箱模式(跟随 Agent / 关闭 / 标准 / 隔离 / 工作区 / 可信),不再只能被动跟随所选 Agent。无人值守运行下「智能」模式会让裁判模型放行与任务本意一致的操作(包括任务本就要求的删除或对外发送),并拒绝越界或疑似被注入的操作;保护路径、危险命令等始终被拦截。要让任务自主执行,推荐用沙箱把影响范围关进容器,而不是在宿主机上裸跑 YOLO(选了该组合会显式提示风险);配了非「关闭」沙箱但运行时 Docker 不可用的任务会失败并记录原因、绝不退回到宿主机执行。
  • 定时任务现在能访问知识空间:定时任务运行时可正常使用知识空间笔记工具(note_*[[note]] 引用、知识检索),读取你为该任务会话或所属项目挂接的知识库——与你在桌面端亲自对话时同权。此前定时任务被错误归入 IM 渠道身份、被一律拒绝,导致依赖笔记的定时任务静默拿不到任何内容;无痕会话仍不接入知识空间。
  • 定时任务对话集中到任务面板 + 未读角标:定时任务产生的对话不再混入主对话列表,改为收进任务面板新增的「历史」视图——左侧按时间倒序汇总所有任务的运行历史,右侧只读查看选中对话,无需逐个进入任务详情翻看;有新结果时侧边栏的定时任务入口图标会显示未读角标,可在「历史」视图顶部的「全部已读」或右键该图标一键清除。任务详情、任务列表、日历三处也补充展示了投递目标(失效目标标红)、每次运行的投递结果、执行 Agent、单次超时、连续失败计数等更多信息,条目较多时支持分页「加载更多」。
  • 应用图标 / IM 会话未读提示:存在未读消息时在应用图标(macOS Dock)上显示未读总数角标,窗口最小化或退至后台也能一眼掌握;来自 IM 渠道的会话在侧边栏以独立颜色的未读角标标示,与普通桌面会话区分,避免同时使用桌面端与 IM 时遗漏 IM 侧新消息。

定时任务可靠性

  • 并发上限:新增「最大并发」设置(设置页「定时任务」分区,默认 5、0 表示不限),避免大量任务同一时刻齐发拖垮机器或触发限流;超出上限的到期任务会保留排期、下次检查时自动补跑,手动「立即运行」不受限。
  • 单次超时 + 失败禁用提醒:新增「单次超时」设置(默认 5 分钟,30 秒–2 小时),运行超时即放弃并释放并发槽;任务因连续失败被自动禁用时会主动弹桌面通知并附原因(超时 / 配置错误 / 多次出错),且仅真正的运行失败计入禁用阈值。
  • 一次性任务补跑窗口:新增「补跑窗口」设置(默认 5 分钟,0 = 不补跑),一次性任务触发时刻应用恰好关闭时,重启后只要逾期不超过窗口仍会补跑;中途崩溃的一次性任务重启后会被标记为「错过」(不重跑),不再卡在「永不触发」的僵死状态。
  • 投递更可靠:投递到 IM 渠道失败时自动退避重试(最多 3 次),运行日志新增投递成败标记;投递目标的渠道账号被删除时标红失效,删除账号前会提醒哪些任务正引用它;新增 per-job「投递时加任务名前缀」开关。
  • 取消更可靠 + 崩溃留痕 + 零输出不伪装成功:取消请求不再在任务刚启动的瞬间被吞掉、不会误伤循环任务的下一轮、不会把已完成结果误当「已取消」丢弃;中途崩溃 / 被强杀的运行重启后收尾标记为「错误(中断)」并留在运行历史里。任务成功但无文本输出时标记为「无输出」并跳过投递,不再发空消息;失败通知附原因分类,日历对高频任务的运行记录匹配更精确,仪表盘成功率只按「成功 vs 失败」计算。
  • 非法排程统一在后端拒绝:创建 / 修改定时任务时,无效触发时间、低于 1 分钟的循环间隔、错误的 cron 表达式或时区现在一律被后端拒绝并返回明确错误,不再可能被存成「永不触发」或一触发就报错的坏任务(此前仅模型工具路径校验,桌面 / HTTP 接口可绕过)。
  • 设置独立成页 + 运行中实时反馈:定时任务全局设置移到设置页新增的「定时任务」分区,面板顶部保留齿轮入口直达;任务执行时运行历史里实时显示一条蓝色「运行中」记录,完成后就地更新为成功 / 失败 / 已取消。

通知与体验

  • 对话完成通知更有用且更克制:桌面对话完成通知默认显示最后一条助手回复预览,标题改为会话标题,方便从系统通知直接判断是哪段对话;若在通知设置中关闭回复正文展示,则标题与正文都改为固定的多语言完成提示,避免把对话内容暴露到系统通知中心。
  • 清理通知里的误触发与兜底文案:移除启动时硬编码的欢迎桌面通知;会话置顶与 Agent 排序保存失败改为应用内 toast,不再弹系统通知。
  • 后台完成的回复不再被静默标记为已读:发出消息后切换走、或后台工具 / 子代理完成并注入到非当前会话时,该会话将正常显示未读提示;侧边栏分组未读合计、项目未读徽标与全局未读红点口径统一。
  • 菜单栏会话列表更接近应用内侧边栏:系统托盘 / 菜单栏会话区改用双行摘要展示状态与 Agent、模型、更新时间、消息数;没有进行中会话时显示最近 5 个普通会话。打开菜单时暂缓替换原生菜单结构,避免列表更新导致 macOS 上已打开的菜单自动关闭。
  • 浏览器扩展引导横幅更克制:聊天页的 Chrome 扩展引导横幅出现 / 收起都有平滑动画;启动或浏览器动作触发后的延迟复查从 6 秒延长到 30 秒,减少扩展重连窗口里误弹提示。

安全

  • 定时任务投递与删除更安全:定时任务只能把结果投递到你已记录的 IM 会话(模型无法凭空指定陌生聊天外发),删除定时任务默认需要你确认(智能模式交由模型判断、完全访问模式免确认)。
  • 沙箱模式审批边界收紧workspace / trusted 沙箱模式减少 exec 编辑命令审批时,不再只检查 cwd 是否位于工作区,现在会同时校验命令中可识别的目标路径、/workspace/... 容器路径、重定向目标和常见文件命令操作数,越界或动态展开路径继续触发审批。

Binaries are attached to this draft release. Review them before publishing.