Add memory plugin with semantic search and session planning - #145
Merged
Conversation
| } | ||
|
|
||
| function normalizeBaseUrl(baseUrl: string): string { | ||
| const trimmed = baseUrl.replace(/\/+$/, '') |
Check failure
Code scanning / CodeQL
Polynomial regular expression used on uncontrolled data High
| store.delete(key) | ||
| }, | ||
| async invalidatePattern(pattern: string): Promise<void> { | ||
| const regex = new RegExp(pattern.replace('*', '.*')) |
Check failure
Code scanning / CodeQL
Incomplete string escaping or encoding High test
chriswritescode-dev
force-pushed
the
feature/memory
branch
from
February 23, 2026 20:07
12ff8aa to
cc0339f
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
@opencode-manager/memory— a new workspace package that acts as an OpenCode plugin, providing semantic memory storage and retrieval via vector embeddings (localall-MiniLM-L6-v2, OpenAI, or Voyage AI)/memory), frontendMemoriespage,MemoryPluginConfigsettings UI, and shared Zod schemas and types to integrate the plugin with the web UIChanges
New Package:
@opencode-manager/memorysrc/index.ts— Plugin entry point with setup, hooks, tools, and agentssrc/embedding/— Local and API-based embedding providers with server-side syncsrc/storage/— SQLite + vector store (vec) implementations with metadata queriessrc/services/— Memory service with deduplication, session state management, embedding syncsrc/hooks/— Keyword, session, and compaction hooks for memory lifecyclesrc/agents/— Code agent with memory-aware context injection for code review tasksBackend
/memoryroutes for CRUD, search, planning state, and embedding sync@opencode-manager/memoryFrontend
Memoriespage with list and form dialog for managing memoriesMemoryPluginConfigcomponent in Settings for plugin configurationuseMemorieshook for API integrationRepoDetailto show memory plugin statusTesting
packages/memory/test/covering all major modulesScope
116 files changed, ~11,240 insertions, ~1,226 deletions