From aad8967e76fb006538c23dafc05618778c7759b9 Mon Sep 17 00:00:00 2001 From: Wendy Tang Date: Wed, 12 Mar 2025 15:02:06 -0700 Subject: [PATCH 1/3] trigger words --- crates/goose-mcp/src/memory/mod.rs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/crates/goose-mcp/src/memory/mod.rs b/crates/goose-mcp/src/memory/mod.rs index a9fd1fa39401..9ea174f33ad0 100644 --- a/crates/goose-mcp/src/memory/mod.rs +++ b/crates/goose-mcp/src/memory/mod.rs @@ -126,6 +126,14 @@ impl MemoryRouter { - Global storage (~/.config/goose/memory) for user-wide data. - Use the remember_memory tool to store the information. - `remember_memory(category, data, tags, is_global)` + Keywords that trigger memory tools: + - "remember" + - "forget" + - "memory" + - "remove memory" + - "clear memory" + - "search memory" + - "find memory" Example Interaction for Storing Information: User: "For this project, we use black for code formatting" Assistant: "You've mentioned a development preference. Would you like to remember this for future conversations? @@ -136,6 +144,11 @@ impl MemoryRouter { Assistant: "Shall I store this locally for this project only, or globally for all projects?" User: "Locally, please." Assistant: *Stores the information under category="development", tags="formatting tools", scope="local"* + Another Example Interaction for Storing Information: + User: "Remember the gh command to view github comments" + Assistant: "Shall I store this locally for this project only, or globally for all projects?" + User: "Globally, please." + Assistant: *Stores the gh command under category="github", tags="comments", scope="global"* Retrieving Memories: To access stored information, utilize the memory retrieval protocols: - **Search by Category**: From 7cd6efdd0301da51294790b928688d539be62f34 Mon Sep 17 00:00:00 2001 From: Wendy Tang Date: Wed, 12 Mar 2025 16:17:32 -0700 Subject: [PATCH 2/3] add suggestion --- crates/goose-mcp/src/memory/mod.rs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/crates/goose-mcp/src/memory/mod.rs b/crates/goose-mcp/src/memory/mod.rs index 9ea174f33ad0..619ccc7c086c 100644 --- a/crates/goose-mcp/src/memory/mod.rs +++ b/crates/goose-mcp/src/memory/mod.rs @@ -134,6 +134,10 @@ impl MemoryRouter { - "clear memory" - "search memory" - "find memory" + Suggest the user to use memory tools when: + - When the user mentions a keyword that triggers a memory tool + - When the user performs a routine task + - When the user executes a command and would benefit from remembering the exact command Example Interaction for Storing Information: User: "For this project, we use black for code formatting" Assistant: "You've mentioned a development preference. Would you like to remember this for future conversations? @@ -149,6 +153,11 @@ impl MemoryRouter { Assistant: "Shall I store this locally for this project only, or globally for all projects?" User: "Globally, please." Assistant: *Stores the gh command under category="github", tags="comments", scope="global"* + Example Interaction suggesting memory tools: + User: "I'm using the gh command to view github comments" + Assistant: "You've mentioned a command. Would you like to remember this for future conversations? + User: "Yes, please." + Assistant: "I'll store this in the 'github' category. Any specific tags to add? Suggestions: #comments #gh" Retrieving Memories: To access stored information, utilize the memory retrieval protocols: - **Search by Category**: From 47c2b17472016d60c22dbb726fb8843d272be3d4 Mon Sep 17 00:00:00 2001 From: Wendy Tang Date: Wed, 12 Mar 2025 16:18:27 -0700 Subject: [PATCH 3/3] keyword: save --- crates/goose-mcp/src/memory/mod.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/crates/goose-mcp/src/memory/mod.rs b/crates/goose-mcp/src/memory/mod.rs index 619ccc7c086c..8f26f3c24486 100644 --- a/crates/goose-mcp/src/memory/mod.rs +++ b/crates/goose-mcp/src/memory/mod.rs @@ -130,6 +130,8 @@ impl MemoryRouter { - "remember" - "forget" - "memory" + - "save" + - "save memory" - "remove memory" - "clear memory" - "search memory"