Show HN: Echos – Self-hosted AI knowledge base for things you forget
by dupp | 2026-02-25 13:36:52+00:00
Hi HN, I’m Albino (https://www.albinotonnina.com). Happy Wednesday. I built echos because I often saved things but couldn’t find them again. My memory isn’t great. I’d read something useful, but a couple of weeks later, I’d forget where I put it or even that I’d read it at all.

I tried a bunch of popular tools, but they all made me pick a category before saving anything. That small step was enough of a hassle that I’d skip it, especially when I was busy. After a few months, I didn’t have a knowledge base, just a reading list that made me feel guilty.

echos is a self-hosted AI knowledge system. You can send it all kinds of content during the day, like a URL, a voice note, or just a thought you want to save. It stores, sorts, and indexes everything for you, so you don’t have to decide where it goes. Later, you just ask a question in plain language to find what you need.

Website: https://www.echos.sh

GitHub: https://github.com/albinotonnina/echos

Demo: https://www.youtube.com/watch?v=D3QCQXqNewU

How It Works

echos uses an AI agent built on Claude. It starts in Haiku mode by default, but you can switch modes at any time with the command /model [fast|balanced|deep]. When you send a message, the AI figures out what to do, whether that’s storing, searching, writing, or reminding you about something. Just tell it what you need. You can conversate with it like you would with a person, and it handles the rest.

Notes are saved as plain Markdown files in the data/knowledge/ folder. You can open that folder in Obsidian, and live sync works out of the box with no plugins needed. If you ever stop using echos, your notes stay in plain text, so you’re never locked in.

The search feature is hybrid. It combines full-text search with SQLite FTS5 and semantic search with LanceDB, using RRF. For example, you can ask, “What did I save about async code review last month?” and still find the right note, even if you phrase your question differently.

The writing feature is what I use most. You give it five samples of your writing, and it builds a style profile from them. When you ask it to draft something, it checks your notes first and writes using your own material and style. It doesn’t pull from the internet or the model’s training data—everything comes from what you’ve read and saved.

There are a lot of other features, like reminders, export options, and content processors for things like YouTube transcripts and article extraction. It’s extensible, so you can add your own tools if you want.

What It Isn’t

echos is meant for individual use. It’s not multi-tenant by design. Each person runs it on their own server, so your data stays private. The only outbound calls are to the AI APIs you set up yourself.

Technical Decisions Worth Mentioning

- Uses a pnpm monorepo with TypeScript strict mode enabled throughout

- Implements BullMQ and Redis for background jobs, including reminders, export cleanup, and embedding generation

- Content processors are designed as plugins rather than core code. For instance, YouTube transcript extraction and article parsing come as separate packages, which allows you to write your own.

- Incorporates Zod validation at every input boundary and uses Pino for structured logging, complete with secret redaction features.

For full documentation, go to https://docs.echos.sh. The project uses the MIT license. If you want to talk more about the agent tool design or the hybrid search, I’m happy to chat!