mirror of
https://github.com/block/goose.git
synced 2026-07-17 12:56:20 +02:00
docs: consolidate search session content, doc import recipe (#3759)
This commit is contained in:
@@ -5,7 +5,7 @@ sidebar_label: Managing Sessions
|
||||
---
|
||||
import Tabs from '@theme/Tabs';
|
||||
import TabItem from '@theme/TabItem';
|
||||
import { AppWindow, PanelLeft, FolderDot, Paperclip } from 'lucide-react';
|
||||
import { AppWindow, PanelLeft, FolderDot, Paperclip, Copy } from 'lucide-react';
|
||||
|
||||
|
||||
A session is a single, continuous interaction between you and Goose, providing a space to ask questions and prompt action. In this guide, we'll cover how to start, exit, and resume a session.
|
||||
@@ -104,13 +104,114 @@ Note that sessions are automatically saved when you exit.
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
## Search Sessions
|
||||
|
||||
Search allows you to find specific content within sessions or find specific sessions.
|
||||
|
||||
<Tabs groupId="interface">
|
||||
<TabItem value="ui" label="Goose Desktop" default>
|
||||
|
||||
You can use keyboard shortcuts and search bar buttons to search sessions in Goose Desktop.
|
||||
|
||||
| Action | macOS | Windows/Linux |
|
||||
|--------|-------|---------------|
|
||||
| Open Search | `Cmd+F` | `Ctrl+F` |
|
||||
| Next Match | `Cmd+G` or `↓` | `Ctrl+G` or `↓` |
|
||||
| Previous Match | `Shift+Cmd+G` or `↑` | `Shift+Ctrl+G` or `↑` |
|
||||
| Use Selection for Find | `Cmd+E` | n/a |
|
||||
| Toggle Case-Sensitivity | `Aa` | `Aa` |
|
||||
| Close Search | `Esc` or `X` | `Esc` or `X` |
|
||||
|
||||
The following scenarios are supported:
|
||||
|
||||
#### Search Within Current Session
|
||||
|
||||
To find specific content within your current session:
|
||||
|
||||
1. Use `Cmd+F` to open the search bar
|
||||
2. Enter your search term
|
||||
3. Use shortcuts and search bar buttons to navigate the results
|
||||
|
||||
#### Search For Session By Name or Path
|
||||
|
||||
To search all your sessions by name or working directory path:
|
||||
|
||||
1. Click the <PanelLeft className="inline" size={16} /> button in the top-left to open the sidebar
|
||||
2. Click `History` in the sidebar
|
||||
3. Use `Cmd+F` to open the search bar
|
||||
4. Enter your search term
|
||||
5. Use keyboard shortcuts and search bar buttons to navigate the results (`Cmd+E` not supported)
|
||||
|
||||
This is a metadata-only search. It doesn't search conversation content. Note that searching by file name is supported (e.g. `20250727_130002.jsonl`), but this property isn't displayed in the UI.
|
||||
|
||||
#### Search Within Historical Session
|
||||
|
||||
To find specific content within a historical session:
|
||||
|
||||
1. Click the <PanelLeft className="inline" size={16} /> button in the top-left to open the sidebar
|
||||
2. Click `History` in the sidebar
|
||||
3. Click a specific session tile from the list to view its content
|
||||
4. Use `Cmd+F` to open the search bar
|
||||
5. Enter your search term
|
||||
6. Use keyboard shortcuts and search bar buttons to navigate the results
|
||||
|
||||
:::info No Regex or operator support
|
||||
Using regular expressions or search operators in search text isn't supported.
|
||||
:::
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="cli" label="Goose CLI">
|
||||
|
||||
Search functionality is provided by your terminal interface. Use the appropriate shortcut for your environment:
|
||||
|
||||
| Terminal | Operating System | Shortcut |
|
||||
|----------|-----------------|-----------|
|
||||
| iTerm2 | macOS | `Cmd+F` |
|
||||
| Terminal.app | macOS | `Cmd+F` |
|
||||
| Windows Terminal | Windows | `Ctrl+F` |
|
||||
| Linux Terminal | Linux | `Ctrl+F` |
|
||||
|
||||
:::info
|
||||
Your specific terminal emulator may use a different keyboard shortcut. Check your terminal's documentation or settings for the search command.
|
||||
:::
|
||||
|
||||
The Goose CLI supports [listing session history](/docs/guides/goose-cli-commands#session-list-options) but doesn't provide search functionality. As a workaround, you can use your terminal's search capabilities (including regex support) to search for specific content within sessions or find specific sessions.
|
||||
|
||||
Examples for macOS:
|
||||
|
||||
```bash
|
||||
# Search session IDs (filenames)
|
||||
ls ~/.local/share/goose/sessions/ | grep "full or partial session id"
|
||||
|
||||
# List sessions modified in last 7 days
|
||||
find ~/.local/share/goose/sessions/ -mtime -7 -name "*.jsonl"
|
||||
|
||||
# Show first line (metadata) of each session file
|
||||
for f in ~/.local/share/goose/sessions/*.jsonl; do
|
||||
head -n1 "$f" | grep "your search term" && echo "Found in: $(basename "$f" .jsonl)"
|
||||
done
|
||||
|
||||
# Find search term in session content
|
||||
rg "your search term" ~/.local/share/goose/sessions/
|
||||
|
||||
# Search and show session IDs that contain search term
|
||||
for f in ~/.local/share/goose/sessions/*.jsonl; do
|
||||
if grep -q "your search term" "$f"; then
|
||||
echo "Found in session: $(basename "$f" .jsonl)"
|
||||
fi
|
||||
done
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
## Resume Session
|
||||
|
||||
<Tabs groupId="interface">
|
||||
<TabItem value="ui" label="Goose Desktop" default>
|
||||
1. Click the <PanelLeft className="inline" size={16} /> button in the top-left to open the sidebar
|
||||
2. Click `History` in the sidebar
|
||||
3. Click the session you'd like to resume
|
||||
3. Click the session you'd like to resume. Goose provides [search features](#search-sessions) to help you find the session.
|
||||
4. Choose how to resume:
|
||||
- Click `Resume` to continue in the current window
|
||||
- Click `New Window` to open in a new window
|
||||
@@ -144,56 +245,6 @@ Note that sessions are automatically saved when you exit.
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### Search Session History
|
||||
|
||||
<Tabs groupId="interface">
|
||||
<TabItem value="ui" label="Goose Desktop" default>
|
||||
In Goose Desktop, you can search session metadata including the description, filename, and working directory path. The search is text-based and supports case-sensitive matching, but doesn't search session content or support regex patterns.
|
||||
|
||||
1. Click the <PanelLeft className="inline" size={16} /> button in the top-left to open the sidebar
|
||||
2. Click `History` in the sidebar
|
||||
3. Use `Cmd+F` to open the search bar
|
||||
4. Enter your search term
|
||||
5. Use search features to refine and navigate results
|
||||
|
||||
| Action | macOS | Windows/Linux |
|
||||
|--------|-------|---------------|
|
||||
| Next Match | `Cmd+G`<br />or `↓` | `Ctrl+G`<br />or `↓` |
|
||||
| Previous Match | `Shift+Cmd+G`<br />or `↑` | `Shift+Ctrl+G`<br />or `↑` |
|
||||
| Toggle Case-Sensitivity | `Aa` | `Aa` |
|
||||
| Focus Search Bar | `Cmd+F` | `Ctrl+F` |
|
||||
| Close Search | `Esc` or X | `Esc` or X |
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="cli" label="Goose CLI">
|
||||
The Goose CLI supports [listing session history](/docs/guides/goose-cli-commands/#session-list-options) but doesn't provide search functionality. As a workaround, you can use your terminal's search capabilities (including regex support). Examples for macOS:
|
||||
|
||||
```bash
|
||||
# Search session IDs (filenames)
|
||||
ls ~/.local/share/goose/sessions/ | grep "full or partial session id"
|
||||
|
||||
# List sessions modified in last 7 days
|
||||
find ~/.local/share/goose/sessions/ -mtime -7 -name "*.jsonl"
|
||||
|
||||
# Show first line (metadata) of each session file
|
||||
for f in ~/.local/share/goose/sessions/*.jsonl; do
|
||||
head -n1 "$f" | grep "your search term" && echo "Found in: $(basename "$f" .jsonl)"
|
||||
done
|
||||
|
||||
# Find search term in session content
|
||||
rg "your search term" ~/.local/share/goose/sessions/
|
||||
|
||||
# Search and show session IDs that contain search term
|
||||
for f in ~/.local/share/goose/sessions/*.jsonl; do
|
||||
if grep -q "your search term" "$f"; then
|
||||
echo "Found in session: $(basename "$f" .jsonl)"
|
||||
fi
|
||||
done
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
### Resume Session Across Interfaces
|
||||
|
||||
You can resume a CLI session in Desktop.
|
||||
@@ -290,40 +341,6 @@ Speak to Goose directly instead of typing your prompts.
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
## Search Within Sessions
|
||||
|
||||
Search allows you to find specific content within your current session. The search functionality is available in both CLI and Desktop interfaces.
|
||||
|
||||
<Tabs groupId="interface">
|
||||
<TabItem value="ui" label="Goose Desktop" default>
|
||||
Trigger search using keyboard shortcuts or the search icon:
|
||||
|
||||
| Action | macOS | Windows/Linux |
|
||||
|--------|-------|---------------|
|
||||
| Open Search | `Cmd+F` | `Ctrl+F` |
|
||||
| Next Match | `Cmd+G`<br />or `↓` | `Ctrl+G`<br />or `↓` |
|
||||
| Previous Match | `Shift+Cmd+G`<br />or `↑` | `Shift+Ctrl+G`<br />or `↑` |
|
||||
| Use Selection for Find | `Cmd+E` | n/a |
|
||||
| Toggle Case-Sensitivity | `Aa` | `Aa` |
|
||||
| Close Search | `Esc` or X | `Esc` or X |
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="cli" label="Goose CLI">
|
||||
Search functionality is provided by your terminal interface. Use the appropriate shortcut for your environment:
|
||||
|
||||
| Terminal | Operating System | Shortcut |
|
||||
|----------|-----------------|-----------|
|
||||
| iTerm2 | macOS | `Cmd+F` |
|
||||
| Terminal.app | macOS | `Cmd+F` |
|
||||
| Windows Terminal | Windows | `Ctrl+F` |
|
||||
| Linux Terminal | Linux | `Ctrl+F` |
|
||||
|
||||
:::info
|
||||
Your specific terminal emulator may use a different keyboard shortcut. Check your terminal's documentation or settings for the search command.
|
||||
:::
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
## Share Files in Session
|
||||
|
||||
<Tabs groupId="interface">
|
||||
|
||||
@@ -455,7 +455,7 @@ You can turn your current Goose session into a reusable recipe that includes the
|
||||
|
||||
<Tabs groupId="interface">
|
||||
<TabItem value="ui" label="Goose Desktop" default>
|
||||
Share your recipe with Desktop users by copying the recipe URL from the recipe creation dialog. When someone clicks the URL, it will open Goose Desktop with your recipe configuration.
|
||||
Share your recipe with Desktop users by copying the recipe URL from the recipe creation dialog.
|
||||
|
||||
To copy the recipe URL:
|
||||
1. [Open the recipe](#use-recipe)
|
||||
@@ -463,6 +463,8 @@ You can turn your current Goose session into a reusable recipe that includes the
|
||||
3. Click `View recipe`
|
||||
4. Scroll down and copy the link
|
||||
|
||||
When someone clicks the URL, it will open Goose Desktop with your recipe configuration. They can also use your recipe URL to [import a recipe](/docs/guides/recipes/storing-recipes#storing-recipes) into their Recipe Library.
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="cli" label="Goose CLI">
|
||||
Share your recipe with CLI users by directly sending them the recipe file or converting it to a shareable [deep link](/docs/guides/goose-cli-commands#recipe) for Desktop users:
|
||||
|
||||
@@ -59,6 +59,15 @@ If you're already using a recipe and want to save a modified version:
|
||||
When you modify and save a recipe with a new name, a new recipe and new link are generated. You can still run the original recipe from the recipe library, or using the original link. If you edit a recipe without changing its name, the version in the recipe library is updated, but you can still run the original recipe via link.
|
||||
:::
|
||||
|
||||
**Import Recipe:**
|
||||
|
||||
You can import a [shared recipe](/docs/guides/recipes/session-recipes#share-recipe) into your Recipe Library:
|
||||
1. Click the <PanelLeft className="inline" size={16} /> button in the top-left to open the sidebar
|
||||
2. Click `Recipes`
|
||||
3. Click **Import Recipe** and paste in the recipe URL
|
||||
4. Add a name and choose the [storage location](#recipe-storage-locations)
|
||||
5. Click **Import Recipe**
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="cli" label="Goose CLI">
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
---
|
||||
title: {Extension Name} Extension
|
||||
|
||||
escription: Add {Extension Name} MCP Server as a Goose Extension
|
||||
description: Add {Extension Name} MCP Server as a Goose Extension
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
|
||||
Reference in New Issue
Block a user