mirror of
https://github.com/zhayujie/chatgpt-on-wechat.git
synced 2026-03-12 18:01:30 +08:00
67 lines
3.1 KiB
Plaintext
67 lines
3.1 KiB
Plaintext
---
|
|
title: Memory
|
|
description: CowAgent long-term memory system
|
|
---
|
|
|
|
The memory system enables the Agent to remember important information over time, continuously accumulating experience, understanding user preferences, and truly achieving autonomous thinking and continuous growth.
|
|
|
|
## Memory Types
|
|
|
|
### Core Memory (MEMORY.md)
|
|
|
|
Stored in `~/cow/MEMORY.md`, containing long-term user preferences, important decisions, key facts, and other information that doesn't fade over time. Automatically injected into the system prompt on every conversation turn as background knowledge.
|
|
|
|
### Daily Memory (memory/YYYY-MM-DD.md)
|
|
|
|
Stored in `~/cow/memory/` directory, named by date (e.g. `2026-03-08.md`), recording daily conversation summaries and key events. Files are only created on first write to avoid generating empty files.
|
|
|
|
## Memory Writing
|
|
|
|
The Agent automatically persists conversation content to daily memory through the following mechanisms:
|
|
|
|
- **On context trimming** — When conversation turns or tokens exceed the configured limit, the oldest half of the context is trimmed in batch, and the discarded content is summarized by LLM into key information and written to the daily memory file
|
|
- **Daily scheduled summary** — A full summary is automatically triggered at 23:55 every day, ensuring memory is preserved even on low-activity days (skipped if content hasn't changed)
|
|
- **On API context overflow** — When the model API returns a context overflow error, the current conversation summary is saved as an emergency measure
|
|
|
|
All memory writes run asynchronously in a background thread (LLM summarization + file writing), never blocking normal conversation replies.
|
|
|
|
## First Launch
|
|
|
|
On first launch, the Agent will proactively ask the user for key information and save it to the workspace (default `~/cow`):
|
|
|
|
| File | Description |
|
|
| --- | --- |
|
|
| `system.md` | Agent system prompt and behavior settings |
|
|
| `user.md` | User identity information and preferences |
|
|
| `MEMORY.md` | Core memory (long-term) |
|
|
| `memory/YYYY-MM-DD.md` | Daily memory (created on demand) |
|
|
|
|
<Frame>
|
|
<img src="https://cdn.link-ai.tech/doc/20260203000455.png" width="800" />
|
|
</Frame>
|
|
|
|
## Memory Retrieval
|
|
|
|
The memory system supports hybrid retrieval modes:
|
|
|
|
- **Keyword retrieval** — Match historical memory based on keywords
|
|
- **Vector retrieval** — Semantic similarity search, finds relevant memory even with different wording
|
|
|
|
The Agent automatically triggers memory retrieval during conversation as needed, incorporating relevant historical information into context. Core memory (`MEMORY.md`) is always injected into the system prompt, while daily memory is loaded on demand via retrieval.
|
|
|
|
## Configuration
|
|
|
|
```json
|
|
{
|
|
"agent_workspace": "~/cow",
|
|
"agent_max_context_tokens": 40000,
|
|
"agent_max_context_turns": 20
|
|
}
|
|
```
|
|
|
|
| Parameter | Description | Default |
|
|
| --- | --- | --- |
|
|
| `agent_workspace` | Workspace path, memory files stored under this directory | `~/cow` |
|
|
| `agent_max_context_tokens` | Max context tokens; when exceeded, half is trimmed and summarized into memory | `40000` |
|
|
| `agent_max_context_turns` | Max context turns; when exceeded, half is trimmed and summarized into memory | `20` |
|