Skip to content

feat: add on-demand memory storage and recall tools#193

Merged
marcelklehr merged 4 commits into
mainfrom
feat/tool-called-memory
Jul 8, 2026
Merged

feat: add on-demand memory storage and recall tools#193
marcelklehr merged 4 commits into
mainfrom
feat/tool-called-memory

Conversation

@kyteinsky

@kyteinsky kyteinsky commented Jun 18, 2026

Copy link
Copy Markdown
Contributor
image image image image image

needs nextcloud/context_chat#247

🤖 AI (if applicable)

  • The content of this PR was partly or fully generated using AI

Signed-off-by: kyteinsky <kyteinsky@gmail.com>
Assisted-by: Github Copilot:qwen-3-6-35b-a3b
Assisted-by: Github Copilot:claude-sonnet-4-6
@kyteinsky
kyteinsky requested review from janepie and marcelklehr June 18, 2026 09:29
@kyteinsky

Copy link
Copy Markdown
Contributor Author

do we want specific tests for this feature in the integration tests?

@kyteinsky
kyteinsky requested a review from julien-nc June 18, 2026 09:32
Comment thread ex_app/lib/all_tools/memory.py Outdated
Comment thread ex_app/lib/all_tools/memory.py
Comment thread ex_app/lib/all_tools/memory.py Outdated
Comment thread ex_app/lib/all_tools/memory.py Outdated
Comment thread ex_app/lib/all_tools/memory.py
Comment thread ex_app/lib/all_tools/memory.py
Signed-off-by: kyteinsky <kyteinsky@gmail.com>
Signed-off-by: kyteinsky <kyteinsky@gmail.com>
@marcelklehr

Copy link
Copy Markdown
Member

Nice! We can now make the memory tools dependent on the assistant app being installed and it should be ok

Comment thread ex_app/lib/all_tools/memory.py

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR introduces a new “Memories” toolset that lets the agent persist, browse, load, delete, and (optionally) semantically search user-scoped memory files stored under the Assistant folder in Nextcloud. It also updates TaskProcessing output validation to support the new Context Chat search output shape.

Changes:

  • Added ex_app/lib/all_tools/memory.py implementing memory storage/recall tools (list/load/store/delete/delete-folder/search).
  • Added DAV folder-creation logic to ensure the Memories base folder and subfolders exist when storing memories.
  • Updated TaskProcessing output-key validation to accept sources outputs.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 7 comments.

File Description
ex_app/lib/all_tools/memory.py Adds new memory management tools + path validation + DAV folder creation + Context Chat-backed semantic search.
ex_app/lib/all_tools/lib/task_processing.py Extends accepted TaskProcessing output keys to include sources for Context Chat search results.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread ex_app/lib/all_tools/memory.py
Comment thread ex_app/lib/all_tools/memory.py
Comment thread ex_app/lib/all_tools/memory.py
Comment thread ex_app/lib/all_tools/memory.py Outdated
Comment thread ex_app/lib/all_tools/memory.py Outdated
Comment thread ex_app/lib/all_tools/lib/task_processing.py Outdated
Comment thread ex_app/lib/all_tools/memory.py Outdated
@marcelklehr

Copy link
Copy Markdown
Member

Works nicely. I didn't test the context_chat integration though, because I don't want to set it up 😇

@kyteinsky

Copy link
Copy Markdown
Contributor Author

Works nicely. I didn't test the context_chat integration though, because I don't want to set it up 😇

I got that covered.

Comment thread ex_app/lib/all_tools/skills.py Outdated
Comment thread ex_app/lib/agent.py Outdated
Signed-off-by: kyteinsky <kyteinsky@gmail.com>
@kyteinsky
kyteinsky force-pushed the feat/tool-called-memory branch from c002f33 to f4f2663 Compare July 8, 2026 06:59
@marcelklehr

Copy link
Copy Markdown
Member

woop woop

@marcelklehr
marcelklehr merged commit 07f0079 into main Jul 8, 2026
2 of 6 checks passed
@marcelklehr
marcelklehr deleted the feat/tool-called-memory branch July 8, 2026 07:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants