---
read_when:
    - 你想了解你的代理程式「位於」何處
    - 無論你是在 Telegram、WhatsApp 還是網頁上撰寫內容，都希望能使用相同的上下文。
    - 你希望你的代理程式知道群組和側邊討論串中發生的情況
summary: 跨越你所有頻道的單一持續對話：個人代理程式的預設設定
title: 主要工作階段
x-i18n:
    generated_at: "2026-07-19T13:41:37Z"
    model: gpt-5.6
    postprocess_version: locale-links-v1
    prompt_version: 32
    provider: openai
    source_hash: fb77382ebdce269a05a03ab6fa39b44b1e9f1856166f1d9cb79111dccb547f69
    source_path: concepts/main-session.md
    workflow: 16
---

OpenClaw 首先是一個個人代理。開箱即用時，你傳送給它的每則直接訊息——無論來自 Telegram、WhatsApp、iMessage、Slack 私訊、網頁應用程式或任何地方——都會進入**同一個持續延伸的對話**：主工作階段。你可以在手機上提問，再從筆記型電腦追問，代理在兩處都擁有相同的脈絡。它只有一個大腦，而這裡就是它思考的地方。

在底層，主工作階段是金鑰為
`agent:<agentId>:main`（例如 `agent:main:main`）的一般工作階段。它的特殊之處
在於預設的私訊範圍會將所有直接訊息彙整到其中，而系統的其他部分
則將它視為代理的根：心跳偵測會喚醒它、背景工作會向它回報，
其他地方的活動也會向上匯入其中。

## 首頁

在網頁應用程式中，主工作階段就是**首頁**頁面——側邊欄的第一個項目。
頂端的身分列代表你的代理（按一下即可開啟代理選單）；
首頁則是你與它交談的地方。從主對話分支出的工作階段會顯示在
**討論串**下，群組聊天顯示在**群組**下，而程式設計／命令列介面工作階段則顯示在**程式設計**下。

## 匯入主工作階段的內容

主工作階段不只是聊天記錄；它是代理世界匯聚之處：

- **群組活動。** 群組和聊天室工作階段會保持隔離（見下文），但
  在預設的私訊範圍下，主工作階段會自動監看它們。
  活動會排入佇列，形成精簡通知——依每個對話合併，絕不會
  每則訊息都喚醒一次——代理會在下次執行時看到它們：可能是在
  你傳送下一則訊息時，或排定的心跳偵測執行時。代理也能讀取它監看的
  工作階段，因此「家庭群組裡有哪些我錯過的訊息？」這類問題也能處理。
- **背景工作。** 子代理與產生的工作階段會將結果
  回報給啟動它們的工作階段，因此代理從
  首頁發起的工作會回報到首頁。
- **心跳偵測。** 排定的心跳偵測會以主工作階段為目標，因此
  即使你尚未傳送任何訊息，排入佇列的通知也能轉化為代理的認知。

## 跨重設與對話的記憶

持續延伸的對話受模型脈絡視窗限制，因此
連續性來自其周圍的多個層次：

- `MEMORY.md` 是代理精心整理的長期記憶，會載入每個
  全新的工作階段。每日筆記（`memory/YYYY-MM-DD.md`）可隨需搜尋，
  而近期筆記會在 `/new` 或 `/reset` 後重新預載。在壓縮前，
  代理會將需要持久保存的事實寫入每日筆記，讓長對話
  不會在不知不覺間遺失它們。
- **跨對話記憶回想**可讓代理回想
  其他私人工作階段中的內容。在個人設定中——全域
  `session.dmScope` 解析為 `main`，且沒有個別繫結的私訊覆寫——此功能
  預設啟用；任何已設定的私訊隔離都會將其關閉，除非你
  明確選擇啟用。請參閱[記憶設定](/zh-TW/reference/memory-config)。

## 具有持久歷史記錄的持續延伸工作階段

主工作階段會透過重設與壓縮持續向前推進，而不是
讓模型一次承載完整歷史記錄：

- 預設不會自動重設；壓縮會限制使用中的脈絡大小，
  同時保留持續延伸的工作階段。每日與閒置重設皆為
  選用功能（請參閱[工作階段管理](/zh-TW/concepts/session)）。執行 `/new` 和 `/reset` 時，
  即將結束之對話的尾段會儲存至每日記憶筆記，
  而下一個工作階段會重新預載近期筆記。重設會指派新的即時工作階段 ID，但
  先前的 SQLite 對話記錄仍可透過相同的主工作階段
  金鑰搜尋。
- 當對話接近脈絡視窗限制時，壓縮會進行摘要
  並在原處繼續——對話記錄歷史仍會保留在工作階段儲存區中。
- 工作階段清單會顯示目前的即時對話，而非其背後的每個歷史
  工作階段 ID。
- 當每個代理儲存區的實體資料庫、WAL 和工作階段成品
  超過磁碟預算（預設為 10 GB）時，OpenClaw 會將最舊且
  未被參照的歷史記錄擷取至經驗證的壓縮封存檔，再移除對應的
  資料庫資料列。即時、已路由及處理中的工作階段絕不會因預算限制而遭移除。

## 改用隔離的情況

對於只有你會與之交談的代理，共用主工作階段是合適的預設值。
如果有多人可以傳訊息給你的代理，請隔離私訊：

```json5
{
  session: {
    dmScope: "per-channel-peer",
  },
}
```

使用隔離範圍時，每位傳送者都會獲得各自的工作階段，主工作階段的
群組監看會停用，跨對話記憶回想也預設關閉。`openclaw security audit` 在偵測到
多位私訊傳送者時會建議採用隔離。完整的範圍矩陣、身分連結及各路由
覆寫，請參閱[工作階段管理](/zh-TW/concepts/session)和
[頻道路由](/zh-TW/channels/channel-routing)。

## 相關內容

- [工作階段管理](/zh-TW/concepts/session)——路由、範圍、重設
- [頻道路由](/zh-TW/channels/channel-routing)——代理與工作階段的選取方式
- [記憶](/zh-TW/concepts/memory)——持久記憶層
- [多代理](/zh-TW/concepts/multi-agent)——執行多個彼此隔離的代理
