Sessions and memory
Dreaming
Dreaming là hệ thống hợp nhất bộ nhớ nền trong memory-core. Nó giúp OpenClaw chuyển các tín hiệu ngắn hạn mạnh vào bộ nhớ bền vững trong khi vẫn giữ cho quy trình có thể giải thích và xem xét được.
Dreaming ghi những gì
Dreaming giữ hai loại đầu ra:
- Trạng thái máy trong
memory/.dreams/(kho truy hồi, tín hiệu pha, điểm kiểm tra nhập dữ liệu, khóa). - Đầu ra con người đọc được trong
DREAMS.md(hoặcdreams.mdhiện có) và các tệp báo cáo pha tùy chọn trongmemory/dreaming/<phase>/YYYY-MM-DD.md.
Việc thăng cấp dài hạn vẫn chỉ ghi vào MEMORY.md.
Mô hình pha
Dreaming sử dụng ba pha phối hợp:
| Pha | Mục đích | Ghi bền vững |
|---|---|---|
| Nhẹ | Sắp xếp và chuẩn bị tài liệu ngắn hạn gần đây | Không |
| Sâu | Chấm điểm và thăng cấp các ứng viên bền vững | Có (MEMORY.md) |
| REM | Suy ngẫm về các chủ đề và ý tưởng lặp lại | Không |
Các pha này là chi tiết triển khai nội bộ, không phải các "chế độ" riêng do người dùng cấu hình.
Pha nhẹ
Pha nhẹ nhập các tín hiệu bộ nhớ hằng ngày gần đây và dấu vết truy hồi, khử trùng lặp chúng, rồi chuẩn bị các dòng ứng viên.
- Đọc từ trạng thái truy hồi ngắn hạn, các tệp bộ nhớ hằng ngày gần đây và bản ghi phiên đã được biên tập khi có sẵn.
- Ghi một khối
## Light Sleepđược quản lý khi lưu trữ bao gồm đầu ra nội tuyến. - Ghi lại tín hiệu củng cố cho bước xếp hạng sâu sau đó.
- Không bao giờ ghi vào
MEMORY.md.
Pha sâu
Pha sâu quyết định nội dung nào trở thành bộ nhớ dài hạn.
- Xếp hạng ứng viên bằng cách chấm điểm có trọng số và các cổng ngưỡng.
- Yêu cầu
minScore,minRecallCountvàminUniqueQueriesđạt yêu cầu. - Tái nạp đoạn trích từ các tệp hằng ngày trực tiếp trước khi ghi, vì vậy các đoạn trích cũ/đã xóa sẽ bị bỏ qua.
- Nối các mục đã thăng cấp vào
MEMORY.md. - Ghi một tóm tắt
## Deep SleepvàoDREAMS.mdvà tùy chọn ghimemory/dreaming/deep/YYYY-MM-DD.md.
Pha REM
Pha REM trích xuất các mẫu hình và tín hiệu phản tư.
- Xây dựng tóm tắt chủ đề và suy ngẫm từ các dấu vết ngắn hạn gần đây.
- Ghi một khối
## REM Sleepđược quản lý khi lưu trữ bao gồm đầu ra nội tuyến. - Ghi lại tín hiệu củng cố REM được dùng trong xếp hạng sâu.
- Không bao giờ ghi vào
MEMORY.md.
Nhập bản ghi phiên
Dreaming có thể nhập các bản ghi phiên đã được biên tập vào kho ngữ liệu Dreaming. Khi có bản ghi, chúng được đưa vào pha nhẹ cùng với tín hiệu bộ nhớ hằng ngày và dấu vết truy hồi. Nội dung cá nhân và nhạy cảm được biên tập trước khi nhập.
Nhật ký Dream
Dreaming cũng duy trì một Nhật ký Dream dạng tường thuật trong DREAMS.md. Sau khi mỗi pha có đủ tư liệu, memory-core chạy một lượt subagent nền theo best-effort và nối thêm một mục nhật ký ngắn. Nó dùng mô hình runtime mặc định trừ khi dreaming.model được cấu hình. Nếu mô hình đã cấu hình không khả dụng, Nhật ký Dream thử lại một lần bằng mô hình mặc định của phiên.
Ngoài ra còn có một làn điền bù lịch sử có căn cứ cho công việc xem xét và khôi phục:
Lệnh điền bù
memory rem-harness --path ... --groundedxem trước đầu ra nhật ký có căn cứ từ các ghi chú lịch sửYYYY-MM-DD.md.memory rem-backfill --path ...ghi các mục nhật ký có căn cứ có thể hoàn tác vàoDREAMS.md.memory rem-backfill --path ... --stage-short-termchuẩn bị các ứng viên bền vững có căn cứ vào cùng kho bằng chứng ngắn hạn mà pha sâu thông thường đã dùng.memory rem-backfill --rollbackvà--rollback-short-termxóa các tạo tác điền bù đã chuẩn bị đó mà không chạm vào các mục nhật ký thông thường hoặc truy hồi ngắn hạn trực tiếp.
Control UI hiển thị cùng luồng điền bù/đặt lại nhật ký để bạn có thể kiểm tra kết quả trong cảnh Dreams trước khi quyết định liệu các ứng viên có căn cứ có đáng được thăng cấp hay không. Cảnh này cũng hiển thị một làn có căn cứ riêng biệt để bạn có thể thấy mục ngắn hạn đã chuẩn bị nào đến từ phát lại lịch sử, mục đã thăng cấp nào được dẫn dắt bởi căn cứ, và chỉ xóa các mục đã chuẩn bị chỉ có căn cứ mà không chạm vào trạng thái ngắn hạn trực tiếp thông thường.
Tín hiệu xếp hạng sâu
Xếp hạng sâu dùng sáu tín hiệu cơ sở có trọng số cộng với củng cố theo pha:
| Tín hiệu | Trọng số | Mô tả |
|---|---|---|
| Tần suất | 0.24 | Số tín hiệu ngắn hạn mà mục đã tích lũy |
| Mức độ liên quan | 0.30 | Chất lượng truy xuất trung bình của mục |
| Độ đa dạng truy vấn | 0.15 | Các ngữ cảnh truy vấn/ngày riêng biệt đã làm nó xuất hiện |
| Mức độ gần đây | 0.15 | Điểm độ mới giảm dần theo thời gian |
| Hợp nhất | 0.10 | Độ mạnh tái xuất hiện qua nhiều ngày |
| Độ phong phú khái niệm | 0.06 | Mật độ thẻ khái niệm từ đoạn trích/đường dẫn |
Các lần khớp ở pha nhẹ và REM thêm một mức tăng nhỏ giảm dần theo độ gần đây từ memory/.dreams/phase-signals.json.
Lập lịch
Khi được bật, memory-core tự động quản lý một công việc cron cho một lượt quét Dreaming đầy đủ. Mỗi lượt quét chạy các pha theo thứ tự: nhẹ → REM → sâu.
Lượt quét bao gồm workspace runtime chính và mọi workspace agent đã cấu hình, được khử trùng lặp theo đường dẫn, vì vậy việc mở rộng workspace subagent không loại trừ DREAMS.md và trạng thái bộ nhớ của agent chính.
Hành vi nhịp mặc định:
| Cài đặt | Mặc định |
|---|---|
dreaming.frequency |
0 3 * * * |
dreaming.model |
mô hình mặc định |
Bắt đầu nhanh
Bật Dreaming
{
"plugins": {
"entries": {
"memory-core": {
"config": {
"dreaming": {
"enabled": true
}
}
}
}
}
}
Nhịp quét tùy chỉnh
{
"plugins": {
"entries": {
"memory-core": {
"config": {
"dreaming": {
"enabled": true,
"timezone": "America/Los_Angeles",
"frequency": "0 */6 * * *"
}
}
}
}
}
}
Lệnh gạch chéo
/dreaming status
/dreaming on
/dreaming off
/dreaming help
Quy trình CLI
Xem trước / áp dụng thăng cấp
openclaw memory promote
openclaw memory promote --apply
openclaw memory promote --limit 5
openclaw memory status --deep
memory promote thủ công dùng các ngưỡng pha sâu theo mặc định trừ khi bị ghi đè bằng cờ CLI.
Giải thích thăng cấp
Giải thích vì sao một ứng viên cụ thể sẽ hoặc sẽ không được thăng cấp:
openclaw memory promote-explain "router vlan"
openclaw memory promote-explain "router vlan" --json
Xem trước bộ kiểm thử REM
Xem trước các suy ngẫm REM, sự thật ứng viên và đầu ra thăng cấp sâu mà không ghi gì:
openclaw memory rem-harness
openclaw memory rem-harness --json
Mặc định chính
Tất cả cài đặt nằm dưới plugins.entries.memory-core.config.dreaming.
enabledbooleanBật hoặc tắt lượt quét Dreaming.
frequencystringNhịp Cron cho lượt quét Dreaming đầy đủ.
modelstringGhi đè mô hình subagent Nhật ký Dream tùy chọn. Dùng giá trị provider/model chuẩn khi cũng đặt danh sách cho phép allowedModels của subagent.
Giao diện Dreams
Khi được bật, thẻ Dreams của Gateway hiển thị:
- trạng thái bật Dreaming hiện tại
- trạng thái cấp pha và sự hiện diện của lượt quét được quản lý
- số lượng ngắn hạn, có căn cứ, tín hiệu và đã thăng cấp hôm nay
- thời điểm chạy theo lịch tiếp theo
- một làn Cảnh có căn cứ riêng biệt cho các mục phát lại lịch sử đã chuẩn bị
- một trình đọc Nhật ký Dream có thể mở rộng dựa trên
doctor.memory.dreamDiary
Dreaming không bao giờ chạy: trạng thái hiển thị bị chặn
Nếu openclaw memory status báo cáo Dreaming status: blocked, cron được quản lý tồn tại nhưng Heartbeat của agent mặc định không kích hoạt. Kiểm tra rằng Heartbeat đã được bật cho agent mặc định và mục tiêu của nó không phải là none, sau đó chạy lại openclaw memory status --deep sau khoảng Heartbeat tiếp theo.