Back to browse
GitHub Repository

Personal Intelligence Engine — aggregates communication streams into a searchable local index

109 starsTypeScript

Traul – Local-first search engine for all comms for AI agents

by dandaka·Mar 17, 2026·3 points·0 comments

AI Analysis

●●●BangerSolve My ProblemBig BrainDark Horse

Finally gives AI agents memory across Slack, Telegram, and Gmail without sending data to the cloud.

Strengths
  • Eight-source sync with cursor-based incremental updates means subsequent syncs are actually fast.
  • Hybrid FTS5 + Ollama embeddings with graceful fallback — works even when vector search is unavailable.
  • Agent-accessible search API solves the 'copy-paste context from five apps' problem elegantly.
Weaknesses
  • WhatsApp sync likely requires workarounds given their API restrictions — unclear how robust this is.
  • No mention of conflict resolution when the same conversation spans multiple platforms.
Category
Target Audience

Developers using AI coding agents who need conversation context across apps

Similar To

Obsidian · Mem · Rewind AI

Post Description

I built a CLI that syncs Slack, Telegram, Discord, Gmail, WhatsApp, Linear, Claude Code sessions, and Markdown files into a single local SQLite database — and gives your AI agent instant search access to all of it.

Problem: I use Claude Code as my daily driver for everything — coding, research, planning. I kept giving it more context: docs, call transcripts, project specs. Each piece made it smarter. But the most important context was always missing — the actual conversations where decisions happen. And those are scattered across 5+ apps.

What Traul does:

- Syncs 8 sources into one SQLite database with incremental sync (cursor-based, so subsequent syncs are fast) - Hybrid search: FTS5 (BM25 keyword) + Ollama embeddings (semantic) - Falls back to FTS-only if Ollama isn't running — no hard dependency on vector search - Background daemon with per-source sync intervals - Everything stays on your machine. No cloud, no external APIs for core functionality

Stack: TypeScript on Bun, SQLite (WAL mode) + FTS5 + sqlite-vec, Ollama + nomic-embed-text for embeddings, Commander.js for CLI. AGPL-3.0.

I found it useful for:

- Track a project across scattered conversations. I have an integration being discussed in Slack, Telegram, and five different group chats. Agent sees through all of them — who's blocking, whose court the ball is in, what the next steps are. - Monitor your community. Asked my agent to look at our Discord and summarize what users are writing. Got main topics, sentiment, what people are unhappy about. Then separately — feature requests. Then separately — how attitude toward the product is changing over time. - Monitor competitors. Hook up their Discord servers, track what their users are asking for, what's broken, what they're discussing. - Find that one message you vaguely remember. In a discussion about Claude Code pricing I remembered a friend sent me a link about it. Asked the agent to search my chats — found the exact Telegram message. - Prep for a call in seconds. Before a recruiter call, asked the agent to find info about this person. Found them in my email. I don't need to remember where exactly I communicated with someone — agent finds it. - Stop being the search engine yourself. The whole "was it in Slack, Telegram, or the task tracker?" problem goes away. Agent tries different keywords, reads intermediate chunks, follows the chain, arrives at the result.

Similar Projects

AI/MLMid

I'm sick of switching between LLMs

Another multi-LLM chat client when Chatbox, LM Studio, and Open WebUI already exist.

Ship It
sethito
112mo ago