diff --git a/documentation/docs/getting-started/using-extensions.md b/documentation/docs/getting-started/using-extensions.md index c27ca8fb0380..33252b1dd632 100644 --- a/documentation/docs/getting-started/using-extensions.md +++ b/documentation/docs/getting-started/using-extensions.md @@ -31,13 +31,15 @@ goose includes several built-in extensions you can start using out of the box: goose operates autonomously by default. Combined with the Developer extension's tools, this means goose can execute commands and modify files without your approval. If you want more control over this behavior, you can configure the [goose permission mode](/docs/guides/goose-permissions), [tool permissions](/docs/guides/managing-tools/tool-permissions), and [.gooseignore files](/docs/guides/using-gooseignore). See [Configuring Access Controls](/docs/mcp/developer-mcp#configuring-access-controls) for a brief overview. ::: -In addition, these platform extensions provide core goose functionality. They are also always available and enabled by default: +### Built-in Platform Extensions -- Chat Recall: Search conversation content across all your session history -- Extension Manager: Discover, enable, and disable extensions dynamically during sessions +Platform extensions are built-in extensions that provide global features like conversation search, task tracking, and extension management. These extensions are always available, enabled by default, and can be toggled on or off. + +- [Chat Recall](/docs/mcp/chatrecall-mcp): Search conversation content across all your session history +- [Extension Manager](/docs/mcp/extension-manager-mcp): Discover, enable, and disable extensions dynamically during sessions - [Todo](/docs/mcp/todo-mcp): Manage task lists and track progress across sessions -#### Toggling Built-in Extensions +### Toggling Built-in Extensions @@ -94,7 +96,6 @@ goose's built-in extensions are MCP servers in their own right. If you'd like to use the MCP servers included with goose with any other agent, you are free to do so. ::: - ## Discovering Extensions goose provides a [central directory][extensions-directory] of extensions that you can install and use. diff --git a/documentation/docs/goose-architecture/goose-architecture.md b/documentation/docs/goose-architecture/goose-architecture.md index 72fec2402a25..67a5b4cb87bf 100644 --- a/documentation/docs/goose-architecture/goose-architecture.md +++ b/documentation/docs/goose-architecture/goose-architecture.md @@ -25,7 +25,7 @@ In a typical session, the interface spins up an instance of the agent, which the Extensions expose their functionality to goose through tools. Tools are the functions that allow extensions to perform specific actions, such as running commands, or performing file operations. For example, the Google Drive extension includes a tool for searching documents. That tool is what gives goose the ability to perform that action. -goose comes with a set of [built-in extensions](/docs/getting-started/using-extensions#built-in-extensions), each designed to enhance your interaction. These include tools for development, web scraping, automation, memory, and integrations with JetBrains and Google Drive. goose also supports [connecting to external extensions](/docs/getting-started/using-extensions#adding-extensions) or [creating custom extensions](/docs/tutorials/custom-extensions) as MCP servers. +goose comes with a set of [built-in extensions](/docs/getting-started/using-extensions#built-in-extensions), each designed to enhance your interaction. These include tools for development, web scraping, automation, memory, and more. goose also supports [connecting to external extensions](/docs/getting-started/using-extensions#adding-extensions) or [creating custom extensions](/docs/tutorials/custom-extensions) as MCP servers. To learn more about the design and implementation of extensions and tools, refer to the [Extensions Design Guide](/docs/goose-architecture/extensions-design#tools). diff --git a/documentation/docs/mcp/chatrecall-mcp.md b/documentation/docs/mcp/chatrecall-mcp.md new file mode 100644 index 000000000000..b33e3f939914 --- /dev/null +++ b/documentation/docs/mcp/chatrecall-mcp.md @@ -0,0 +1,91 @@ +--- +title: Chat Recall Extension +description: Search conversation history and load session summaries across all your goose sessions +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import { PlatformExtensionNote } from '@site/src/components/PlatformExtensionNote'; +import GooseBuiltinInstaller from '@site/src/components/GooseBuiltinInstaller'; + +The Chat Recall extension helps goose remember past conversations by searching across your session history. When you need context from previous work, goose can search for relevant conversations or load summaries of specific sessions. + +goose automatically uses Chat Recall when you reference past work or ask questions that require historical context. + +## Configuration + + + + + + + + + + 1. Run the `configure` command: + ```sh + goose configure + ``` + + 2. Choose to `Toggle Extensions` + ```sh + ┌ goose-configure + │ + ◇ What would you like to configure? + │ Toggle Extensions + │ + ◆ Enable extensions: (use "space" to toggle and "enter" to submit) + // highlight-start + │ ● chatrecall + // highlight-end + └ Extension settings updated successfully + ``` + + + +## Example Usage + +Chat Recall can search across all sessions using keywords. Results are grouped by session and ordered by recency, and can be filtered by date. Alternatively, you can provide [session IDs](/docs/guides/goose-cli-commands#session-list-options) to load summaries of specific sessions. + +Let's ask goose to find recent conversations about a topic: + +### goose Prompt + +``` +What did we discuss about database migrations last week? +``` + +### goose Output + +:::note Desktop +I found discussions about database migrations in your recent sessions. Here's what we covered: + +**Database Migration Discussions - Last Week** + +#### Session: Fix migration scripts (Nov 26, 2024) +**Working Dir:** /projects/myapp + +We debugged a production database migration that was failing with a "column already exists" error. The key points were: + +- The migration was trying to add a column that already existed in some environments +- We added conditional logic to check if the column exists before adding it +- Tested the fix locally and committed the changes + +#### Session: Database schema updates (Nov 27, 2024) +**Working Dir:** /projects/myapp + +We discussed adding email verification functionality: + +- Planned to add a new `email_verified` column to the users table +- Discussed whether to make it nullable or default to false +- Created the migration script for the new column + +Both sessions were focused on safely updating the database schema in production. Would you like me to load the full details from either of these sessions? +::: + +:::info +Compacted sessions from goose versions prior to v1.14.0 may not be searchable due to a change in how conversation history is stored. +::: \ No newline at end of file diff --git a/documentation/docs/mcp/extension-manager-mcp.md b/documentation/docs/mcp/extension-manager-mcp.md index 691c43f7f256..d1dd32b91d13 100644 --- a/documentation/docs/mcp/extension-manager-mcp.md +++ b/documentation/docs/mcp/extension-manager-mcp.md @@ -5,6 +5,7 @@ description: Dynamically discover, enable, and disable extensions during goose s import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; +import { PlatformExtensionNote } from '@site/src/components/PlatformExtensionNote'; import GooseBuiltinInstaller from '@site/src/components/GooseBuiltinInstaller'; You don't always need to manually manage extensions. The Extension Manager extension enables goose to dynamically discover, enable, and disable extensions during active sessions. Based on the task you give it, goose recognizes when it needs a specific extension, enables it when required, and suggests disabling unused extensions if the bloat is eating up your context window. @@ -13,9 +14,7 @@ Simply describe your task, and goose will handle the extension management automa ## Configuration -:::info -The Extension Manager extension is a built-in goose platform extension and is already enabled by default when goose is installed. -::: + @@ -85,13 +84,13 @@ The resource tools (`list_resources` and `read_resource`) are only available whe Let's enable an extension when we need it. In this example, we'll enable the GitHub extension to work with repositories. -#### goose Prompt +### goose Prompt ``` List all my GitHub repositories ``` -#### goose Output +### goose Output :::note Desktop diff --git a/documentation/docs/mcp/i-ching-mcp.md b/documentation/docs/mcp/i-ching-mcp.md index 37ad790651f5..948337efecf4 100644 --- a/documentation/docs/mcp/i-ching-mcp.md +++ b/documentation/docs/mcp/i-ching-mcp.md @@ -40,26 +40,28 @@ Then click the link above to configure it in goose. ### goose Output +:::note Desktop I'd be happy to consult the I Ching for guidance on your team's product roadmap decision. Let me cast a hexagram for you using the traditional three coins method. -─── cast_hexagram | iching ────────────────────────── +─── cast_hexagram | iching ────────────────────────── Now let me get a detailed interpretation of this reading for your situation: -─── interpret_reading | iching ────────────────────────── -changing_lines: - - - 5 -hexagram: 29 -transformed_hexagram: 13 +─── interpret_reading | iching ───────────────────────── + +changing_lines: +- + 5 +hexagram: 29 +transformed_hexagram: 13 -## I Ching Guidance for Your Product Roadmap Decision +#### I Ching Guidance for Your Product Roadmap Decision The oracle has given you **Hexagram 29 - Darkness (The Abysmal)** with a changing line in the 5th position, transforming to **Hexagram 13 - Seeking Harmony (Fellowship with Men)**. -### Key Insights for Your Team's Situation: +**Key Insights for Your Team's Situation:** **Current Challenge (Hexagram 29):** - Your team is facing what the I Ching recognizes as a "repetition of danger" - this suggests you're in a challenging situation that requires careful navigation @@ -77,7 +79,7 @@ The situation naturally evolves toward **Fellowship with Men** - suggesting that - **Open collaboration** rather than closed-door decisions - **Crossing the great water** - taking on significant challenges, but doing so together -### Practical Recommendations: +**Practical Recommendations:** 1. **Acknowledge the Difficulty**: Don't minimize the complexity of your roadmap decision. Accept that it's genuinely challenging. @@ -87,4 +89,5 @@ The situation naturally evolves toward **Fellowship with Men** - suggesting that 4. **Focus on Execution**: Once you decide, commit fully. The hexagram emphasizes that success comes from thorough implementation, not perfect strategy. -The I Ching suggests this challenging decision will ultimately strengthen your team's unity and collaboration if approached with patience, sincerity, and collective wisdom. \ No newline at end of file +The I Ching suggests this challenging decision will ultimately strengthen your team's unity and collaboration if approached with patience, sincerity, and collective wisdom. +::: \ No newline at end of file diff --git a/documentation/docs/mcp/todo-mcp.md b/documentation/docs/mcp/todo-mcp.md index 0200856ec556..f2eedeadc793 100644 --- a/documentation/docs/mcp/todo-mcp.md +++ b/documentation/docs/mcp/todo-mcp.md @@ -1,10 +1,11 @@ --- title: Todo Extension -description: Use Todo MCP Server as a goose Extension for Task Management +description: Breaks complex work into trackable steps to help goose stay organized --- import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; +import { PlatformExtensionNote } from '@site/src/components/PlatformExtensionNote'; import GooseBuiltinInstaller from '@site/src/components/GooseBuiltinInstaller'; The Todo extension helps goose stay organized by breaking complex work into a series of steps and keeping you updated as it completes each step. @@ -13,13 +14,11 @@ goose automatically knows to use the Todo extension if it has to do tasks that h At the start of the task, goose will create an internal checklist, read and update progress as it works, and verify that all tasks are completed. -This tutorial will cover enabling and using the Todo MCP Server, which is a built-in goose extension. +This tutorial will cover enabling and using the Todo extension. ## Configuration -:::info -The Todo extension is already enabled by default when goose is installed. -::: + diff --git a/documentation/src/components/PlatformExtensionNote.js b/documentation/src/components/PlatformExtensionNote.js new file mode 100644 index 000000000000..d1cf7b60932f --- /dev/null +++ b/documentation/src/components/PlatformExtensionNote.js @@ -0,0 +1,11 @@ +import React from "react"; +import Admonition from '@theme/Admonition'; + +export const PlatformExtensionNote = () => { + + return ( + +

This is a built-in platform extension that's enabled by default. Platform extensions provide core functionality and are used within goose just like MCP server extensions.

+
+ ); +};