> ## Documentation Index
> Fetch the complete documentation index at: https://openclaw.zhcndoc.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 主会话

OpenClaw 首先是一个个人代理。开箱即用时，你发送给它的每一条直接消息——无论来自 Telegram、WhatsApp、iMessage、Slack 私信、Web 应用，还是其他任何地方——都会进入**一个滚动会话**：主会话。你可以在手机上提问，再从笔记本电脑上继续跟进，代理在两个地方都拥有相同的上下文。只有一个大脑，而这就是它思考的地方。

在底层，主会话是一个普通会话，其键为
`agent:<agentId>:main`（例如 `agent:main:main`）。它之所以特别，
是因为默认的 DM 范围会把所有直接消息都归并到这里，而且系统的其他部分会将其视为代理的根：心跳会唤醒它，
后台工作会向它回报，其他地方的活动也会汇总到它这里。

## 首页

在 Web 应用中，主会话是 **首页** 页面——侧边栏中的第一个入口。顶部的身份行是你的代理（点击它可打开代理菜单）；首页是你与它对话的地方。分叉自主对话的会话会显示在 **线程** 下，群聊会显示在 **群组** 下，而编码/CLI 会话会显示在 **编码** 下。

## 什么会流入主会话

主会话不仅仅是聊天记录；它是你的代理的世界汇聚之处：

* **群组活动。** 群组和房间会话保持隔离（见下文），但在默认的 DM 范围下，主会话会自动监视它们。活动会以紧凑通知的形式排队——按每个对话合并，而不是每条消息都唤醒一次——并且代理会在下次运行时看到它们：在你的下一条消息到来时，或在计划的心跳触发时。代理也可以读取它所监视的会话——它的系统提示会列出这些会话——因此“我错过了家人群里什么吗？”这类问题是可行的。
* **后台工作。** 子代理和派生会话会把结果回报给启动它们的会话，因此代理从 Home 发起的工作会回报到 Home。
* **心跳。** 计划的心跳会以主会话为目标，这会在你没有写任何内容时，也能把队列中的通知转化为感知。

## 重置和会话之间的记忆

滚动对话受模型上下文窗口的限制，因此
连续性来自其周围的多层机制：

* `MEMORY.md`，即代理精心整理的长期记忆，会在每个
  新会话中加载。日常笔记（`memory/YYYY-MM-DD.md`）可按需搜索，
  并且在 `/new` 或 `/reset` 之后会重新预热最近的笔记。在压缩之前，
  代理会将持久事实刷新到日常笔记中，这样长对话就不会无声地丢失它们。
* **跨会话记忆回忆** 允许代理回忆
  其其他私有会话中的内容。在个人设置中——全局
  `session.dmScope` 解析为 `main` 且没有每个绑定的 DM 覆盖——它
  默认启用；任何已配置的 DM 隔离都会将其关闭，除非你显式选择启用。
  参见 [Memory configuration](/reference/memory-config)。

## 一个带有持久历史记录的滚动会话

主会话会通过重置和压缩向前滚动，而不是让模型一次性承载其全部历史：

* 默认情况下不会自动重置；压缩会在保持滚动会话的同时，将活动上下文限制在边界内。每日重置和空闲重置都是可选功能（参见 [会话管理](/concepts/session)）。在 `/new` 和 `/reset` 时，结束对话的尾部内容会保存到每日记忆笔记中，下一次会话会重新注入最近的笔记。重置会分配一个新的在线会话 id，但会让之前的 SQLite 对话记录在同一个主会话键下保持可搜索。
* 当对话接近上下文窗口时，压缩会对其进行总结并在原处继续——对话记录历史仍保留在会话存储中。
* 会话列表显示的是当前在线对话，而不是其背后每个历史会话 id。
* 当每个代理的存储中的物理数据库、WAL 和会话工件超过磁盘预算（默认 10 GB）时，OpenClaw 会先将最早的未被引用历史提取到经过验证的压缩归档中，然后再移除其数据库行。在线、已路由和进行中的会话绝不会成为预算牺牲品。

## 何时改为使用隔离

共享主会话是默认的正确选择，适用于只有你与其对话的代理。如果有多人可以给你的代理发送消息，请隔离私信：

```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  session: {
    dmScope: "per-channel-peer",
  },
}
```

使用隔离作用域时，每个发送者都会获得自己的会话，来自主会话的群组监控将被禁用，并且跨对话记忆回忆默认关闭。`openclaw security audit` 在检测到多个私信发送者时会建议使用隔离。完整的作用域矩阵、身份关联以及按路由覆盖都在 [会话管理](/concepts/session) 和 [通道路由](/channels/channel-routing) 中进行了说明。

## 相关内容

* [会话管理](/concepts/session) — 路由、作用域、重置
* [通道路由](/channels/channel-routing) — 如何选择智能体和会话
* [记忆](/concepts/memory) — 持久化记忆层
* [多智能体](/concepts/multi-agent) — 运行多个相互隔离的智能体
