Thoth is a local-first AI assistant for personal AI sovereignty: a desktop agent with memory, tools, workflows, design creation, messaging, plugins, and optional cloud models while your durable data stays on your machine.
It runs fully local through Ollama with 39 curated tool-calling models, or you can opt into OpenAI, Anthropic, Google AI, xAI, OpenRouter, and ChatGPT / Codex when you want frontier reasoning or do not have a GPU. API keys and in-app subscription tokens are stored in the OS credential store when available; Thoth has no account system, server, or telemetry pipeline.
🖥️ One-click install on Windows & macOS — download, run, done. No terminal, Docker, or config files required. Get it here.
In ancient Egyptian mythology, Thoth (𓁟) was the god of wisdom, writing, and knowledge — the divine scribe who recorded all human understanding. Like its namesake, this tool is built to gather, organize, and faithfully retrieve knowledge — while keeping everything under your control.
Full subsystem details live in docs/ARCHITECTURE.md.
Thoth stores durable knowledge as entities and typed relationships, not just chat snippets. It can save, search, link, explore, visualize, and export your knowledge graph as an Obsidian-compatible wiki vault, while background extraction and Dream Cycle refine duplicates, stale confidence, missing relationships, and actionable insights.
Designer Studio creates decks, documents, landing pages, app mockups, and storyboards with a sandboxed interactive runtime, critique-repair loop, editable exports, and shareable HTML. The same media layer supports image generation/editing with OpenAI, Google, and xAI, plus video generation through Google Veo and xAI Grok Imagine Video.
The LangGraph ReAct agent has 30 core tool modules plus auto-generated channel tools. It can browse in a visible Chromium window, use the shell, manage files, search the web, read documents, send email, manage calendar events, create charts, inspect system status, and call external MCP tools. Destructive actions are approval-gated, shell commands are safety-classified, the filesystem is sandboxed, and tools can be disabled individually.
Advanced workflows add schedules, webhook triggers, condition branches, approval steps, subtasks, notification-only runs, concurrency groups, per-workflow model/tool/skill overrides, and background safety modes. The Workflow Console shows running jobs, approvals, recent history, and insights without leaving chat.
Thoth ships as a desktop app for Windows and macOS with one-click installers, tray integration, setup wizard, voice input, local Kokoro TTS, desktop notifications, and 5 bundled messaging channels: Telegram, WhatsApp, Discord, Slack, and SMS. Channels share media handling, streaming, approvals, health checks, and optional tunnel support.
Plugins add tools and skills through a sandboxed marketplace; MCP servers add external tools with per-server and per-tool review; Claude Code Delegation can coordinate Claude Code CLI as an approval-gated external coding worker; the migration wizard imports selected Hermes/OpenClaw data with backups and redacted reports. Core and plugin API keys use the OS credential store when available, with metadata-only files in Thoth's data directory.
| Area | What Thoth Includes |
|---|---|
| Agent & Models | LangGraph ReAct agent, streaming, thinking bubbles, smart context trimming, 39 curated Ollama models, opt-in OpenAI/Anthropic/Google/xAI/OpenRouter provider models plus ChatGPT / Codex subscription models, per-thread and per-workflow model overrides |
| Memory & Knowledge | Personal knowledge graph, FAISS semantic recall, 67 typed relations, graph visualization, Obsidian wiki export, document extraction, Dream Cycle refinement, self-knowledge, and insights |
| Design & Media | Designer Studio, PDFs/HTML/PNG/PPTX export, published interactive links, image generation/editing, video generation, chart insertion, Mermaid/Plotly rendering, and media persistence |
| Tools | 30 core tools covering search, browser, shell, filesystem, documents, Gmail, Calendar, X, memory, workflows, tracker, image/video, vision, status, MCP, updates, computation, weather, charts, and system info |
| Automation | Scheduled workflows, step pipelines, conditions, approvals, subtasks, webhooks, task-completion triggers, notifications, channel delivery, run history, and safety modes |
| Channels & Voice | Telegram, WhatsApp, Discord, Slack, SMS, local faster-whisper STT, Kokoro TTS, media intake, reactions, streaming, approval routing, and tunnel manager |
| Platform & Extensibility | Native desktop app, one-click installers, auto-updates, plugin marketplace, MCP client, migration wizard, configurable identity, secure API-key storage, 13 manual skills including Claude Code Delegation, and 18 tool guides |
Detailed architecture and subsystem reference →
OpenClaw is a popular open-source personal AI assistant. It's a powerful multi-channel gateway built for developers comfortable in the terminal. Here's how the two compare:
| Thoth | OpenClaw | |
|---|---|---|
| Getting started | One-click installer (.exe / .dmg) — download, run, done. Built-in setup wizard, no terminal required |
npm install -g openclaw@latest → CLI onboarding. Requires Node.js 24. Windows needs WSL2 (no native Windows support) |
| Local AI (offline) | Local-first — Ollama with 39 curated models out of the box. Works fully offline. Provider models are opt-in | Cloud-first design — requires an API key to start. Local model support through provider config |
| Memory | Personal knowledge graph — 10 entity types, typed directional relations, visual explorer, FAISS semantic search + 1-hop graph expansion, memory decay, orphan repair | Flat markdown files (MEMORY.md + daily notes) with semantic search. No structured graph |
| Knowledge refinement | Dream Cycle — 5-phase nightly engine: duplicate merging (≥0.93 similarity), description enrichment, stale-confidence decay, relationship inference with hub diversity caps and rejection cache, and actionable insight generation. 3-layer anti-contamination system, dream journal | Dreaming (experimental) — Light/Deep/REM phases that promote short-term signals to long-term memory via scoring thresholds |
| Document intelligence | Map-reduce LLM pipeline — extracts structured entities and relations into the knowledge graph with source provenance. Curated 67-type relation vocabulary, entity caps, self-loop rejection. Supports PDF, DOCX, EPUB, HTML, Markdown | File read/write/edit operations in the workspace |
| Wiki vault | Obsidian-compatible export — one .md per entity with [[wiki-links]], YAML frontmatter, and per-type indexes |
Not available |
| Voice | Fully local — faster-whisper STT + Kokoro TTS with 10 voices. Audio never leaves your machine | ElevenLabs (cloud TTS) + system fallback. Voice Wake on macOS/iOS |
| Health tracking | Built-in tracker — medications, symptoms, exercise, mood, sleep, periods. Streak analysis, CSV export, Plotly charts | Not available |
| Tools | 30 core tools plus auto-generated channel send tools — shell, browser, filesystem, Gmail, Calendar, Designer Studio, Thoth Status, memory graph, MCP external tools, image + video generation, and research tools | ~20 built-in tools — exec, browser, web search, canvas, cron, image/music/video generation |
| Messaging channels | 5 channels — Telegram, WhatsApp, Discord, Slack, SMS — all with streaming, reactions, media, and approval routing. Auto-generated per-channel tools. Tunnel manager for webhooks | 23+ channels — WhatsApp, Telegram, Slack, Discord, Signal, iMessage, Teams, Matrix, IRC, and many more |
| Autonomous agents | Advanced workflows — step-based pipelines with conditions, approval gates, webhook triggers, concurrency groups, and per-workflow safety mode. Multiple run in parallel with their own persistent threads | Multi-agent routing with isolated sessions per sender/channel |
| Desktop app | Native window (pywebview) + system tray on Windows & macOS. One-click installers for both | macOS menu bar app. No native Windows app (WSL2 required). iOS & Android companion apps |
| Designer / Canvas | Designer Studio for decks, one-pagers, reports, published links, plus Mermaid diagrams and Plotly charts rendered inline | A2UI — agent-driven interactive visual workspace |
| Plugins | Sandboxed plugin marketplace with hot-reload and security scanning | npm plugin ecosystem + ClawHub skill registry. Large community catalog |
| Privacy | All data local. No account, no server, no telemetry. API keys use the OS credential store when available — Thoth has no servers | Self-hosted gateway. Data stays on your machine. Some channel integrations require external services |
| Cost | Free with local models. Provider models use upstream API billing or ChatGPT subscription access only when you opt in | Free + open source. Requires a cloud API key to function |
In short: OpenClaw is a powerful gateway for developers who want their AI assistant on every messaging platform. Thoth is built for people who want personal AI sovereignty — local-first intelligence, a structured knowledge graph that grows with you, one-click setup, and tools that work without touching a terminal. Different philosophies, both open source.
For comparisons with ChatGPT and other cloud assistants, see docs/ARCHITECTURE.md.
Thoth's agent has access to 30 core tool modules. Many of them expose multiple operations, and running messaging channels add extra send/photo/document tools automatically. Tools can be enabled or disabled from the Settings panel.
| Tool | Description | API Key? |
|---|---|---|
| 🔍 Web Search | Live web search via Tavily for current events, news, real-time data | TAVILY_API_KEY |
| 🦆 DuckDuckGo | Free web search — no API key needed | None |
| 🌐 Wikipedia | Encyclopedic knowledge with contextual compression | None |
| 📚 Arxiv | Academic paper search — newest-first sorting, full-text HTML links, arXiv query syntax (ti:, au:, abs:, cat:) |
None |
| Search videos + fetch full transcripts/captions | None | |
| 🔗 URL Reader | Fetch and extract text content from any URL | None |
| 📄 Documents | Semantic search over your uploaded files (FAISS vector store) | None |
| 📚 Wiki Vault | Search, read, rebuild, and export the knowledge graph as an Obsidian markdown vault | None |
| Tool | Description | API Key? |
|---|---|---|
| 📧 Gmail | Search, read, draft, and send emails with file attachments (Google OAuth) | OAuth credentials |
| 📅 Google Calendar | View, create, update, move, and delete events (Google OAuth) | OAuth credentials |
| 📁 Filesystem | Sandboxed file operations — read, write, copy, move, delete within a workspace folder; reads PDF, CSV, Excel (.xlsx/.xls), JSON/JSONL, TSV, and image files; images displayed inline in chat; structured data files return schema + stats + preview via pandas; PDF export via export_to_pdf (Playwright with fpdf2 fallback) |
None |
| 🖥️ Shell | Execute shell commands with 3-tier safety (safe/moderate/blocked); persistent sessions per thread; user approval for destructive commands; inline terminal panel | None |
| 🌐 Browser | Autonomous web browsing in a visible Chromium window — navigate, click, type, scroll, snapshot, back, tab management; accessibility-tree snapshots with numbered element references; persistent profile for logins | None |
| 📋 Workflows | Create, list, update, delete, and run advanced workflows — step-based pipelines with conditions, approvals, triggers, 7 schedule types (daily, weekly, weekdays, weekends, interval, cron, delay), channel delivery, per-task model override | None |
| 📋 Tracker | Habit/health tracker — log meds, symptoms, exercise, periods; streak, adherence, trend analysis; CSV export | None |
| 📬 Channels | Auto-generated send/photo/document tools for each running channel (Telegram, WhatsApp, Discord, Slack, SMS); receive voice, photos, and documents with transcription, analysis, and text extraction | Per-channel config |
| 🐦 X (Twitter) | Grouped read, post, and engage operations for search, timeline, mentions, user info, posting, replies, quotes, likes, reposts, bookmarks, and deletes via OAuth 2.0 PKCE | X API keys |
| 🖼️ Image Generation | Generate images from text prompts and edit existing images via OpenAI, xAI (Grok Imagine), and Google (Imagen 4, Nano Banana); rendered inline in chat and deliverable to channels | Cloud API key |
| 🎬 Video Generation | Generate short video clips from text prompts or reference images via Google Veo and xAI Grok Imagine Video; rendered inline in chat, used by Designer storyboards, and deliverable to channels | Cloud API key |
| 🔌 External MCP Tools | Connect external Model Context Protocol servers as dynamic namespaced tools; supports stdio, Streamable HTTP, and SSE; per-server and per-tool toggles; destructive-tool approval gates; curated starter import and diagnostics | Optional per server |
| Tool | Description | API Key? |
|---|---|---|
| 🎨 Designer | Five-mode design studio (deck / document / landing / app_mockup / storyboard) with interactive runtime bridge, curated templates, AI image + video generation, chart insertion, brand controls, critique-repair loop, published share links, and export to PDF / HTML / PNG / PPTX | None |
| 🪞 Thoth Status | Query version, model, channels, tools, memory, identity, logs, Designer projects, and more; controlled self-management for selected settings and optional skill creation/patching when self-improvement is enabled | None |
| Tool | Description | API Key? |
|---|---|---|
| 🧮 Calculator | Safe math evaluation — arithmetic, trig, logs, factorials, combinatorics | None |
| 🔢 Wolfram Alpha | Advanced computation, symbolic math, unit conversion, scientific data | WOLFRAM_ALPHA_APPID |
| 🌤️ Weather | Current conditions and multi-day forecasts via Open-Meteo | None |
| 👁️ Vision | Camera capture, screen capture, and workspace image file analysis via vision model | None |
| 🧠 Memory | Save, search, update, delete, link, and explore memories in the knowledge graph | None |
| 🔍 Conversation Search | Search past conversations by keyword or list all saved threads | None |
| 🖥️ System Info | OS, CPU, RAM, disk space, IP addresses, battery, and top processes | None |
| 📊 Chart | Interactive Plotly charts — bar, line, scatter, pie, histogram, box, area, heatmap from data files; PNG export via save_to_file |
None |
- Destructive operations require confirmation:
workspace_file_delete,workspace_move_file,run_command(moderate-risk),send_gmail_message,move_calendar_event,delete_calendar_event,delete_memory,tracker_delete,task_delete - Filesystem is sandboxed: only the configured workspace folder is accessible (defaults to
~/Documents/Thoth, auto-created on first use) - Shell commands are safety-classified: safe (auto), moderate (confirm), blocked (rejected); high-risk commands like
shutdown,reboot,mkfsare blocked outright; moderate commands in background tasks require per-task command prefix allowlists - Browser tabs are isolated per thread: each chat or background task gets its own browser tab; tabs are cleaned up on task completion or thread deletion
- Background task permissions are configurable per-task: shell command prefixes and email recipients can be allowlisted in the task editor
- Gmail/Calendar operations are tiered: read, compose/write, and destructive tiers can be toggled independently
- MCP tools are opt-in and isolated: imported servers stay disabled until tested, external tools are namespaced, destructive MCP tools require approval, and broken MCP servers degrade to diagnostics instead of startup failure
- Prompt-injection defence — 5-layer scanning protects against injection attacks in tool outputs and user inputs: instruction override detection, role impersonation, data exfiltration, encoding evasion, and social engineering patterns
- Tools can be individually disabled from Settings to reduce model decision complexity
┌──────────────────────────────────────────────────────────────────────┐
│ NiceGUI Frontend (app.py + ui/ package) │
│ ┌────────────┐ ┌──────────────────────┐ ┌───────────────────┐ │
│ │ Sidebar │ │ Chat Interface │ │ Settings Dialog │ │
│ │ Threads │ │ Streaming Tokens │ │ 14 Tabs │ │
│ │ Controls │ │ Tool Status │ │ Tool Config │ │
│ │ Knowledge │ │ Knowledge Graph View │ │ Provider Settings │ │
│ │ Approvals │ │ Approval Gates │ │ │ │
│ └────────────┘ └──────────────────────┘ └───────────────────┘ │
│ ┌──────────────────────────────────────────────────────────────┐ │
│ │ Status Monitor — Avatar · 17 Health Pills · Diagnosis Btn │ │
│ └──────────────────────────────────────────────────────────────┘ │
└──────────────────────────┬───────────────────────────────────────────┘
│
▼
┌──────────────────────────────────────────────────────────────────────┐
│ LangGraph ReAct Agent (agent.py) │
│ │
│ create_react_agent() with pre-model message trimming │
│ System prompt with TOOL USE, MEMORY, SELF-KNOWLEDGE, and CITATION │
│ guidelines │
│ Interrupt mechanism for destructive action confirmation │
│ Graph-enhanced auto-recall (semantic + 1-hop expansion) │
│ Per-thread model override (local or cloud) │
│ │
│ 30 core tool modules + plugin tools + external MCP tools + │
│ auto-generated channel tools │
└───────┬──────────┬──────────┬──────────┬──────────┬─────────────────┘
│ │ │ │ │
▼ ▼ ▼ ▼ ▼
┌──────────┐ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐
│ LLMs │ │Knowledge│ │ SQLite │ │ FAISS │ │External│
│ Ollama │ │ Graph │ │Threads │ │ Vector │ │ APIs │
│+Providers│ │(SQLite+│ │(local) │ │ Store │ │(opt-in)│
│ (opt-in) │ │NetworkX)│ │ │ │ │ │ │
└──────────┘ └────────┘ └────────┘ └────────┘ └────────┘
📖 Module descriptions, data storage layout, and full system internals → docs/ARCHITECTURE.md
| Minimum | Recommended | |
|---|---|---|
| OS | Windows 10/11 (64-bit) or macOS 12+ (Apple Silicon & Intel) | Same |
| Python | 3.11+ | 3.11+ |
| RAM | 8 GB (for 8B models) | 16–32 GB (for 14B–30B models) |
| GPU | Not required — Ollama runs on CPU | NVIDIA 8+ GB VRAM (CUDA) or Apple Silicon — dramatically faster |
| Disk | ~5 GB (app + one small model like qwen3:8b) |
20+ GB for multiple or larger models |
| Internet | Required for install and model download; optional at runtime | Same |
Note: The default local model (
qwen3:14b, ~9 GB) runs well on CPU with 16 GB RAM, but a GPU makes responses significantly faster. Smaller models likeqwen3:8b(~5 GB) work on 8 GB RAM machines.
| Requirement | Details |
|---|---|
| OS | Windows 10/11 (64-bit) or macOS 12+ (Apple Silicon & Intel) |
| Python | 3.11+ |
| RAM | 4 GB |
| Disk | ~1 GB (app + packages, no model downloads) |
| GPU | Not needed |
| Internet | Required (LLM inference happens on the provider's servers) |
You still need an API key from OpenAI, Anthropic, Google AI, xAI, or OpenRouter, or an in-app ChatGPT sign-in for ChatGPT / Codex. API providers are billed per-token by the upstream provider; ChatGPT / Codex uses your ChatGPT subscription access.
- Download the latest Windows installer (.exe)
- Run the installer — it installs Python, Ollama, and all dependencies automatically
- Launch Thoth from the Start Menu or Desktop shortcut
- Download the latest macOS DMG
- Open the DMG and drag Thoth.app into the Applications folder
- Launch Thoth from Applications or Launchpad
- First run may prompt "Thoth is an app downloaded from the internet" → click Open
- First run installs Homebrew (if needed), Python, Ollama, and all dependencies automatically
- Subsequent launches skip installation and start in ~3 seconds
Works on Apple Silicon (M1/M2/M3/M4) and Intel Macs (macOS 12+). No terminal, no manual setup — just double-click and go.
Using provider models only? The installer still sets up Ollama by default, but you can skip model downloads. On first launch, choose the Providers setup path, enter your API key, and start chatting — no GPU required.
Prefer a manual install? A few commands from source:
-
Install Ollama (required for local models — skip if using provider models only)
-
Clone the repository
git clone https://github.com/siddsachar/Thoth.git cd Thoth -
Create and activate a virtual environment
python -m venv .venv # Windows .venv\Scripts\activate # macOS / Linux source .venv/bin/activate
-
Install dependencies
pip install -r requirements.txt
-
Start Ollama (if using local models)
-
Launch Thoth
This starts the system tray icon and opens the app at
http://localhost:8080.Alternatively, run directly without the tray:
First launch: A setup wizard lets you choose between Local (Ollama) and Providers (API key) setup paths. For local, the default brain model (
qwen3:14b, ~9 GB) is recommended. For Providers, enter your API key (OpenAI, Anthropic, Google AI, xAI, or OpenRouter), pick a default model, and seed Quick Choices for everyday pickers. ChatGPT / Codex sign-in is available after launch in Settings → Providers.
Most tools work without any API keys. For provider models and enhanced functionality:
| Service | Key | Purpose | How to Get |
|---|---|---|---|
| OpenAI | OPENAI_API_KEY |
GPT and other OpenAI models | platform.openai.com |
| ChatGPT / Codex | In-app ChatGPT sign-in | Subscription-backed Codex models | Settings → Providers → ChatGPT / Codex |
| Anthropic | ANTHROPIC_API_KEY |
Claude models (direct API) | console.anthropic.com |
| Google AI | GOOGLE_API_KEY |
Gemini models (direct API) | aistudio.google.com |
| xAI | XAI_API_KEY |
Grok models (direct API) | console.x.ai |
| OpenRouter | OPENROUTER_API_KEY |
100+ models from all major providers (Claude, Gemini, Llama, etc.) | openrouter.ai |
Configure provider keys and subscription accounts in Settings → Providers. Keys and in-app ChatGPT / Codex tokens are stored in your OS credential store (Windows Credential Manager, macOS Keychain, or Linux Secret Service/KWallet where available); ~/.thoth/api_keys.json and ~/.thoth/providers.json keep only local metadata such as saved-state, provider status, Quick Choices, and masked fingerprints. External Codex CLI login files are metadata/reference only: Thoth can show that a CLI login exists, but direct Codex runtime requires the in-app ChatGPT sign-in and does not copy runnable tokens from ~/.codex/auth.json.
ChatGPT / Codex uses ChatGPT's subscription/internal Codex backend rather than the public OpenAI API. That backend may change upstream, including endpoint behavior, catalog shape, auth requirements, rate limits, and model availability.
| Service | Key | Purpose | How to Get |
|---|---|---|---|
| Tavily | TAVILY_API_KEY |
Web search (1,000 free searches/month) | app.tavily.com |
| Wolfram Alpha | WOLFRAM_ALPHA_APPID |
Advanced computation & scientific data | developer.wolframalpha.com |
| Service | Key | Purpose | How to Get |
|---|---|---|---|
| Telegram | TELEGRAM_BOT_TOKEN |
Telegram bot messaging | BotFather |
| Discord | DISCORD_BOT_TOKEN |
Discord DM messaging | Discord Developer Portal |
| Slack | SLACK_BOT_TOKEN / SLACK_APP_TOKEN |
Slack DM messaging (Socket Mode) | Slack API |
| Twilio (SMS) | TWILIO_ACCOUNT_SID / TWILIO_AUTH_TOKEN |
SMS messaging | twilio.com |
| X (Twitter) | X_CLIENT_ID / X_CLIENT_SECRET |
X API v2 (OAuth 2.0 PKCE) | X Developer Portal |
| ngrok | NGROK_AUTHTOKEN |
Tunnel for inbound webhooks (SMS, etc.) | ngrok.com |
Configure channel keys in ⚙️ Settings → 📡 Channels and ⚙️ Settings → 🔗 Accounts tabs. Saved keys use the same local OS credential store when available.
For Gmail and Google Calendar, you'll need a Google Cloud OAuth credentials.json — setup instructions are provided in the respective Settings tabs.
- Launch Thoth and wait for the default model to download (first time only)
- Click "+ New conversation" in the sidebar
- Ask anything — the agent will automatically choose which tools to use:
- "What's the weather in Tokyo?" → uses Weather tool
- "Search for recent papers on transformer architectures" → uses Arxiv
- "Remember that my mom's birthday is March 15" → saves to Memory
- "Read the file report.pdf in my workspace" → uses Filesystem
- "Run git status on my project" → uses Shell (safe, auto-executes)
- "Install pandas with pip" → uses Shell (moderate, asks for approval)
- "What's on my screen right now?" → uses Vision (screen capture)
- "I took my Lexapro" → asks to log, then saves to Tracker
- "Show my headache trends this month" → uses Tracker + Chart
- "Remind me to call the dentist tomorrow at 9am" → uses Tasks with scheduling
- "Create a 6-slide pitch deck for my startup" → uses Designer
- "What did I ask about taxes last week?" → uses Conversation Search
- Open ⚙️ Settings to configure models, enable/disable tools, and set up integrations
- Launch Thoth → on the setup wizard, choose Providers
- Enter your API key (OpenAI, Anthropic, Google AI, xAI, or OpenRouter) → Thoth validates and fetches available models
- Pick a default model and add the models you actually use to Quick Choices — no downloads, no GPU needed
- Optional: open Settings → Providers to sign in to ChatGPT / Codex for subscription-backed Codex models
- Switch models per conversation anytime from the chat header dropdown; raw provider catalogs and pinning live in Settings → Models
Local models (default): All LLM inference runs on your machine via Ollama. Documents, memories, and conversations stored locally in ~/.thoth/. External network calls only when using online tools (web search, Gmail, Calendar) — each individually disableable. No telemetry, no tracking.
Provider models (opt-in): The current conversation plus model-visible tool context and tool results are sent to the selected LLM provider (OpenAI, Anthropic, Google AI, xAI, OpenRouter, or ChatGPT / Codex). Memories, knowledge graph, documents, files, and other conversations never leave your machine unless you explicitly include them in the active conversation or expose them through a tool result. API-key providers connect directly to the provider; ChatGPT / Codex uses your in-app ChatGPT sign-in and ChatGPT subscription/internal Codex backend. Thoth has no servers and no middleman.
Always: Core and plugin API keys are stored locally in your OS credential store when available, with only masked metadata in Thoth's data folder. No Thoth account required; no sign-up; no server to phone home to. Tools can be individually disabled to control what the agent can access.
Contributions are welcome. Start with CONTRIBUTING.md for the local setup, branch naming, commit format, PR process, and test expectations.
Useful project docs:
All changes should go through a pull request. main is intended to stay releasable.
Apache 2.0 — see LICENSE for details.
Built with NiceGUI, LangGraph, LangChain, Ollama, FAISS, Kokoro TTS, faster-whisper, HuggingFace, and tiktoken.
