记忆
Halo 的记忆是 AI 为自己记下的长期笔记:同一工作区的对话共享一份记忆,每位数字人也有自己的记忆。你可以设置、整理、查看文件或清除它。
直接对 Halo 说
记住:周报一律用表格。
Halo 把这条偏好写进记忆,并告诉你记下了。之后在同一工作区开新对话,它一开始就会读到这条。在数字人的聊天里这样说,记下的是这位数字人自己的记忆。
想让它忘掉什么,就说:
忘掉我之前给你的服务器地址。
Halo 会从记忆里删掉那一条。
Halo 有两种记忆:工作区记忆,给这个工作区里的普通对话共用;数字人记忆,每位数字人一份。两种记忆都由 AI 自己决定记什么、怎么整理,你不用维护。2.x 的界面把「Memory」译成「内存」,从 3.0 起叫 记忆。
工作区记忆
同一个工作区里的所有普通对话共享一份记忆。设置里的说明是:「此工作区中的对话共享同一份记忆:长期有效的决策、偏好和专业知识,并按主题整理。更改适用于新对话。」
- 默认开启,不用做任何准备。记忆文件在第一次用到时才创建。
- AI 在新对话的第一条消息前读到记忆:当前状态(最多 8 KB)、历史条数和最新 3 条标题,以及主题目录。之后在对话中,它按需自己去读、去改记忆文件。
- 继续一个旧对话时,不会再次附上这份记忆。
- 对话里记下的「进行中的工作」可能来自另一个对话。AI 会先核实,再依赖它。
- 处理某个知识库文档的对话,不加载工作区记忆。
在哪里设置
- 点会话顶部的工作区选择器,选 管理工作区。
- 把鼠标移到工作区卡片上,点 ⋮(更多)› 编辑,打开 编辑工作区 对话框。
- 展开 高级 › 工作区记忆,按需修改。各项含义见记忆设置。
- 点对话框的 保存。设置不会即时生效,点了 保存 才算数,并且只对新对话有效。

如果对话框提示「无法加载记忆设置。请关闭并重新打开此对话框以重试。」,设置加载出来之前各项都不能改,按提示重开即可。保存失败时会提示「无法保存记忆设置。请重试。」
Halo 工作区也有工作区记忆,同样默认开启。但它的卡片菜单只有 在文件夹中显示,没有设置界面。要改它的记忆设置,请让 AI 来做:
直接对 Halo 说
关掉这个工作区的记忆。
Halo 会把当前工作区的 记忆 开关关掉,已有的记忆文件保留。也可以说「现在整合一下这个工作区的记忆」。
前提:在输入框 + › 能力 里打开 操作 Halo。AI 可以提醒你打开,但不能自己打开。
数字人记忆
每位数字人有一份自己的长期记忆。它的计划任务和自动运行、聊天、IM 会话、团队中的工作,读写的都是这一份。数字人记忆分三部分:
| 部分 | 内容 |
|---|---|
| 当前状态 | 现在的情况摘要,之后可以有按对象分的小节、常见规律和错误记录 |
| 历史 | 按时间倒序的记录,每条都标明是哪次运行或哪个会话写的 |
| 主题 | 按主题整理的长期知识,见主题 |
- 每次运行或新聊天开始时,数字人读到当前状态(最多 16 KB)、历史条数和最新 8 条标题,以及主题目录。
- 每次自动运行结束(什么都没做的运行除外),还会留下一份运行记录:触发方式、结果、耗时、token 用量和最多 2000 字符的输出。
- 数字人被要求只记会一直成立的工作状态,比如「订单已提交,等待付款」,不记「我在第 3 页」这类个人进度。
在哪里设置:数字人 › 选中一位数字人 › 能力与设置 › 高级(默认折叠)› 记忆。面板和工作区的记忆设置一样,但这里每项改动立即保存,没有 保存 按钮。
使用工作区记忆:这个开关在同一面板里,默认关闭。打开后,数字人在它的每个对话里都能只读地查看所在工作区记下的主题。它不能修改工作区记忆,只能把学到的东西写进自己的记忆。
| 情况 | 结果 |
|---|---|
| 数字人自己的 记忆 关闭 | 开关不可用,提示「开启记忆后可使用此功能。」 |
| 工作区记忆关闭,或工作区还没有任何主题 | 打开也读不到内容 |
| 打开且条件满足 | 只共享主题,不共享工作区的当前状态和历史;从新对话开始生效 |
另外两点:
- 能力与设置 里「始终可用:网页搜索、记忆」下面,记忆 一行一直显示「内置 · 始终开启」。即使你在 高级 › 记忆 里关掉了记忆,这一行也不会变,以 高级 里的开关为准。
- 临时协作中由 AI 临时创建的成员没有记忆。团队被保留为长期团队后,成员才有记忆。
记忆设置
工作区和数字人用的是同一块设置面板。
| 设置 | 默认 | 说明(界面原文) |
|---|---|---|
| 记忆 | 开 | 「关闭时,AI 既不会读取也不会写入此记忆。现有记忆将保留。」 |
| 自动整合 | 开 | 「关闭时,记忆不会重新整理;一旦其历史记录变得过长,最早的条目将被归档。」记忆关闭时不可用 |
| 整合频率 | 勤勉 | 三档,见下表。记忆关闭时不可用 |
| 整合频率 | 界面提示 |
|---|---|
| 勤勉(默认) | 「尽早且频繁地整理。召回效果最佳;使用模型最多。」 |
| 均衡 | 「当记忆明显增长时整理。」 |
| 经济 | 「仅在记忆量较大时整理。使用模型最少。」 |
关掉 自动整合 后,提示变为「整合已关闭:该频率决定历史记录在最早条目被归档前可增长多久。」面板底部写着:「这些更改会影响 AI 的工作方式:记忆越整洁,它就越能更好地回忆起之前的结论。」
状态框显示这份记忆现在的情况:
| 显示 | 含义 |
|---|---|
| 「{大小} · {数量} 个主题」 | 大小是 memory.md 加上所有主题文件 |
| 「暂无记忆」 | 还没有任何记忆 |
| 「上次整合于 {时间}」或「从未整合」 | 最近一次整合的时间 |
| 「上次尝试无法重新整理记忆;旧历史记录已改为归档。」 | 上次整合失败,只做了归档 |
| 「上次尝试未完成。」 | 上次整合没有做完 |
立即整合 按钮马上开始整合,不看阈值和间隔。整合中按钮显示「正在整合…」,状态每 3 秒刷新一次。可能的提示:「已在整合中。」「暂无可整合的内容。」(还没有记忆文件)「无法启动整合。」记忆 关闭时,立即整合 仍然可以点,会整理已有的文件。
整合
整合是 Halo 在后台让 AI 整理一份记忆:合并重复内容,把长期有效的知识移进主题,精简当前状态,归档旧历史。整合时你看不到通知,任务面板里也没有条目,只有状态框会变化。
整合会用模型,消耗 token
整合由 AI 完成,会消耗 token(模型计费的用量单位)。数字人的整合用它自己的模型。工作区的自动整合用触发它的那个对话的模型;点 立即整合 时用全局默认模型。想少花一些,选 经济,或关掉 自动整合。
何时自动整合:每个工作区对话回合结束后,以及数字人每次运行、聊天、IM 或团队回合结束后,Halo 检查一次。只要超过下表任一阈值,并且距上次尝试已过最短间隔,就开始整合。
| 整合频率 | 记忆文件总大小 | 当前状态 | 历史条数 | 最短间隔 | 整理后保留的历史条数 |
|---|---|---|---|---|---|
| 勤勉(默认) | 100 KB | 8 KB | 30 | 1 小时 | 10 |
| 均衡 | 200 KB | 16 KB | 60 | 4 小时 | 20 |
| 经济 | 400 KB | 32 KB | 120 | 12 小时 | 40 |
当前状态的阈值有上限:工作区记忆最多 8 KB,数字人记忆最多 16 KB。
- 同一份记忆同一时间只做一次整合。别的对话或运行正在用这份记忆时,整合会推迟,最多推迟 5 次,之后照常进行。
- 整合在一份副本上进行,原记忆照常可用;期间新写入的内容会合并进结果。
- 应用前会检查结果:当前状态和历史都在,每个主题都有描述,没有主题被悄悄删掉,主题内容没有缩减超过 40%。
- 整合失败时,只在历史超出上限时裁剪历史,并且要等
memory.md再增长 20% 才会再次自动尝试。 - 关掉 自动整合:记忆不再被整理。只有历史条数或文件大小超过上限时,才把最早的历史归档,留下上表最后一列的条数。
- 记忆 关闭时,什么都不会自动运行。
AI 记什么,不记什么
AI 只记以后的对话用得上的东西。它收到的原话是「Most conversations record nothing.」(大多数对话什么都不记)。
| 会记 | 不会记 |
|---|---|
| 决定和理由 | 密码、密钥、token 等凭据和机密 |
| 长期有效的偏好 | 每一次回复的流水账 |
| 核实过的项目事实 | 当前任务的个人进度 |
| 可复用的做法、失败的教训 | 团队看板上的任务、角色和状态 |
记忆只是参考资料:它不能推翻当前的指令,也不能给 AI 额外的权限。可变的事实,AI 用之前会到源头再核实。
主题
主题是 AI 写的一组 Markdown 页面,一页讲一件事。每页开头写明名称,以及什么时候该读这一页。文件夹可以作为分类。
- 新对话开始时,AI 看到一份主题目录。目录每次从文件重新生成,预算 6000 字符:第一层总是列出,更深的层级会折叠起来,只显示还有多少页。
- 主题数量和大小没有上限。
- AI 被要求先搜索再新建,一页一个主题,用链接代替复制。
- Halo 没有浏览主题的界面。状态框里能看到主题数量,内容请直接打开记忆文件。
记忆文件在哪里
记忆是普通的 Markdown 文件,可以手动打开、修改,改动对之后的新对话生效。
| 记忆 | 位置 |
|---|---|
| 工作区记忆 | ~/.halo/spaces/<工作区 ID>/.halo/ 下的 memory.md 和 memory/ 文件夹 |
| Halo 工作区的记忆 | ~/.halo/temp/.halo/ |
| 数字人记忆 | ~/.halo/spaces/<工作区 ID>/.halo/apps/<数字人 ID>/,含 memory.md、memory/ 和运行日志 runs/ |
Windows 上,~/.halo 是 %USERPROFILE%\.halo。
- 工作区记忆总在 Halo 的数据文件夹里,从不在你的项目文件夹里,即使工作区关联了自定义文件夹。工作区卡片上的 在文件夹中显示 打开的是工作目录,不是记忆所在的位置。
- 数字人的记忆位置:能力与设置 › 高级 › 应用规格 › 记忆文件,显示路径;点 在访达中显示 打开文件夹。这个链接在 Windows 和 Linux 上也叫这个名字。仅桌面版 在远程网页和安卓端不显示路径,链接也不起作用。
- 数字人移到另一个工作区后,它的记忆文件夹留在原处,个人记忆照常可用。
memory/里的run/、archive/、.snapshots/等文件夹由系统维护,AI 的写入会被拒绝。- 每次整合前,Halo 会给
memory.md和主题做快照:第一份永久保留,另外轮换保留 3 份;旧的memory.md也会存进archive/。没有恢复按钮,要恢复就把文件复制回去。所以让 AI「忘掉」某件事后,旧内容可能还留在这些文件里。
清除记忆
只有数字人的记忆可以一键清除,有两个入口:
- 数字人页顶部 更多 › 清除记忆,在「清除此数字人的记忆?」对话框里点 清除记忆。
- 能力与设置 › 高级 › 危险区域 › 清除记忆,看到「这将永久删除所有记忆文件(memory.md 和运行历史)。应用将在下次运行时重新开始。」后点 确认清除。
清除后无法恢复
清除会永久删除 memory.md、memory/ 下的全部内容(主题、运行记录、归档、快照)和 runs/ 里的运行日志,快照也一起删掉。工作区里的文件不受影响。开了 操作 Halo 时,你也可以让 AI 清除,它会直接执行,不再问你。
其他操作和记忆的关系:
| 操作 | 记忆 |
|---|---|
| 清空所有对话 | 保留 |
| 卸载数字人 | 保留 |
| 永久删除 已卸载的数字人 | 和它的数据文件夹一起删除 |
| 删除工作区 | 工作区记忆一起删除 |
工作区记忆没有清除按钮。 不想用了,就关掉 记忆(文件保留);要删掉内容,手动编辑或删除记忆文件。
访客和来自其他电脑的请求
记忆对受限的请求始终开放,不受能力开关控制:
- IM 里的访客
- 同事电脑发给团队成员的请求(见跨电脑团队)
- 团队在 IM 里回复的访客
这些请求可以读写数字人自己的记忆(memory.md 和主题),但碰不到运行记录、归档和快照。只有 使用工作区记忆 和工作区记忆都开着时,它们才能读工作区的主题。界面上的相关说明:
- 访客能力设置:「记忆始终可用,且不受这些设置影响。文件访问仅限于此空间。」
- 团队成员的「其他人可以要求它做什么」:「来自其他电脑的请求始终可以使用记忆,且其文件访问范围仅限于此空间。」
AI 被要求不向访客透露记忆里的敏感内容。这是给 AI 的指令,不是过滤器,所以别让数字人记下不该给访客看的东西。访客写的历史会标明来自访客。权限设置见主人与访客权限。
Codex SDK 和 DeepSeek dsh 引擎
在这两个实验性 Agent 引擎上,记忆照常可用,但没有写入锁,也不强制只读边界(比如数字人读到的工作区记忆),只靠给 AI 的指令约束。默认引擎和 Halo SDK 会强制执行。
记忆和知识库有什么区别
记忆是 AI 一边工作一边为自己写的笔记;知识库装的是你收集和管理的文档,AI 在需要时检索它。
| 我想… | 用这个 |
|---|---|
| 让 Halo 记住我的偏好或项目约定 | 记忆:直接说「记住:……」 |
| 让 Halo 忘掉某件事 | 记忆:说「忘掉……」,或手动编辑记忆文件 |
| 让 AI 根据我收集的一批文档回答 | 知识库 |
| 让数字人参考工作区对话里学到的东西 | 数字人的 使用工作区记忆 |
| 只在这一次对话里用某个文件 | 把文件直接发到对话里 |