Skip to content

Hope Agent v0.11.0

Choose a tag to compare

@github-actions github-actions released this 21 Jun 08:17
eace6ed

Hope Agent 0.11.0 — 后台任务一等公民 · 下一代结构化记忆

简体中文 · English

发布日期:2026-06-21

详见 CHANGELOG.md

v0.11.0 围绕两条主线展开:其一是把后台任务升格为产品中的一等公民——统一的后台任务模型、可视的「后台任务」面板、并发治理与公平排队、运行中实时输出、批量并发委派子代理,以及一系列围绕后台执行的稳健性修复;其二是下一代结构化记忆(Dreaming / Claims)正式落地——带证据、时效与置信度的结构化记忆层默认开启,配合记忆画像合成、智能检索、系统提示注入、深度整理与用户纠错闭环,让长期记忆更可靠、可追溯、可修正。

亮点

  • 后台任务面板 + 头部徽标 + 完成通知:新增右侧「后台任务」面板,集中查看本会话在跑 / 最近的后台任务(工具、任务组、后台子代理),可逐个或整批取消,任务组带「N / M 完成」进度;本机模型下载 / 嵌入 / 重建等任务也只读镜像并入同一面板,消除多个任务界面重叠。头部新增在跑计数徽标,工作台面板亦提供简化速览区块;后台任务跑完且窗口在后台时会弹桌面通知,可在「设置 → 通知 → 后台任务完成提醒」关闭。
  • 后台任务并发治理 + 自动排队 + 每会话公平份额:新增「后台 job 最大并发数」(默认按本机逻辑核数自动取值,0 为不限),限制同时运行的后台工具任务,避免模型跨回合连续后台执行耗尽线程与内存。达到上限时新作业不再被拒绝,而是自动排队、按会话公平轮转在槽位空出时执行;并新增「每会话并发上限」作为硬约束,使单个会话或 IM 群聊再忙也不会占满全局池饿死其他会话。失败时可选自动退避重试(默认关闭,仅对联网搜索等可安全重跑的工具生效),并新增「无人值守审批」策略,决定无人能响应审批时是阻止执行(默认)还是放行。
  • 批量委派并发子代理,结果一次性收齐(batch_spawn:用 batch_spawn 一次派出多个后台子代理时,它们作为一个批次并发执行,全部完成后合并成一条通知回灌对话(含每个子代理的成败、任务与结果);模型派完即可结束本轮、无需逐个轮询,单个子代理失败也不影响其余结果一并返回。后台子代理已纳入统一的后台任务管理,可在 job_status 列举 / 查看 / 取消,超过并发上限时自动排队而非报错;job_status 工具本身也升级为多作业管理面,支持批量 list / wait / cancel / result。同时,运行中的后台命令现在能通过 output_tail 实时回显最近输出,代理还可用 schedule_wakeup 给自己设定一次性的延时唤醒以等待外部状态。
  • 下一代结构化记忆(Dreaming / Claims)默认开启:自动记忆提取现会在旧版记忆之外额外提取带证据的结构化 claim(带作用域、类型、置信度、salience 与时效),与既有事实抽取同一次 LLM 调用、不额外增加往返。高重要度的 active claim 作为「Pinned Memory」段稳定注入系统提示,被其覆盖的旧版影子记忆从旧记忆段去重排除;主动召回的候选也可扩展到结构化 claim。结构化 claim 支持 FTS5 全文 + 向量混合检索(RRF 融合),随嵌入模型切换自动重嵌。
  • 记忆画像(Memory Profile)合成 + 深度整理:开启画像合成(默认开启)后,离线从结构化 claim 按作用域合成一份可读的记忆画像快照——空闲 / 定时走低成本规则式聚合、手动触发走 LLM 重写,并在系统提示中维护「## User Profile」段;「记忆 → 画像」提供只读视图与手动刷新。Dashboard → 记忆梦境新增「深度整理」,对结构化 claim 做时效过期、重复合并与冲突检测,真正矛盾的标「待审核」交用户确认,绝不自动覆盖或删除。
  • 用户纠错闭环(Lucid Review)+ 来源可追溯:Dashboard → 记忆梦境新增「待审核」队列,列出被标记 needs_review 的结构化 claim,可逐条批准 / 编辑 / 驳回 / 标记过时 / 移动作用域 / 钉住 / 忘记,每个操作都写入审计决策日志并即时影响下一轮提示。离线固化晋升的每条记忆现在附带来源线索并在决策记录中以来源标签展示;每次离线运行(手动 / 空闲 / 定时)落库留痕,重启后仍可查看运行历史与晋升决策,多进程并发触发通过 SQLite 租约确保只跑一次。此外还提供把旧版记忆批量登记为结构化 claim 的历史回填入口(先 dry-run 预览再执行),并新增无 LLM 的确定性评测基座守护记忆安全红线。

其它改进

后台任务

  • 后台任务完成「合并注入」省计费:模型不走任务组、直接连发多个 run_in_background 时,同一会话在一个短窗口(默认 3 秒,0 关闭)内完成的多个任务会合并成一轮回灌对话,避免「鼓励后台化」退化为「刷计费轮次」。
  • 后台命令中途需要审批时会挂起等待:以显式后台方式执行的 exec 命中审批点时,会作为一条「等待审批」的后台任务挂起,批准后自动继续、拒绝则以「被拒绝」终结,审批结果通过任务完成通知回灌对话,面板以时钟图标标示;后台子代理内部命中审批点时,面板与 job_status 同样会显示「等待审批」。
  • 后台任务语义与可配置项调整:后台 job 与 exec 命令默认不再设置超时(模型仍可为单次调用主动设置上限),job_status 从主动 poll 收敛为非阻塞状态快照;「设置 → 异步工具」新增运行输出留存大小、等待队列上限、定时唤醒最长延迟与每会话定时唤醒上限四项旁钮(均带安全范围钳制,技能 ha-settings 同步可读写)。
  • 异步工具自动后台化默认关闭autoBackgroundSecs 默认值由 30 秒改为 0,新配置默认不再因同步工具运行过久而自动转后台;显式 run_in_background 与 Agent「始终后台运行」策略不受影响,需保留旧行为者可在「设置 → 异步工具 → 自动后台化阈值」设置正数秒数。

后台任务稳健性

  • 后台任务结果注入更可靠:自托管 / IM / ACP 模式下后台任务结果不再撞上正在进行的回合(「忙时排队、空闲再注入」下沉到所有入口共享的对话引擎);父会话长时间忙碌时结果不再被误标为「已注入」而永久丢弃,而是留待下次启动补投;自定义 hook 的 PostToolUse / PostToolUseFailure 现在也会在后台异步工具真正完成 / 失败 / 超时 / 被取消时触发。
  • 后台任务取消与残留清理:跨进程取消后台任务现在能真正中止对方的任务而非仅改状态;取消对话时连带回收在收尾窗口内恰好获批启动的后台任务;崩溃或强制退出后留下的后台 exec 孤儿子进程会在下次启动时被探测并整组结束。
  • 同回合大量只读工具不再一次性全并发:一条助手回复里包含很多只读工具调用(如多个 web_fetch)时,现在最多并发执行 8 个、其余自动排队,避免一次性打出大量出站请求或占满文件描述符。
  • 子代理并发上限默认提高 + 可按代理配置:每个父会话可同时运行的子代理默认上限由 5 提升到 8,并可在「设置 → 代理 → 子代理 → 最大并发数」按代理调整(范围 1–50,此前该设置项不生效)。

审批与权限

  • 智能审批更顺手:Smart 模式下,本次对话里已改过的文件再次编辑不再重复弹审批;工作目录内文件的首次写入 / 编辑由模型按风险判定(常规改动放行、大范围覆盖或删除等高风险才确认),工作目录外更保守;保护路径与危险命令在任何情况下仍始终需要确认。
  • 危险操作的审批超时不再被「超时放行」击穿:将审批超时动作设为「放行」时,危险命令 / 写保护路径这类高危原因超时一律拒绝(「放行」只对普通审批生效);审批超时现在也会和正常应答一样通知所有端撤掉弹窗。
  • 多端审批更一致、更安全:一条审批在任一端(桌面 / 网页 / IM)被处理后,其它端弹窗自动消失;IM 审批的应答严格校验来源,跨会话的点击或文本回复无法批准不属于它的审批,会话被另一端接管时其上尚未处理的审批会被自动拒绝。
  • 浏览器脚本执行接入统一权限引擎browser.control.evaluate 不再绕过 session 权限模式单独走 ask_user_question,而是作为 soft approval 进入统一工具审批链(Default 弹审批、Smart 可自动放行、Yolo 直接放行),同时保留 SSRF 字面量扫描。
  • 权限模式切换器可同步 Agent 默认值:聊天输入区的权限模式菜单新增「同时更新 Agent 默认」开关,开启后切换 default / smart / yolo 会同时更新当前 Agent 的新会话默认权限模式。
  • 无人值守入口不再永久卡死在审批上:定时任务、无连接客户端也无 IM 会话的 headless 服务、无权限通道的 ACP 客户端、无界面的子代理触发需审批的工具时,现在会即时按「无人值守审批」策略处理(默认 fail-closed 拒绝并给出明确根因),不再挂死;CLI 初始化向导里「不需要审批」的引导也已修正为等同开启 YOLO。

上下文压缩

  • 主动压缩在桌面 / HTTP Server / IM 中行为对齐compact_context_now/compact 不再在 HTTP / server 模式返回「不支持」或仅做同步清理,而是按会话模型恢复历史、绕过节流并尽量执行 Tier 3 摘要;桌面端压缩期间不再临时清空全局 Agent,相关提示也补齐多语言文案。
  • 手动压缩真正缩掉异常恢复的大型工具结果/compact/context 卡片里的压缩按钮现在会显示本次压缩结果;手动压缩会清理异常中断恢复轮次里的超大 tool result,避免图片查看 / 工具输出被重复保留后压缩完成但 token 几乎不下降。
  • 长工具回合的上下文占用实时刷新:带工具调用的长回合现在每个 API 往返后即更新上下文占用条,不再等整轮回复结束才跳变。
  • 超长回合可在工具轮之间压缩上下文:带大量工具调用的超长回合现在会在工具轮之间设置压缩检查点,在历史撑爆上下文之前就地压缩,而不必等到下一次用户发言;压缩摘要也会更稳地保留失败的尝试、用户纠正、后台任务与最近编辑文件等关键线索。

视觉与图片

  • 查看图片工具可直接预览图片image 工具卡片现在会在下方显示本次实际提供给模型查看的图片,方便核对模型正在看哪张图;无痕或禁止落盘场景仍不生成预览附件。该工具文案也从「图像分析 / 视觉输入」统一为「查看图片」,UI 标签、设置文案与 12 语言同步更新。
  • 给不支持图片的模型发图片不再整轮报错:向纯文本模型发送图片时,现在会自动忽略图片、照常继续回答,并在对话里挂一条灰色小提示说明(IM 渠道同样会收到对应通知),不再因后端拒收图片内容而整轮失败。
  • 视觉工具结果在图片不可读时不再泄漏内部标记:物化图片文件不可读 / 过大 / 类型不符而无法编码为 Provider 视觉输入时,降级为文本说明,不再把内部标记回灌给模型(Anthropic / OpenAI Chat / Responses 三种路径对齐)。

侧边栏与项目体验

  • 侧边栏会话列表默认简约模式:会话列表默认改为单行简约视图,更紧凑、一屏可见更多会话(可在设置中切回详细模式);简约模式下鼠标悬停会话项时会就地淡入显示其所属 Agent 的头像与名称,每个会话的右键菜单新增「删除」项。
  • 侧边栏项目会话独立分页:每个项目的会话列表现在独立加载,默认展示最近 15 条,底部「展开显示」每次多加载 15 条、「折叠显示」回到 15 条,不再受全局分页窗口限制而看不到项目里较早的会话。
  • 侧边栏项目区与折叠动效优化:项目组在侧边栏中更像一级对象,项目名加粗并预留操作按钮空间,数量徽标不再挤压标题;Agent / 项目 / 归档项目 / 项目内会话组的展开收起统一使用平滑动画。
  • 项目内设默认权限模式现可正确生效:此前进项目会立即创建一条空会话,绕过了从 Agent 默认权限模式初始化的链路,导致在项目里把权限模式「设为默认」后新开的项目对话仍显示 default。现在进项目「新建对话」与普通对话一致,改为发首条消息时才创建会话,并由后端统一按 Agent 的默认权限模式初始化。

稳健性

  • 配置读取失败不再静默清空整份配置:此前 config.json 读取或解析失败时会无声回退成默认配置,紧接着的一次保存会把默认配置覆盖写回,导致已配置的 Provider / MCP 服务器 / 初始设置状态被永久清空、每次启动都重走初始设置向导。现在读取失败会在日志中明确报错并把无法解析的文件备份为 config.json.corrupt-<时间戳>,启动时配置仍不可读会进入恢复页允许重试或恢复自动备份,并容忍 Windows 编辑器写入的 UTF-8 BOM。
  • 修复 macOS 应用装在非系统卷时桌面自动更新失败:当 Hope Agent 安装 / 运行在与系统临时目录不同的磁盘卷上时,桌面端「更新并重启」此前会因跨卷移动新应用失败(Cross-device link)而中断;现在启动时会把更新用的临时目录重定向到应用所在卷,更新可正常完成。
  • 推理深度设置更易发现:使用支持推理的自定义模型时,设置里模型「支持推理 / 思考」开关旁新增说明;聊天界面的模型菜单在模型未启用推理时也会引导前往「设置 → 模型服务商」开启,不再让人误以为自定义 Provider 无法调节推理深度。
  • 其它修复:异常中断恢复提示不再反复刷屏;长回合里已完成的步骤实时折叠、异常中断后输入框也会自动恢复;无痕会话「关闭即焚」更彻底(大工具结果与后台任务结果不再落盘、不再保存明文命令、不再提供「始终允许」);IM 快速连发消息不再互相打架(一次只处理一个回合,后到的消息留待下个回合);个人资料设置入口不再显示 i18n key 错误;记忆断言回填弹层不再横向溢出。

其它界面优化

  • 聊天左右面板窄窗口响应式与动画优化:窗口缩小时右侧工作面板先自动折叠、继续缩小时左侧会话栏再折叠,窗口变宽后仅恢复由响应式路径自动折叠的面板、不覆盖用户手动选择;自动折叠阈值改用 matchMedia 监听以降低拖拽窗口时的重渲染压力,左右面板动画拆为布局占位过渡与 transform / opacity 视觉滑动。
  • 桌面主窗口记住并恢复上次位置:桌面端现在会连同窗口尺寸一并记住主窗口位置,重启后恢复到上次摆放处;若保存的位置落在已断开的显示器上会自动夹回当前可用屏幕。
  • 记忆断言(Claims)设置页更易理解:「记忆 → 记忆断言(Claims)」补充面向用户的说明区,解释记忆断言是什么、什么状态会影响 AI 回复、如何审核以及「回填历史记忆」的作用,并统一简中 / 繁中术语、把回填入口改为更明确的「回填历史记忆」。

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