EchoVault Memory

io.github.go-ports由 GitHub 帳號 go-ports 發布v0.3.3更新於 Oct 24, 2026

Local-first memory for coding agents; stores decisions, bugs, and context across sessions.

發布方自己的服務:Memory.fit

已驗證STDIO僅桌面知識與記憶開發者工具

概覽

AI 產生的概覽

面向編碼代理的本地優先記憶伺服器,把決策、缺陷與上下文以 Markdown 保存在本機,並支援跨工作階段儲存、搜尋與重新載入。

可以做什麼
儲存記憶,包括標題、原因、影響、標籤與分類,並支援結構化詳情範本或詳情檔案,之後可依 ID 或前綴刪除。以關鍵字與可選語意向量混合搜尋記憶,並取得某筆結果的完整詳情。在工作階段開始時載入既有上下文,列出目前專案的記憶與工作階段檔案。讓 Claude Code、Cursor、Codex 與 OpenCode 共用一個記憶庫,並透過命令列管理記憶目錄與嵌入設定。
適用情境
當你希望編碼代理把決策、缺陷歷史與專案上下文從一個工作階段帶到下一個工作階段,又不依賴雲端服務時,適合安裝。若你同時使用多個代理並希望它們共用一個可用 Markdown 瀏覽的記憶庫,也很有用。
執行需求
以 stdio 作為本機程序執行;Go 版本是單一靜態二進位檔,從原始碼建置需要 C 編譯器,因為要連結 SQLite 函式庫。需先初始化記憶庫並安裝代理設定。環境變數 MEMORY_HOME 指定儲存目錄,應指向持久化儲存。語意搜尋可選用本機 Ollama,或在設定檔中填入 OpenAI 或 OpenRouter 的 API 金鑰。
安裝前請注意
伺服器會將記憶檔案與 SQLite 索引寫入磁碟,且代理被指示自動儲存與檢索,專案細節可能在無提示下被持久化,請視需要檢查或刪除已存記憶。金鑰遮蔽採模式比對,可能漏掉憑證,應避免儲存敏感內容。設定 OpenAI 或 OpenRouter 會把嵌入請求傳送到其伺服器;要完全本機執行請使用 Ollama。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 EchoVault Memory,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

[EchoVault]

EchoVault — Go

Local memory for coding agents. Your agent remembers decisions, bugs, and context across sessions — no cloud, no API keys, no cost.

Install · Features · How it works · Commands


This is the Go port of EchoVault. It is a single static binary with no Python runtime dependency. The vault format and MCP interface are fully compatible with the Python version — you can switch between them without losing any memories.

Features

Works with 4 agents — Claude Code, Cursor, Codex, OpenCode. One command sets up MCP config for your agent.

MCP native — Runs as an MCP server exposing memory_save, memory_search, and memory_context as tools. Agents call them directly — no shell hooks needed.

Local-first — Everything stays on your machine. Memories are stored as Markdown in ~/.memory/vault/, readable in Obsidian or any editor.

Zero idle cost — No background processes, no daemon, no RAM overhead. The MCP server only runs when the agent starts it.

Hybrid search — FTS5 keyword search works out of the box. Add Ollama or OpenAI for semantic vector search.

Secret redaction — 3-layer redaction strips API keys, passwords, and credentials before anything hits disk. Supports explicit <redacted> tags, pattern detection, and custom .memoryignore rules.

Cross-agent — Memories saved by Claude Code are searchable in Cursor, Codex, and OpenCode. One vault, many agents.

Obsidian-compatible — Session files are valid Markdown with YAML frontmatter. Point Obsidian at ~/.memory/vault/ and browse your agent's memory visually.

Install

Pre-built binary

Download the latest release for your platform from the releases page and place the binary somewhere on your $PATH.

Build from source

bash
git clone https://github.com/go-ports/echovault.gitcd echovaultmake build          # produces ./bin/memorysudo cp bin/memory /usr/local/bin/

CGO required. The binary links against go-sqlite3 and sqlite-vec, so a C compiler (gcc/clang) must be present. On macOS: xcode-select --install. On Debian/Ubuntu: apt install build-essential.

First run

bash
memory initmemory setup claude-code   # or: cursor, codex, opencode

That's it. memory setup installs the MCP server config automatically.

By default the config is installed globally. To install for a specific project:

bash
cd ~/my-projectmemory setup claude-code --project   # writes .mcp.json in project rootmemory setup opencode --project      # writes opencode.json in project rootmemory setup codex --project         # writes .codex/config.toml + AGENTS.md

Configure embeddings (optional)

Embeddings enable semantic search. Without them, you still get fast keyword search via FTS5.

Generate a starter config:

bash
memory config init

This creates ~/.memory/config.yaml with sensible defaults:

yaml
embedding:  provider: ollama              # ollama | openai | openrouter  model: nomic-embed-text
context:  semantic: auto                # auto | always | never  topup_recent: true

What each section does:

  • embedding — How memories get turned into vectors for semantic search. ollama runs locally; openai and openrouter call cloud APIs. nomic-embed-text is a good local model for Ollama.
  • context — Controls how memories are retrieved at session start. auto uses vector search when embeddings are available, falls back to keywords. topup_recent also includes recent memories so the agent has fresh context.

For cloud providers, add api_key under the provider section. API keys are redacted in memory config output.

Configure memory location

By default, EchoVault stores data in ~/.memory.

You can change that in two ways:

  • MEMORY_HOME=/path/to/memory (highest priority, per-shell/per-process)
  • memory config set-home /path/to/memory (persistent default)

Useful commands:

bash
memory config set-home /path/to/memorymemory config clear-homememory config

memory config shows both memory_home and memory_home_source (env, config, or default).

The --memory-home global flag overrides everything for a single invocation:

bash
memory --memory-home /tmp/test-vault search "authentication"

Usage

Once set up, your agent uses memory via MCP tools:

  • Session start — agent calls memory_context to load prior decisions and context
  • During work — agent calls memory_search to find relevant memories
  • Session end — agent calls memory_save to persist decisions, bugs, and learnings

The MCP tool descriptions instruct agents to save and retrieve automatically. No manual prompting needed in most cases.

You can also use the CLI directly:

bash
memory save --title "Switched to JWT auth" \  --what "Replaced session cookies with JWT" \  --why "Needed stateless auth for API" \  --impact "All endpoints now require Bearer token" \  --tags "auth,jwt" --category "decision" \  --details "Context:Options considered:- Keep session cookies- Move to JWTDecision:Tradeoffs:Follow-up:"
memory search "authentication"memory details <id>memory context --project

For long details, use --details-file notes.md. To scaffold structured details automatically, use --details-template.

How it works

~/.memory/├── vault/                    # Obsidian-compatible Markdown│   └── my-project/│       └── 2026-02-01-session.md├── index.db                  # SQLite: FTS5 + sqlite-vec└── config.yaml               # Embedding provider config
  • Markdown vault — one file per session per project, with YAML frontmatter
  • SQLite index — FTS5 for keywords, sqlite-vec for semantic vectors
  • Compact pointers — search returns ~50-token summaries; full details fetched on demand
  • 3-layer redaction — explicit tags, pattern matching, and .memoryignore rules

Supported agents

AgentSetup commandWhat gets installed
Claude Codememory setup claude-codeMCP server in .mcp.json (project) or ~/.claude.json (global)
Cursormemory setup cursorMCP server in .cursor/mcp.json
Codexmemory setup codexMCP server in .codex/config.toml + AGENTS.md fallback
OpenCodememory setup opencodeMCP server in opencode.json (project) or ~/.config/opencode/opencode.json (global)

All agents share the same memory vault at your effective memory_home path (default ~/.memory/). A memory saved by Claude Code is searchable from Cursor, Codex, or OpenCode.

Commands

CommandDescription
memory initCreate vault at effective memory home
memory setup <agent>Install MCP server config for an agent
memory uninstall <agent>Remove MCP server config for an agent
memory save ...Save a memory (--details-file and --details-template supported)
memory search "query"Hybrid FTS + semantic search
memory details <id>Full details for a memory
memory delete <id>Delete a memory by ID or prefix
memory context --projectList memories for current project
memory sessionsList session files
memory configShow effective config
memory config initGenerate a starter config.yaml
memory config set-home <path>Persist default memory location
memory config clear-homeRemove persisted memory location
memory reindexRebuild vectors after changing provider
memory mcpStart the MCP server (stdio transport)

Global flags

FlagDescription
--memory-home <path>Override memory home for this invocation
--helpShow help for any command

Uninstall

bash
memory uninstall claude-code   # or: cursor, codex, opencoderm /usr/local/bin/memory

To also remove all stored memories: rm -rf ~/.memory/

Privacy

Everything stays local by default. If you configure OpenAI or OpenRouter for embeddings, those API calls go to their servers. Use Ollama for fully local operation.

License

MIT — see LICENSE.

來源:README.md,提交 cc0802b

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.3.3最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

其他 Memory 整合