EchoesVault for OpenCode plugin
EchoesVault keeps project memory as markdown pages in git: OpenCode, Codex and Claude Code read the same decisions and fixes.
- 159 ★ on the repository
- Last commit
- MIT
Extended access
Why this level
- The plugin writes files into the repository and changes knowledge pages; writes happen only after explicit commands.
Install
- Works in
Manual install
{
"$schema": "https://opencode.ai/config.json",
"plugin": ["echoes-vault-opencode"]
}Installation through the OpenCode configuration from the README. After a restart, run `/echoes-init` in the target repository.
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- The plugin writes files into the repository and changes knowledge pages; writes happen only after explicit commands.
This is third-party code. Review the repository files before installing.
What it does
EchoesVault for OpenCode, a memory plugin, keeps architectural decisions, verified fixes and daily notes as markdown files in the repository itself. Version 2 is a thin adapter for EchoesVault Protocol 1.0.0: OpenCode, Codex, Claude Code and scripts write through one shared program, `.echoes-vault/echoes_vault.py`, and read one knowledge base. The commands: `/echoes-init` creates or migrates the vault, `/echoes-start` loads the index and the three newest daily entries, `/echoes-status` reports state without changes and `/echoes-end` writes a session summary. The plugin adds tools for searching pages, hashing and hash-protected page updates.
Who it is for. Teams working in one repository with different agents who want project knowledge kept beside the code rather than in someone else's database.
Good fit when
- A new OpenCode session has to know past architecture decisions without a retelling.
- Codex and Claude Code both work in the repository and knowledge belongs in one shared place.
- A fix with its cause should be recorded on a page so the mistake is not repeated.
- Vault health is checked before review: conflicts, metadata and Git readiness.
Not a fit when
- The repository cannot be cluttered with the `EchoesVault` and `.echoes-vault` directories.
- OpenCode is older than 1.16.0 or `python3` is missing.
- Knowledge is needed in a shared wiki outside the repository.
Example request
Load the vault index and the three latest entries, then find the pages on the choice of a message queue and remind me what I decided last time.Limitations
OpenCode 1.16.0 or newer and Python 3.9 available as `python3` are required; another name goes into `ECHOES_VAULT_PYTHON`. Installing the plugin creates nothing in the repository: the vault appears only after `/echoes-init`. That command also migrates recognised legacy OpenCode commands and skills, while unknown user-owned adapter files are kept and reported. The `/echoes-end` summary is written only on an explicit command, and replacing an existing page needs a fresh SHA-256 hash.
How to disable. Remove `echoes-vault-opencode` from the `plugin` list in the OpenCode configuration and restart it. The `EchoesVault` and `.echoes-vault` directories with the notes stay in the repository, so delete them by hand if not needed.
FAQ
How do I install the plugin?
Through OpenCode: Ctrl+P, Install plugin, the name `echoes-vault-opencode`, then a restart. Or add it to the `plugin` list in the configuration.
Which tools does the plugin add?
Among them `echoes_activate_vault`, `echoes_start_session`, `echoes_vault_status`, `echoes_append_to_daily_log`, `echoes_search_vault_pages`, `echoes_hash_vault_page` and `echoes_create_or_update_page`.
What is required in page metadata?
Frontmatter with `type`, `stack`, `status` and `summary`. The `summary` is one line of at most 160 characters.
Is a network service or key needed?
No. The README requires no network service, database, API key or third-party Python package.
Does the plugin create the vault by itself?
No. Installing creates nothing in the repository and the vault appears after the `/echoes-init` command.
Discussion
No questions or reviews yet.
Related
PluginsCodex plugin that keeps a markdown project wiki in the repository and restores it each session, for OpenCode and Claude Code too.
An OpenCode plugin that keeps project decisions and agreements across context compactions and sessions with no extra model calls.
A memory plugin for Claude Code and Codex: team knowledge from wikis, tickets and chat with citations and stale-fact checks.
Long-term memory for OpenCode: preferences and project decisions survive restarts, context wipes and fresh chats.
Shared long-term agent memory: notes in plain markdown files, with a MEMORY.md index loaded at the start of every session.
Claude Code Memory Setup: Obsidian-based memory
Claude Code Memory Setup
A guide with ready files: Claude Code keeps decisions between sessions through an Obsidian vault and /save and /resume commands
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Repository stars | Main difference |
|---|---|---|---|
| EchoesVault for OpenCode (this card) | no | 159 | |
| agent-memory | no | 4,315 | keeps agent memory in a separate store; EchoesVault keeps knowledge as markdown pages in the repository beside the code |
| Episodic Memory | no | 499 | searches past Claude Code conversations; EchoesVault keeps curated decision pages and daily entries with overwrite protection |
README in short
The plugin connects through the OpenCode interface or the `plugin` list. `/echoes-init` creates the vault, knowledge lives as pages in `EchoesVault/pages`, and daily entries get unique names so Git branches do not conflict.