---
title: "记忆：让 Halo 记住你的偏好和决定"
description: "Halo 的记忆是 AI 为自己记下的长期笔记：同一工作区的对话共享一份记忆，每位数字人也有自己的记忆。你可以设置、整理、查看文件或清除它。"
type: "explanation"
audience: ["office"]
since: "3.0"
related: ["features/spaces", "features/knowledge-base", "digital-humans/capabilities"]
lang: "zh-CN"
canonical: "https://hello-halo.cc/docs/features/memory.html"
last_updated: "2026-10-19T00:11:17+08:00"
source: "Halo 3.0.4 docs"
---
# 记忆

Halo 的记忆是 AI 为自己记下的长期笔记：同一工作区的对话共享一份记忆，每位数字人也有自己的记忆。你可以设置、整理、查看文件或清除它。

::: say
> 记住：周报一律用表格。

Halo 把这条偏好写进记忆，并告诉你记下了。之后在同一工作区开新对话，它一开始就会读到这条。在数字人的聊天里这样说，记下的是这位数字人自己的记忆。

想让它忘掉什么，就说：

> 忘掉我之前给你的服务器地址。

Halo 会从记忆里删掉那一条。
:::

Halo 有两种记忆：工作区记忆，给这个工作区里的普通对话共用；数字人记忆，每位数字人一份。两种记忆都由 AI 自己决定记什么、怎么整理，你不用维护。2.x 的界面把「Memory」译成「内存」，从 3.0 起叫 **记忆**。

## 工作区记忆 {#workspace-memory}

同一个[工作区](https://hello-halo.cc/docs/features/spaces.html)里的所有普通对话共享一份记忆。设置里的说明是：「此工作区中的对话共享同一份记忆：长期有效的决策、偏好和专业知识，并按主题整理。更改适用于新对话。」

- **默认开启**，不用做任何准备。记忆文件在第一次用到时才创建。
- AI 在**新对话的第一条消息**前读到记忆：当前状态（最多 8 KB）、历史条数和最新 3 条标题，以及主题目录。之后在对话中，它按需自己去读、去改记忆文件。
- 继续一个旧对话时，不会再次附上这份记忆。
- 对话里记下的「进行中的工作」可能来自另一个对话。AI 会先核实，再依赖它。
- 处理某个知识库文档的对话，不加载工作区记忆。

**在哪里设置**

1. 点会话顶部的工作区选择器，选 **管理工作区**。
2. 把鼠标移到工作区卡片上，点 **⋮（更多）› 编辑**，打开 **编辑工作区** 对话框。
3. 展开 **高级 › 工作区记忆**，按需修改。各项含义见[记忆设置](#settings)。
4. 点对话框的 **保存**。设置不会即时生效，点了 **保存** 才算数，并且只对新对话有效。

![编辑工作区对话框中展开的「高级 › 工作区记忆」，有记忆、自动整合、整合频率（勤勉、均衡、经济）和带「立即整合」按钮的状态框](https://hello-halo.cc/docs/images/features/memory/workspace-memory.zh.webp)

如果对话框提示「无法加载记忆设置。请关闭并重新打开此对话框以重试。」，设置加载出来之前各项都不能改，按提示重开即可。保存失败时会提示「无法保存记忆设置。请重试。」

**Halo 工作区**也有工作区记忆，同样默认开启。但它的卡片菜单只有 **在文件夹中显示**，没有设置界面。要改它的记忆设置，请让 AI 来做：

::: say
> 关掉这个工作区的记忆。

Halo 会把当前工作区的 **记忆** 开关关掉，已有的记忆文件保留。也可以说「现在整合一下这个工作区的记忆」。

**前提**：在输入框 **＋ › 能力** 里打开 **[操作 Halo](https://hello-halo.cc/docs/features/operate-halo.html)**。AI 可以提醒你打开，但不能自己打开。
:::

## 数字人记忆 {#digital-human-memory}

每位[数字人](https://hello-halo.cc/docs/digital-humans/overview.html)有一份自己的长期记忆。它的计划任务和自动运行、聊天、IM 会话、团队中的工作，读写的都是这一份。数字人记忆分三部分：

| 部分 | 内容 |
|---|---|
| 当前状态 | 现在的情况摘要，之后可以有按对象分的小节、常见规律和错误记录 |
| 历史 | 按时间倒序的记录，每条都标明是哪次运行或哪个会话写的 |
| 主题 | 按主题整理的长期知识，见[主题](#topics) |

- 每次运行或新聊天开始时，数字人读到当前状态（最多 16 KB）、历史条数和最新 8 条标题，以及主题目录。
- 每次自动运行结束（什么都没做的运行除外），还会留下一份运行记录：触发方式、结果、耗时、token 用量和最多 2000 字符的输出。
- 数字人被要求只记会一直成立的工作状态，比如「订单已提交，等待付款」，不记「我在第 3 页」这类个人进度。

**在哪里设置**：**数字人** › 选中一位数字人 › **能力与设置** › **高级**（默认折叠）› **记忆**。面板和工作区的[记忆设置](#settings)一样，但这里每项改动**立即保存**，没有 **保存** 按钮。

**使用工作区记忆**：这个开关在同一面板里，**默认关闭**。打开后，数字人在它的每个对话里都能**只读**地查看所在工作区记下的主题。它不能修改工作区记忆，只能把学到的东西写进自己的记忆。

| 情况 | 结果 |
|---|---|
| 数字人自己的 **记忆** 关闭 | 开关不可用，提示「开启记忆后可使用此功能。」 |
| 工作区记忆关闭，或工作区还没有任何主题 | 打开也读不到内容 |
| 打开且条件满足 | 只共享主题，不共享工作区的当前状态和历史；从新对话开始生效 |

另外两点：

- **能力与设置** 里「始终可用：网页搜索、记忆」下面，**记忆** 一行一直显示「内置 · 始终开启」。即使你在 **高级 › 记忆** 里关掉了记忆，这一行也不会变，以 **高级** 里的开关为准。
- 临时协作中由 AI 临时创建的成员没有记忆。团队被保留为长期团队后，成员才有记忆。

## 记忆设置 {#settings}

工作区和数字人用的是同一块设置面板。

| 设置 | 默认 | 说明（界面原文） |
|---|---|---|
| **记忆** | 开 | 「关闭时，AI 既不会读取也不会写入此记忆。现有记忆将保留。」 |
| **自动整合** | 开 | 「关闭时，记忆不会重新整理；一旦其历史记录变得过长，最早的条目将被归档。」记忆关闭时不可用 |
| **整合频率** | **勤勉** | 三档，见下表。记忆关闭时不可用 |

| 整合频率 | 界面提示 |
|---|---|
| **勤勉**（默认） | 「尽早且频繁地整理。召回效果最佳；使用模型最多。」 |
| **均衡** | 「当记忆明显增长时整理。」 |
| **经济** | 「仅在记忆量较大时整理。使用模型最少。」 |

关掉 **自动整合** 后，提示变为「整合已关闭：该频率决定历史记录在最早条目被归档前可增长多久。」面板底部写着：「这些更改会影响 AI 的工作方式：记忆越整洁，它就越能更好地回忆起之前的结论。」

**状态框**显示这份记忆现在的情况：

| 显示 | 含义 |
|---|---|
| 「{大小} · {数量} 个主题」 | 大小是 `memory.md` 加上所有主题文件 |
| 「暂无记忆」 | 还没有任何记忆 |
| 「上次整合于 {时间}」或「从未整合」 | 最近一次整合的时间 |
| 「上次尝试无法重新整理记忆；旧历史记录已改为归档。」 | 上次整合失败，只做了归档 |
| 「上次尝试未完成。」 | 上次整合没有做完 |

**立即整合** 按钮马上开始整合，不看阈值和间隔。整合中按钮显示「正在整合…」，状态每 3 秒刷新一次。可能的提示：「已在整合中。」「暂无可整合的内容。」（还没有记忆文件）「无法启动整合。」**记忆** 关闭时，**立即整合** 仍然可以点，会整理已有的文件。

## 整合 {#consolidation}

整合是 Halo 在后台让 AI 整理一份记忆：合并重复内容，把长期有效的知识移进主题，精简当前状态，归档旧历史。整合时你看不到通知，任务面板里也没有条目，只有状态框会变化。

::: warning 整合会用模型，消耗 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 记什么，不记什么 {#what-gets-remembered}

AI 只记以后的对话用得上的东西。它收到的原话是「Most conversations record nothing.」（大多数对话什么都不记）。

| 会记 | 不会记 |
|---|---|
| 决定和理由 | 密码、密钥、token 等凭据和机密 |
| 长期有效的偏好 | 每一次回复的流水账 |
| 核实过的项目事实 | 当前任务的个人进度 |
| 可复用的做法、失败的教训 | 团队看板上的任务、角色和状态 |

记忆只是参考资料：它不能推翻当前的指令，也不能给 AI 额外的权限。可变的事实，AI 用之前会到源头再核实。

## 主题 {#topics}

主题是 AI 写的一组 Markdown 页面，一页讲一件事。每页开头写明名称，以及什么时候该读这一页。文件夹可以作为分类。

- 新对话开始时，AI 看到一份主题目录。目录每次从文件重新生成，预算 6000 字符：第一层总是列出，更深的层级会折叠起来，只显示还有多少页。
- 主题数量和大小没有上限。
- AI 被要求先搜索再新建，一页一个主题，用链接代替复制。
- Halo 没有浏览主题的界面。状态框里能看到主题数量，内容请直接打开[记忆文件](#files)。

## 记忆文件在哪里 {#files}

记忆是普通的 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「忘掉」某件事后，旧内容可能还留在这些文件里。

## 清除记忆 {#clear}

只有数字人的记忆可以一键清除，有两个入口：

1. 数字人页顶部 **更多 › 清除记忆**，在「清除此数字人的记忆？」对话框里点 **清除记忆**。
2. **能力与设置 › 高级 › 危险区域 › 清除记忆**，看到「这将永久删除所有记忆文件（memory.md 和运行历史）。应用将在下次运行时重新开始。」后点 **确认清除**。

::: danger 清除后无法恢复
清除会永久删除 `memory.md`、`memory/` 下的全部内容（主题、运行记录、归档、快照）和 `runs/` 里的运行日志，快照也一起删掉。工作区里的文件不受影响。开了 **操作 Halo** 时，你也可以让 AI 清除，它会直接执行，不再问你。
:::

其他操作和记忆的关系：

| 操作 | 记忆 |
|---|---|
| **清空所有对话** | 保留 |
| 卸载数字人 | 保留 |
| **永久删除** 已卸载的数字人 | 和它的数据文件夹一起删除 |
| 删除工作区 | 工作区记忆一起删除 |

**工作区记忆没有清除按钮。** 不想用了，就关掉 **记忆**（文件保留）；要删掉内容，手动编辑或删除记忆文件。

## 访客和来自其他电脑的请求 {#guests-and-other-computers}

记忆对受限的请求**始终开放**，不受能力开关控制：

- IM 里的访客
- 同事电脑发给团队成员的请求（见[跨电脑团队](https://hello-halo.cc/docs/digital-humans/cross-computer-teams.html)）
- 团队在 IM 里回复的访客

这些请求可以读写数字人自己的记忆（`memory.md` 和主题），但碰不到运行记录、归档和快照。只有 **使用工作区记忆** 和工作区记忆都开着时，它们才能读工作区的主题。界面上的相关说明：

- 访客能力设置：「记忆始终可用，且不受这些设置影响。文件访问仅限于此空间。」
- 团队成员的「其他人可以要求它做什么」：「来自其他电脑的请求始终可以使用记忆，且其文件访问范围仅限于此空间。」

AI 被要求不向访客透露记忆里的敏感内容。这是给 AI 的指令，不是过滤器，所以别让数字人记下不该给访客看的东西。访客写的历史会标明来自访客。权限设置见[主人与访客权限](https://hello-halo.cc/docs/digital-humans/permissions.html)。

::: info Codex SDK 和 DeepSeek dsh 引擎
在这两个实验性 [Agent 引擎](https://hello-halo.cc/docs/features/agent-engines.html)上，记忆照常可用，但没有写入锁，也不强制只读边界（比如数字人读到的工作区记忆），只靠给 AI 的指令约束。默认引擎和 Halo SDK 会强制执行。
:::

## 记忆和知识库有什么区别 {#memory-vs-knowledge-base}

记忆是 AI 一边工作一边为自己写的笔记；[知识库](https://hello-halo.cc/docs/features/knowledge-base.html)装的是你收集和管理的文档，AI 在需要时检索它。

| 我想… | 用这个 |
|---|---|
| 让 Halo 记住我的偏好或项目约定 | 记忆：直接说「记住：……」 |
| 让 Halo 忘掉某件事 | 记忆：说「忘掉……」，或手动编辑记忆文件 |
| 让 AI 根据我收集的一批文档回答 | 知识库 |
| 让数字人参考工作区对话里学到的东西 | 数字人的 **使用工作区记忆** |
| 只在这一次对话里用某个文件 | 把文件直接发到[对话](https://hello-halo.cc/docs/features/conversations.html)里 |

## 下一步 {#next-steps}

- [工作区](https://hello-halo.cc/docs/features/spaces.html)：一个项目一个工作区，各自的记忆就不会混在一起
- [知识库](https://hello-halo.cc/docs/features/knowledge-base.html)：让 AI 根据你自己的文档回答
- [能力与设置](https://hello-halo.cc/docs/digital-humans/capabilities.html)：数字人记忆设置所在的页面，逐项说明
