freshcrate
Skin:/
Home > AI Agents > echos

echos

Your personal AI knowledge system โ€” self-hosted, agent-driven, and always private.

Why this rank:Strong adoptionRelease freshnessHealthy release cadence

Description

Your personal AI knowledge system โ€” self-hosted, agent-driven, and always private.

README

EchOS

EchOS

Your personal AI knowledge system โ€” self-hosted, agent-driven, and always private.

License: MIT Node.js TypeScript Version

โ†’ Full documentation at docs.echos.sh


Note

EchOS is a personal project โ€” built for one user, deployed on your own infrastructure. It is intentionally not multi-tenant.

EchOS Telegram conversation

Save articles, search your knowledge, get reminders โ€” all through natural conversation.

Youtube DEMO
EchOS One Shot Demo


What it feels like

You're walking and a thought hits. You open Telegram and say it out loud. Thirty seconds later it's in your knowledge base โ€” transcribed, categorized, tagged, searchable. You didn't open an app. You didn't fill a form. You didn't think about where to put it.

That's the thing EchOS is trying to solve. Not the storage. The friction.

You:    Save this for me โ†’ [pastes article URL]
EchOS:  Saved. "How Rust handles memory safety" โ€” tagged as rust, programming.
        I pulled the key points if you want a summary.

You:    What do I know about memory management?
EchOS:  Found 7 notes. The Rust piece you just saved, two older ones on GC pauses,
        a voice note from last Tuesday where you were ranting about malloc...

You:    Write a short post about it โ€” my style, technical but readable
EchOS:  [drafts a post grounded in your actual notes, in your voice]

You:    Save it.
EchOS:  Done. You can open it in Obsidian whenever you want.

No commands to memorize. No schemas to design. No dashboards to maintain.


Why self-hosted

Your notes are yours. They live on your server, in plain Markdown files you can open in Obsidian right now. No subscription. No sync fees. No vendor deciding what to do with your thinking.

The only outbound calls are to the AI APIs you configure โ€” and only when you ask it to do something.


The main things it does

Capture without friction. Text, URLs, voice messages, photos โ€” through Telegram, the terminal, or the web. It figures out what to do with them.

Search that actually understands you. Not keyword matching. Hybrid full-text and semantic search with temporal decay, hotness scoring, and optional AI reranking: ask it a question the way you'd ask a person, and it finds what you meant. See benchmark results โ†’

Write in your voice. Tell it to write a blog post, a thread, an email. It reads your notes for source material and matches the way you actually write โ€” not generic AI prose.

Obsidian-compatible, always. Every note is a plain .md file. Open $ECHOS_HOME/knowledge (default: ~/echos/knowledge) in Obsidian and your entire knowledge base is right there. Live sync, bidirectional.

Remembers how you want it to talk. Tell it to be concise, warmer, more technical. It adapts immediately and stays that way.


How EchOS Compares

Feature ๐Ÿ”ฎ EchOS ๐Ÿ’Ž Obsidian + AI ๐Ÿ“‹ Notion AI ๐Ÿง  Mem ๐ŸŽ Apple Notes
๐Ÿ  Runs locally โœ… โœ… โŒ โŒ โŒ
๐Ÿ’พ Local storage โœ… โœ… โŒ โŒ ๐ŸŸก
๐Ÿค– Agent-driven โœ… โŒ โŒ ๐ŸŸก โŒ
โœˆ๏ธ Telegram interface โœ… โŒ โŒ โŒ โŒ
๐Ÿ’ป CLI โœ… ๐ŸŸก โŒ โŒ โŒ
๐Ÿ”Œ Plugin system โœ… โœ… ๐ŸŸก โŒ โŒ
๐Ÿ” Semantic search โœ… ๐ŸŸก ๐ŸŸก โœ… โŒ
๐Ÿ•ธ๏ธ Knowledge graph ๐ŸŸก โœ… โŒ โŒ โŒ
๐Ÿ”— MCP server โœ… ๐ŸŸก โŒ โŒ โŒ
๐ŸŽค Voice input โœ… ๐ŸŸก โŒ โŒ ๐ŸŸก
๐Ÿ“Ž Content capture (URL/YouTube) โœ… ๐ŸŸก ๐ŸŸก ๐ŸŸก ๐ŸŸก
๐Ÿ“„ Plain markdown files โœ… โœ… โŒ โŒ โŒ
๐Ÿ’Ž Obsidian compatible โœ… โœ… โŒ โŒ โŒ

Legend: โœ… = yes, โŒ = no, ๐ŸŸก = partial support via plugins or workarounds

Choose Obsidian + AI plugins if you want a mature, polished UI with a large plugin ecosystem and you're happy to configure things yourself. EchOS trades Obsidian's graph view and rich editor for a conversational agent that captures and organizes for you automatically.

Choose Notion AI if you need team collaboration, structured databases, and don't mind cloud storage. EchOS is intentionally single-user and keeps everything local.

Choose Mem if you want zero-setup, cloud-native AI notes without any self-hosting. EchOS requires a server but gives you full data ownership in return.

Choose Apple Notes if you're deep in the Apple ecosystem and want something that just works without any configuration. EchOS is for people who want a programmable, AI-driven knowledge layer they fully control.


Get started

macOS (Homebrew)

brew tap albinotonnina/echos
brew update
brew install echos
echos-setup          # browser-based setup wizard
brew services start echos

One-liner (macOS + Linux)

curl -sSL https://raw.githubusercontent.com/albinotonnina/echos/main/install.sh | bash

Manual

git clone https://github.com/albinotonnina/echos.git && cd echos
pnpm install && pnpm build
pnpm wizard         # opens http://localhost:3456 with guided setup
pnpm start

You'll need an LLM API key โ€” either Anthropic (ANTHROPIC_API_KEY, pay-as-you-go, not a Claude subscription) or any other provider supported by pi-ai (LLM_API_KEY). Custom OpenAI-compatible endpoints (DeepInfra, local Ollama, etc.) are supported via LLM_BASE_URL. Everything else is optional.

โ†’ Full setup guide at docs.echos.sh/distribution


Documentation

Everything you need to go deeper is at docs.echos.sh.

Architecture How the pieces fit together
Deployment VPS, Docker, nginx, systemd
Security What EchOS does and doesn't do with your data
MCP Server Connect Claude Code, Cursor, and other AI tools
Knowledge Import Bring in your Obsidian vault or Notion export
Writing Voice profiles and content generation
Plugins YouTube, articles, and building your own
Troubleshooting When things go sideways

License

MIT

Release History

VersionChangesUrgencyDate
v0.19.1## Docker ```bash docker pull ghcr.io/albinotonnina/echos:0.19.1 ``` Or update your running instance: ```bash pnpm update-echos ``` ## What's Changed * chore: add emojis to comparison table in README by @albinotonnina in https://github.com/albinotonnina/echos/pull/235 * fix: rename mcp.mdx โ†’ mcp-server.mdx (Mintlify route conflict) by @albinotonnina in https://github.com/albinotonnina/echos/pull/236 * fix: categorize_note preserves externally-edited markdown content by @Copilot in https://giHigh4/9/2026
v0.19.0## Docker ```bash docker pull ghcr.io/albinotonnina/echos:0.19.0 ``` Or update your running instance: ```bash pnpm update-echos ``` ## What's Changed * feat: temporal decay scoring for hybrid search (task 10.01) by @albinotonnina in https://github.com/albinotonnina/echos/pull/223 * feat: cross-encoder reranking stage (task 10.03) by @albinotonnina in https://github.com/albinotonnina/echos/pull/225 * docs: README competitive comparison (task 12.01) by @albinotonnina in https://github.com/albiHigh4/8/2026
v0.18.0## Docker ```bash docker pull ghcr.io/albinotonnina/echos:0.18.0 ``` Or update your running instance: ```bash pnpm update-echos ``` ## What's Changed * fix: make reminders one-time by default, add optional recurrence by @albinotonnina in https://github.com/albinotonnina/echos/pull/212 * feat: render article media inline in Twitter plugin by @albinotonnina in https://github.com/albinotonnina/echos/pull/213 * feat: handle document file uploads from Telegram by @albinotonnina in https://github.Medium4/7/2026
v0.17.0## Docker ```bash docker pull ghcr.io/albinotonnina/echos:0.17.0 ``` Or update your running instance: ```bash pnpm update-echos ``` ## What's Changed * fix: BuildKit COPY --parents + missing tsconfig.paths.json by @albinotonnina in https://github.com/albinotonnina/echos/pull/205 **Full Changelog**: https://github.com/albinotonnina/echos/compare/v0.16.0...v0.17.0Medium3/29/2026
v0.14.3## Docker ```bash docker pull ghcr.io/albinotonnina/echos:0.14.3 ``` Or update your running instance: ```bash pnpm update-echos ``` ## What's Changed * fix: Docker build โ€” upgrade corepack + add build tools by @albinotonnina in https://github.com/albinotonnina/echos/pull/189 **Full Changelog**: https://github.com/albinotonnina/echos/compare/v0.14.2...v0.14.3Medium3/29/2026
v0.14.0## Docker ```bash docker pull ghcr.io/albinotonnina/echos:0.14.0 ``` Or update your running instance: ```bash pnpm update-echos ``` ## What's Changed * chore: add EchOS logo and brand colors to docs site by @albinotonnina in https://github.com/albinotonnina/echos/pull/167 * chore: add GitHub Copilot instructions file by @albinotonnina in https://github.com/albinotonnina/echos/pull/168 * docs: update installation references and enhance update instructions โ€ฆ by @albinotonnina in https://githubMedium3/29/2026
v0.13.1## Docker ```bash docker pull ghcr.io/albinotonnina/echos:0.13.1 ``` Or update your running instance: ```bash pnpm update-echos ``` ## What's Changed * chore: add rollback-release GitHub Actions workflow by @albinotonnina in https://github.com/albinotonnina/echos/pull/154 * Implement feature X to enhance user experience and fix bug Y in module Z by @albinotonnina in https://github.com/albinotonnina/echos/pull/162 * docs: fix incorrect file paths in implementation plan by @albinotonnina in htMedium3/28/2026
v0.12.5## Docker ```bash docker pull ghcr.io/albinotonnina/echos:0.12.5 ``` Or update your running instance: ```bash pnpm update-echos ``` ## What's Changed * security: 5 targeted hardening improvements by @albinotonnina in https://github.com/albinotonnina/echos/pull/138 **Full Changelog**: https://github.com/albinotonnina/echos/compare/v0.12.4...v0.12.5Low3/12/2026
v0.12.4## Docker ```bash docker pull ghcr.io/albinotonnina/echos:0.12.4 ``` Or update your running instance: ```bash pnpm update-echos ``` ## What's Changed * Feature/conversation persistence by @albinotonnina in https://github.com/albinotonnina/echos/pull/152 **Full Changelog**: https://github.com/albinotonnina/echos/compare/v0.12.3...v0.12.4Low3/12/2026
v0.12.3## Docker ```bash docker pull ghcr.io/albinotonnina/echos:0.12.3 ``` Or update your running instance: ```bash pnpm update-echos ``` ## What's Changed * fix: replace QEMU arm64 with native ubuntu-24.04-arm runner by @albinotonnina in https://github.com/albinotonnina/echos/pull/151 **Full Changelog**: https://github.com/albinotonnina/echos/compare/v0.12.2...v0.12.3Low3/12/2026
v0.12.1## Docker ```bash docker pull ghcr.io/albinotonnina/echos:0.12.1 ``` Or update your running instance: ```bash pnpm update-echos ``` ## What's Changed * docs: add version badge to README by @albinotonnina in https://github.com/albinotonnina/echos/pull/139 * chore: remove powered by Claude AI badge from README by @albinotonnina in https://github.com/albinotonnina/echos/pull/140 * chore(deps): bump actions/setup-node from 4 to 6 by @dependabot[bot] in https://github.com/albinotonnina/echos/pullLow3/10/2026
v0.12.0## Docker ```bash docker pull ghcr.io/albinotonnina/echos:0.12.0 ``` Or update your running instance: ```bash pnpm update-echos ``` ## What's Changed * Automated setup and installation testing by @albinotonnina in https://github.com/albinotonnina/echos/pull/136 * reading queue intelligence tools by @albinotonnina in https://github.com/albinotonnina/echos/pull/137 **Full Changelog**: https://github.com/albinotonnina/echos/compare/v0.11.6...v0.12.0Low3/6/2026
v0.11.6## Docker ```bash docker pull ghcr.io/albinotonnina/echos:0.11.6 ``` Or update your running instance: ```bash pnpm update-echos ``` ## What's Changed * Fix/docker entrypoint chown by @albinotonnina in https://github.com/albinotonnina/echos/pull/134 * chore: document non-interactive git commands to avoid vim editor by @albinotonnina in https://github.com/albinotonnina/echos/pull/135 * Fix/deploy uid setup by @albinotonnina in https://github.com/albinotonnina/echos/pull/133 **Full Changelog*Low3/5/2026
v0.11.5## Docker ```bash docker pull ghcr.io/albinotonnina/echos:0.11.5 ``` Or update your running instance: ```bash pnpm update-echos ``` ## What's Changed * feat: add --tags and --category overrides to import:obsidian; fix misโ€ฆ by @albinotonnina in https://github.com/albinotonnina/echos/pull/127 * Feature/import force by @albinotonnina in https://github.com/albinotonnina/echos/pull/128 * Feature/support twitter articles by @albinotonnina in https://github.com/albinotonnina/echos/pull/129 * fix: eLow3/5/2026
v0.11.4## Docker ```bash docker pull ghcr.io/albinotonnina/echos:0.11.4 ``` Or update your running instance: ```bash pnpm update-echos ``` ## What's Changed * feat: Add support for processing X Articles by @albinotonnina in https://github.com/albinotonnina/echos/pull/126 **Full Changelog**: https://github.com/albinotonnina/echos/compare/v0.11.3...v0.11.4Low3/4/2026
v0.11.3## Docker ```bash docker pull ghcr.io/albinotonnina/echos:0.11.3 ``` Or update your running instance: ```bash pnpm update-echos ``` ## What's Changed * docs(CLAUDE): fix worktree placeholders and TS7006 scope by @albinotonnina in https://github.com/albinotonnina/echos/pull/125 **Full Changelog**: https://github.com/albinotonnina/echos/compare/v0.11.2...v0.11.3Low3/3/2026
v0.11.2## Docker ```bash docker pull ghcr.io/albinotonnina/echos:0.11.2 ``` Or update your running instance: ```bash pnpm update-echos ``` ## What's Changed * feat(telegram): add /version command by @albinotonnina in https://github.com/albinotonnina/echos/pull/121 * docs(CLAUDE): require pnpm -r build before every commit by @albinotonnina in https://github.com/albinotonnina/echos/pull/122 * fix(shared): correct JSDoc memoisation description in getVersion() by @Copilot in https://github.com/albinotoLow3/3/2026
v0.11.1## Docker ```bash docker pull ghcr.io/albinotonnina/echos:0.11.1 ``` Or update your running instance: ```bash pnpm update-echos ``` ## What's Changed * fix(ci): correct deploy_to_vps boolean check in release pipeline by @albinotonnina in https://github.com/albinotonnina/echos/pull/120 **Full Changelog**: https://github.com/albinotonnina/echos/compare/v0.11.0...v0.11.1Low3/3/2026
v0.11.0## Docker ```bash docker pull ghcr.io/albinotonnina/echos:0.11.0 ``` Or update your running instance: ```bash pnpm update-echos ``` ## What's Changed * fix: add journal plugin to Dockerfile, fix toolCallId type, enforce wโ€ฆ by @albinotonnina in https://github.com/albinotonnina/echos/pull/118 **Full Changelog**: https://github.com/albinotonnina/echos/compare/v0.10.0...v0.11.0Low3/2/2026
v0.9.2## Docker ```bash docker pull ghcr.io/albinotonnina/echos:0.9.2 ``` Or update your running instance: ```bash pnpm update-echos ``` ## What's Changed * fix(docker): add plugins/resurface to Dockerfile deps stage by @albinotonnina in https://github.com/albinotonnina/echos/pull/116 **Full Changelog**: https://github.com/albinotonnina/echos/compare/v0.9.1...v0.9.2Low3/2/2026
v0.9.0## Docker ```bash docker pull ghcr.io/albinotonnina/echos:v0.9.0 ``` Or update your running instance: ```bash pnpm update-echos ``` To deploy to your VPS manually, use the "Deploy to VPS" workflow from the Actions tab. ## What's Changed * Create SECURITY.md for security policy and reporting by @albinotonnina in https://github.com/albinotonnina/echos/pull/98 * chore: bump Homebrew formula to v0.8.0 by @albinotonnina in https://github.com/albinotonnina/echos/pull/99 * feat: add Start EchOS buLow2/28/2026
v0.8.0## Docker ```bash docker pull ghcr.io/albinotonnina/echos:v0.8.0 ``` Or update your running instance: ```bash pnpm update-echos ``` To deploy to your VPS manually, use the "Deploy to VPS" workflow from the Actions tab. ## What's Changed * Feature/setup-fixes by @albinotonnina in https://github.com/albinotonnina/echos/pull/91 * Chore/improve-post-setup-pr by @albinotonnina in https://github.com/albinotonnina/echos/pull/95 * chore: release v0.8.0 by @albinotonnina in https://github.com/albinoLow2/28/2026
v0.7.4## Docker ```bash docker pull ghcr.io/albinotonnina/echos:v0.7.4 ``` Or update your running instance: ```bash pnpm update-echos ``` To deploy to your VPS manually, use the "Deploy to VPS" workflow from the Actions tab. ## What's Changed * fix(youtube): update proxy configuration for IP rotation and enhance error logging by @albinotonnina in https://github.com/albinotonnina/echos/pull/92 * chore: release v0.7.4 by @albinotonnina in https://github.com/albinotonnina/echos/pull/93 **Full ChanLow2/27/2026
v0.7.3## Docker ```bash docker pull ghcr.io/albinotonnina/echos:v0.7.3 ``` Or update your running instance: ```bash pnpm update-echos ``` To deploy to your VPS manually, use the "Deploy to VPS" workflow from the Actions tab. ## What's Changed * fix(youtube): replace Python dependencies with pure JS libraries by @albinotonnina in https://github.com/albinotonnina/echos/pull/89 * chore: release v0.7.3 by @albinotonnina in https://github.com/albinotonnina/echos/pull/90 **Full Changelog**: https://gLow2/27/2026
v0.7.2## Docker ```bash docker pull ghcr.io/albinotonnina/echos:v0.7.2 ``` Or update your running instance: ```bash pnpm update-echos ``` To deploy to your VPS manually, use the "Deploy to VPS" workflow from the Actions tab. ## What's Changed * Enforce tool-backed retrieval for exact saved details (prevent fabricated video links) by @Copilot in https://github.com/albinotonnina/echos/pull/86 * Always mark a saved tweet as read by @Copilot in https://github.com/albinotonnina/echos/pull/87 * chore: Low2/27/2026
v0.7.1## Docker ```bash docker pull ghcr.io/albinotonnina/echos:v0.7.1 ``` Or update your running instance: ```bash pnpm update-echos ``` To deploy to your VPS manually, use the "Deploy to VPS" workflow from the Actions tab. ## What's Changed * chore: release v0.7.1 by @albinotonnina in https://github.com/albinotonnina/echos/pull/85 **Full Changelog**: https://github.com/albinotonnina/echos/compare/v0.7.0...v0.7.1Low2/27/2026
v0.6.1## Docker ```bash docker pull ghcr.io/albinotonnina/echos:v0.6.1 ``` Or update your running instance: ```bash pnpm update-echos ``` To deploy to your VPS manually, use the "Deploy to VPS" workflow from the Actions tab. ## What's Changed * feat: implement multi-provider LLM support with environment variable configuration by @albinotonnina in https://github.com/albinotonnina/echos/pull/70 * feat: add prompt caching configuration for Anthropic models by @albinotonnina in https://github.com/albLow2/26/2026
v0.6.0## Docker ```bash docker pull ghcr.io/albinotonnina/echos:v0.6.0 ``` Or update your running instance: ```bash pnpm update-echos ``` To deploy to your VPS manually, use the "Deploy to VPS" workflow from the Actions tab. ## What's Changed * feat: add export functionality with various formats and cleanup process by @albinotonnina in https://github.com/albinotonnina/echos/pull/67 * feat: enhance export functionality with improved file naming and cleanup processes by @albinotonnina in https://giLow2/23/2026
v0.5.7## Docker ```bash docker pull ghcr.io/albinotonnina/echos:v0.5.7 ``` Or update your running instance: ```bash pnpm update-echos ``` To deploy to your VPS manually, use the "Deploy to VPS" workflow from the Actions tab. ## What's Changed * feat: introduce `list_reminders` tool and update agent's system prompt for task management. by @albinotonnina in https://github.com/albinotonnina/echos/pull/52 * docs: add shell alias configuration instructions to README by @albinotonnina in https://githubLow2/23/2026
v0.5.6## Docker ```bash docker pull ghcr.io/albinotonnina/echos:v0.5.6 ``` Or update your running instance: ```bash pnpm update-echos ``` To deploy to your VPS manually, use the "Deploy to VPS" workflow from the Actions tab. ## What's Changed * chore: release v0.5.6 by @albinotonnina in https://github.com/albinotonnina/echos/pull/49 **Full Changelog**: https://github.com/albinotonnina/echos/compare/v0.5.5...v0.5.6Low2/21/2026
v0.5.4## What's Changed * perf(telegram): compute markdownToHtml once per broadcast by @Copilot in https://github.com/albinotonnina/echos/pull/41 * chunk long Telegram notifications to respect 4096-char limit by @Copilot in https://github.com/albinotonnina/echos/pull/43 * fix: use standard Markdown bold in reminder notifications by @Copilot in https://github.com/albinotonnina/echos/pull/44 * Fix markdownToHtml dropping URLs from markdown links by @Copilot in https://github.com/albinotonnina/echos/pullLow2/21/2026
v0.5.2**Full Changelog**: https://github.com/albinotonnina/echos/compare/v0.5.1...v0.5.2Low2/21/2026
v0.5.1**Full Changelog**: https://github.com/albinotonnina/echos/compare/v0.5.0...v0.5.1Low2/21/2026
v0.4.1**Full Changelog**: https://github.com/albinotonnina/echos/compare/v0.4.0...v0.4.1Low2/20/2026
v0.4.0## What's Changed * fix(cli): respect DB_PATH/KNOWLEDGE_DIR/DEFAULT_MODEL env vars by @Copilot in https://github.com/albinotonnina/echos/pull/18 * Fix Ctrl+C in interactive REPL: implement actual cancellation via agent.abort() by @Copilot in https://github.com/albinotonnina/echos/pull/19 * [WIP] Address feedback on image reference update in docker-compose.yml by @Copilot in https://github.com/albinotonnina/echos/pull/21 * docs: highlight conversational brainstorming by @Claude in https://github.Low2/20/2026
v0.3.1**Full Changelog**: https://github.com/albinotonnina/echos/compare/v0.3.0...v0.3.1Low2/19/2026
v0.2.0**Full Changelog**: https://github.com/albinotonnina/echos/compare/v0.1.1...v0.2.0Low2/19/2026
v0.1.1**Full Changelog**: https://github.com/albinotonnina/echos/compare/0.1.0...v0.1.1Low2/19/2026
v0.1.0<img width="612" height="409" alt="image" src="https://github.com/user-attachments/assets/0833257b-d59a-45c6-a91b-c38aec01c2f1" /> ## What's Changed * Implement AI-powered categorization with lightweight and full processing modes by @Copilot in https://github.com/albinotonnina/echos/pull/1 * Auto-complete reminders after notification by @Copilot in https://github.com/albinotonnina/echos/pull/3 * build(deps): bump actions/setup-node from 4 to 6 by @dependabot[bot] in https://github.com/albinotLow2/19/2026

Dependencies & License Audit

Loading dependencies...

Similar Packages

adk-jsAn open-source, code-first Typescript toolkit for building, evaluating, and deploying sophisticated AI agents with flexibility and control.devtools-v1.2.0
agent-sdk๐Ÿค– Build transparent, message-first agents with efficient tool calls, planning, and multi-agent handoffs using the lightweight agent-sdk for Node.js.main@2026-06-06
deepchat๐ŸฌDeepChat - A smart assistant that connects powerful AI to your personal worldv1.0.5
CopilotKitThe Frontend Stack for Agents & Generative UI. React + Angular. Makers of the AG-UI Protocolv1.59.5
adk-pythonAn open-source, code-first Python toolkit for building, evaluating, and deploying sophisticated AI agents with flexibility and control.v2.2.0

More in AI Agents

hermes-agentThe agent that grows with you
awesome-copilotCommunity-contributed instructions, agents, skills, and configurations to help you make the most of GitHub Copilot.
CopilotKitThe Frontend Stack for Agents & Generative UI. React + Angular. Makers of the AG-UI Protocol
e2bE2B SDK that give agents cloud environments