docs: Persistent Command History (#1627)

This commit is contained in:
Ebony Louis
2025-03-11 18:00:51 -04:00
committed by GitHub
parent 4cdcbba77e
commit 3404b5be95

View File

@@ -9,15 +9,22 @@ Goose uses a unified storage system for conversations and interactions. All conv
| **Type** | **Unix-like (macOS, Linux)** | **Windows** | | **Type** | **Unix-like (macOS, Linux)** | **Windows** |
|---------------------|----------------------------------------|---------------------------------------------| |---------------------|----------------------------------------|---------------------------------------------|
| **Session Records** | `~/.local/share/goose/sessions/` | `%APPDATA%\Block\goose\data\sessions\` | | **Command History** | `~/.config/goose/history.txt` | `%APPDATA%\Block\goose\data\history.txt` |
| **System Logs** | `~/.local/state/goose/logs/` | `%APPDATA%\Block\goose\data\logs\` | | **Session Records** | `~/.local/share/goose/sessions/` | `%APPDATA%\Block\goose\data\sessions\` |
| **System Logs** | `~/.local/state/goose/logs/` | `%APPDATA%\Block\goose\data\logs\` |
:::info Privacy :::info Privacy
Goose is a local application and all log files are stored locally. These logs are never sent to external servers or third parties, ensuring that all data remains private and under your control. Goose is a local application and all log files are stored locally. These logs are never sent to external servers or third parties, ensuring that all data remains private and under your control.
::: :::
## Command History
Goose stores command history persistently across chat sessions, allowing Goose to recall previous commands.
Command history logs are stored in:
* Unix-like: ` ~/.config/goose/history.txt`
* Windows: `%APPDATA%\Block\goose\data\history.txt`
## Session Records ## Session Records
@@ -26,7 +33,7 @@ Goose maintains session records in `~/.local/share/goose/sessions/` that track t
Session files are named with the pattern `[session-id].jsonl` where the session ID matches the identifier used in the corresponding log files. For example, `ccK9OTmS.jsonl` corresponds to log files like `20250211_133920-ccK9OTmS.log`. Session files are named with the pattern `[session-id].jsonl` where the session ID matches the identifier used in the corresponding log files. For example, `ccK9OTmS.jsonl` corresponds to log files like `20250211_133920-ccK9OTmS.log`.
Each session file contains a chronological record of: Each session file contains a chronological record of:
- User messages and commands - User messages and commands (commands are also stored persistently in `history.txt`)
- Assistant (Goose) responses - Assistant (Goose) responses
- Tool requests and their results - Tool requests and their results
- Timestamps for all interactions - Timestamps for all interactions