echo-memory

mcp
Guvenlik Denetimi
Basarisiz
Health Uyari
  • License — License: NOASSERTION
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Low visibility — Only 7 GitHub stars
Code Basarisiz
  • spawnSync — Synchronous process spawning in app/scripts/seed-demo-data.mjs
  • process.env — Environment variable access in app/scripts/seed-demo-data.mjs
Permissions Gecti
  • Permissions — No dangerous permissions requested

Bu listing icin henuz AI raporu yok.

SUMMARY

Local-first Personal Memory OS: traceable, evolving context for people and AI agents.

README.md

Echo Memory / 回声记忆

中文文档 · Download v0.7.1 · MCP reference · Security · Contributing

Turn every conversation into long-term memory. Echo Memory is a Personal Memory OS for AI-native work. It turns conversations, documents, decisions, and changing ideas into a traceable personal memory layer that can be reused by different AI agents.

AI knows more about the world every day, but it still does not truly know you. Echo Memory gives your AI a memory of what you experienced, why you decided, and how your thinking changed.

Download the signed macOS release or build from source. Echo Memory v0.7.1 closes the loop from capture and transcription to structured analysis, evidence-backed retrieval, and agent access — and presents cognitive evolution as a readable narrative.

Why it exists

People generate valuable context continuously: meetings, calls, customer feedback, voice notes, documents, AI conversations, decisions, and follow-up results. That context is usually scattered across tools and quickly loses its connection to time, evidence, and later outcomes.

Traditional tools mainly preserve files or produce one-off summaries. Echo Memory is designed around a longer loop:

Capture -> Understand -> Connect -> Evolve -> Retrieve -> Feedback

The goal is not to save more notes. It is to preserve a person's experiences and reasoning as a durable, user-controlled context layer for future AI.

Product position

Echo Memory is not defined by transcription or meeting summaries. Those are input and processing capabilities.

The long-term product has four connected layers:

  1. Personal Memory Layer: shared, permissioned context so every AI does not need to learn the user from zero.
  2. Cognitive Database: evidence-backed records of knowledge, decisions, open questions, and how beliefs change.
  3. Personal Memory OS: one system for capture, understanding, organization, retrieval, and feedback.
  4. Digital Twin Database: a long-term, correctable model of what a person experienced, knows, values, and how they make decisions.

The digital-twin direction is a product vision, not a claim that the current release can fully model a person.

What v0.7.1 does

Latest improvements

  • Read cognitive evolution as a narrative: change types are normalized into clear Chinese labels (新增, 推翻, …), added/supplemented entries no longer render an empty "before" column, and reasons that merely restate the viewpoint or quote a source are hidden.
  • Confirm pending evolution entries in one click: the snapshot header reads 基于 N 条记录 · M 个主题 · K 次变化 · 其中 P 条待确认, and 全部确认 writes the whole batch in a single all-or-nothing SQLite transaction.
  • New snapshots explain why a view changed: generation prompts require first-person, explanatory reasons in Simplified Chinese instead of survey-style restatements.
  • Dismiss quality warnings and generation errors: a dismissed message stays hidden for that snapshot and reappears when content changes or a new snapshot arrives.
  • Knowledge-base chat alignment fixes: user bubbles lock to a single grid row, the sender label reads 我, and the one-character-per-line vertical layout is gone.
  • The assistant dock collapses again after chatting, with a persistent context hint (current record for 总结, "not searching the library" for 随手问) that clarifies the division of labor with knowledge chat.

Complete workflow

  • First-run onboarding: environment check, resumable local model downloads, and inbox setup.
  • Audio inbox: watch folders and USB recorders; new audio imports, transcribes, and analyzes automatically.
  • Personal hotword vocabulary injected into transcription, with optional local LLM correction that never overwrites the original transcript.
  • Cross-record action items and open questions dashboard with completion tracking and evidence jumps.
  • Assistant dock: chat with local (or optional external) models from any view — summarize the current record, create writing, or brainstorm.
  • AI template wizard: describe your needs in conversation; a local model generates the analysis template.
  • Output folder: analyses, transcripts, and AI drafts are written as standard Markdown into a folder of your choice (e.g. an Obsidian vault).
  • Speaker diarization: optionally run the whisperX engine to separate "Speaker 1, Speaker 2…"; the embedded engine stays the zero-dependency default.
  • Speaker renaming: turn "Speaker 1" into a real name in the record detail, optionally adding it to the hotword vocabulary; action items and decisions carry the attributed owner.
  • Imports MP3, M4A, and WAV audio with duplicate detection.
  • Imports Markdown, TXT, and DOCX documents into the same searchable library.
  • Transcribes audio locally with embedded Whisper or a local whisper.cpp command.
  • Optionally transcribes with a configured OpenAI-compatible third-party ASR provider. This requires a separate audio-upload consent, completed provider settings, and an API key; providers that return speaker fields can populate speaker labels without guessing.
  • Uses local Ollama models for summaries, key points, decisions, action items, and open questions.
  • Optionally sends transcript text to a separately configured OpenAI-compatible text model for structured analysis, subject to a distinct text-upload consent.
  • Archives records from the single-record context menu, alongside moving, renaming, opening management, and deletion.
  • Preserves timestamped transcript evidence and lets users return from a conclusion to its source.
  • Organizes records into project knowledge libraries with local full-text and vector retrieval.
  • Answers questions across indexed audio and documents with openable citations.
  • Shows a day-based growth timeline across projects and records.
  • Generates versioned cognitive-evolution snapshots with reviewable evidence, narrative change summaries, and bulk confirmation.
  • Exposes an opt-in, local, read-only MCP server for authorized AI tools.

What makes it different

Time is the backbone

Memory is not a folder tree. Events, projects, people, questions, and decisions develop in parallel. Echo Memory keeps when something happened and how later information relates to it.

Evidence is more important than a summary

Important conclusions should return to original transcript segments, timestamps, or document sources. AI inference is marked and reviewable instead of being presented as user-authored fact.

Memory keeps its history

A changed opinion is not a database error. Versioned memory preserves what was believed before, what changed, and which evidence caused the change.

Memory is callable

With user authorization, different AI tools can retrieve the context needed for a task through MCP without forcing the user to repeat the same background in every chat.

Current interface

The screenshots use synthetic demonstration data.

Evidence-backed knowledge chat

Echo Memory knowledge chat

Growth timeline

Echo Memory growth timeline

Cognitive evolution

Echo Memory cognitive evolution

Local-first and user-controlled

Audio, the SQLite library, local transcription, local analysis, retrieval, and MCP remain on the Mac by default. External processing is opt-in.

Third-party ASR requires a separate audio-upload consent, a selected provider, endpoint, model, API key, and the audio-upload setting. Echo Memory must fail before creating an upload connection when any of these is missing. Third-party text analysis has its own text-send consent and never includes the audio file. Both forms of consent are enforced by the service layer rather than only by the interface. API keys are stored in macOS Keychain.

Generated cross-record memory is versioned, linked to sources, and can be confirmed or rejected. It does not overwrite original recordings, transcripts, or single-record analysis.

MCP: one memory layer for many agents

The current MCP server is local stdio, disabled by default, and read-only. It can search records, retrieve bounded transcript ranges, list projects, return project context, and list action items. It does not open a public port or modify the library.

See the MCP reference for tools and development configuration.

Product principles

  • The user owns the memory: data should remain exportable, correctable, deletable, and revocable.
  • Original evidence outranks AI summaries: important claims must remain traceable.
  • Time and versions are preserved: new conclusions do not erase old reasoning.
  • High-impact automation is confirmable: inferred relationships and changes must be reviewable.
  • Agent access follows least privilege: tools receive only the context required for the task.
  • The system assists decisions, not replaces the user: uncertainty and conflicting evidence should remain visible.

Current boundary and direction

The current release focuses on a single-user, single-device workflow. It does not currently provide real-time recording, automatic meeting joining, mobile or Windows apps, cloud sync, team collaboration, public APIs, or MCP writes.

The longer-term direction is to expand from traceable conversation memory into a personal memory infrastructure that can connect events, people, projects, questions, knowledge, decisions, and outcomes across time. That direction still requires product, privacy, and user-trust validation.

Requirements

  • macOS on Apple Silicon
  • Node.js 22+, Rust stable, Cargo, and Xcode Command Line Tools
  • CMake for the first embedded Whisper build
  • A local Whisper ggml-*.bin model for transcription
  • Optional local whisper-cli / WHISPER_CPP_BIN
  • Optional local Ollama service and model for analysis
  • Optional pip install whisperx and a HuggingFace token (after accepting the pyannote model terms) for speaker diarization

Run locally

cd app
npm install
bash scripts/check-env.sh
npm run tauri dev

The default library is stored at ~/Library/Application Support/回声记忆. Use ECHO_LIBRARY_ROOT for an isolated development or test library.

Verify

cd app
npm run typecheck
npm run build
npm run test:growth
npm run test:ui
cd src-tauri
cargo fmt --check
cargo test --features mcp-bin

Project status

Echo Memory v0.7.1 is the current public release. Download the latest build from GitHub Releases. Source builds are supported. Distribution artifacts must be labeled truthfully according to their actual signing and Apple notarization status; this repository does not claim notarization unless the artifact passes the documented verification commands.

Contributions are welcome. Read CONTRIBUTING.md before opening an issue or pull request, and never attach real audio, transcripts, databases, credentials, or private customer material to a public issue. Security reports should follow SECURITY.md.

License

Apache-2.0. See LICENSE.

Yorumlar (0)

Sonuc bulunamadi