So I built Thoth. Three design decisions that drove everything:
1. HOT-LOADING SKILLS Agents start minimal—no tools loaded. When you ask "find papers on attention mechanisms," the agent loads the paper-discovery skill, which attaches its MCP tools dynamically. When you switch to "analyze this citation network," it loads the citation skill. 10 bundled skills, users can create their own. This keeps context windows small and agents focused.
2. CHAT AS CONFIGURATION Every setting, every source, every extraction schema can be changed through conversation. "Add NeurIPS as a source" just works. "Change the extraction schema to include methodology sections" just works. No config files required (though power users can still edit them).
3. AUTOMATED SOURCE DISCOVERY Give the agent any URL. It uses Playwright + an LLM to auto-detect article elements and creates a working scraper. Zero configuration. If it gets something wrong, tell it in natural language and it iterates. Then tell the agent about a broad research idea you have and let it help you refine that topic, create a new research job, automatically add sources and run recurring updates. You always have the most up to date research for YOUR work not just the hot topic of the day.
Other stuff: - 64 MCP tools across 16 categories - Letta-powered persistent memory (6 memory blocks per agent) - Hybrid RAG: pgvector + BM25 + Reciprocal Rank Fusion + reranking - 6-stage citation resolution (Crossref → OpenAlex → ArXiv → fuzzy matching) - 7 pre-built source plugins (ArXiv, Semantic Scholar, NeurIPS, ICML, etc.) - One-command install: curl | bash - Obsidian plugin for the UI - Fully local / privacy-first
Stack: Python 3.12, FastAPI, Letta, PostgreSQL+pgvector, TypeScript, Docker
https://github.com/acertainKnight/project-thoth
Would love feedback. Defnitiely will have some bugs here and there but its been great for my own workflows.