1
๐ Markdown: a base universal
Comece aqui. 80% dos usuarios nao precisam de mais.
โ Por que markdown ganha
Vantagens reais:
- โขZero dependencia โ so precisa de editor e grep.
- โขHumano legivel โ voce le direto no terminal.
- โขGit nativo โ versionamento e backup automatico.
- โขPortavel โ funciona em qualquer OS, qualquer editor.
- โขCusto zero โ nem API, nem DB, nem config.
๐ก Nao subestime
Muito engenheiro quer ir direto pra vetor. Markdown resolve 80% dos casos com 0% da complexidade.
2
๐ Obsidian: duas portas
Mesmo markdown, dois acessos: humano no app, IA via CLI.
๐ Arquitetura two-doors
โโโโโโโโโโโโโโโโโ
โ vault files โ (markdown .md)
โ no disco โ
โโโโโโโโโฌโโโโโโโโ
โ
โโโโโโโโโโดโโโโโโโโโ
โ โ
โผ โผ
โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ
โ Obsidian โ โ Claude Code โ
โ UI, mobile, โ โ via bash โ
โ backlinks, โ โ (grep, cat, โ
โ grafo โ โ Obsidian โ
โ โ โ CLI) โ
โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ
Voce edita no Obsidian. Claude le os .md.๐ Quando vale Obsidian
- Ja tem vault pessoal: sinergia enorme
- Trabalha mobile: Obsidian Sync ($4/mes)
- Gosta de grafo visual: ver conexoes
- Publica conhecimento: Obsidian Publish
- Nao vale se: voce nao gosta do app e so usaria por Claude
3
๐๏ธ SQLite + FTS5
Quando grep fica lento, SQLite e o passo natural. DB embedded, zero config.
๐ Schema minimo
CREATE TABLE memories ( id INTEGER PRIMARY KEY, title TEXT NOT NULL, body TEXT NOT NULL, type TEXT NOT NULL, -- fact/decision/pattern/... created_at TEXT NOT NULL, access_count INTEGER DEFAULT 0 ); -- FTS5 virtual table para busca full-text CREATE VIRTUAL TABLE memories_fts USING fts5( title, body, content=memories ); -- Trigger para manter FTS em sync CREATE TRIGGER memories_ai AFTER INSERT ON memories BEGIN INSERT INTO memories_fts(rowid, title, body) VALUES (new.id, new.title, new.body); END; -- Busca: <50ms em 10k entries SELECT id, title FROM memories_fts WHERE memories_fts MATCH 'webhook OR idempotency' ORDER BY rank LIMIT 5;
๐ Quando migrar do markdown
- Grep > 500ms: hora de SQLite
- Memorias > 500: FTS5 vale a pena
- Precisa de filtro por tipo: SQL vence grep combinado
- Acces_count tracking: salience scoring precisa
4
๐ง sqlite-vec + fastembed
Semantica local. Sem API externa, sem custo recorrente, sem latencia de rede.
๐ Setup local
# Instalar dependencias (Python)
pip install sqlite-vec fastembed
# Criar index vetorial
import sqlite3
import sqlite_vec
from fastembed import TextEmbedding
db = sqlite3.connect('memory.db')
db.enable_load_extension(True)
sqlite_vec.load(db)
db.execute('''
CREATE VIRTUAL TABLE vec_memories USING vec0(
embedding float[384]
)
''')
# Adicionar memoria
model = TextEmbedding() # modelo leve, offline
emb = list(model.embed(['texto da memoria']))[0]
db.execute('INSERT INTO vec_memories VALUES (?, ?)',
(id, emb.tolist()))
# Buscar 3 mais proximos
query_emb = list(model.embed(['pergunta']))[0]
results = db.execute('''
SELECT rowid, distance FROM vec_memories
WHERE embedding MATCH ?
ORDER BY distance LIMIT 3
''', (query_emb.tolist(),)).fetchall()๐ Privacidade + performance
- Tudo local: privacidade total
- Offline: funciona sem rede
- Custo: zero recorrente
- Latencia: ~30ms embed + 10ms search
5
โ๏ธ Supabase, Turso, Pinecone
Cloud vale em casos especificos. Na duvida, nao e o seu.
โ Cloud vale a pena
- โTime de 3+ pessoas compartilhando memoria
- โVoce troca entre desktop e mobile frequentemente
- โJa paga Supabase/Postgres para outra coisa
- โPrecisa auth e permissoes granulares
โ Cloud e overkill
- โVoce e solo com 1 maquina
- โPrivacidade e critica (medicina, direito)
- โBudget zero
- โAinda em fase de experimentar
6
๐ Matriz de decisao
Tabela unica. Cole na sua documentacao.
๐ Matriz completa
| Backend | Setup | Custo | Privacidade | Multi-dev | Semantica | |---------------|-------|-------|-------------|-----------|-----------| | Markdown | 0min | $0 | total | git | nao | | Obsidian | 10min | $0-4 | total | Sync | parcial | | SQLite | 30min | $0 | total | nao | nao | | sqlite-vec | 1h | $0 | total | nao | sim | | Supabase | 2h | $0-25 | cloud | sim | pgvector | | Turso | 1h | $0-20 | cloud | sim | nao | | Pinecone | 2h | $50+ | cloud | sim | sim | Regra: comece na linha 1-2. Sobe so quando medir limitacao real.
๐ก Migration path
Markdown โ SQLite (script: scan .md, insert). SQLite โ sqlite-vec (add virtual table). Sempre reversivel.
๐ Resumo do Modulo
โ
Markdown cobre 80% โ nao subestime a base.
โ
Obsidian e markdown + UI โ duas portas para mesmo conteudo.
โ
SQLite e o upgrade natural โ quando busca fica lenta.
โ
Cloud so em casos especificos โ time ou multi-device real.
Proximo:
5.4 โ Multi-sinal: o painel de juizes