ai
3 мин
25 октября 2026 г.
Источник: Dev.to AI Feed

Slothbox: A 100% Local AI Second Brain That Rewards Radical Laziness 🦥

Tejas Rawool
Tejas Rawool
RSS AI Ingest
Slothbox: A 100% Local AI Second Brain That Rewards Radical Laziness 🦥

This is a submission for the Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady Most note-taking and bookmarking apps make a false promise: they promise to organize your life, but first they demand your labor. You have to creat...

This is a submission for the Hacktoberfest Open-Source AI Challenge Week 3: Slow and Steady What I Built Most note-taking and bookmarking apps make a false promise: they promise to organize your life, but first they demand your labor. You have to create workspaces, pick folders, configure relational databases, select tags, and categorize bookmarks. The result? The Collector's Fallacy. Developers save hundreds of tabs, screenshots, and articles into digital "graveyards" that are never organized, never categorized, and never opened again. Inspired by International Sloth Day, I built Slothbox: a private, 100% local-first personal knowledge vault in Telegram that rewards radical laziness. With Slothbox: You never organize anything manually. You never file notes into folders or create tags. You simply dump raw text, links, screenshots, whiteboards, or PDFs into your Telegram chat and walk away. Slothbox's offline ingest pipeline autonomously reads web articles, parses image pixels with local computer vision, extracts concise 2-sentence summaries, generates automatic #hashtags, and indexes 768-dimensional vector embeddings straight into a local SQLite database on your machine. When you need anything later, just ask naturally. Slothbox performs grounded RAG across your vault, returns uncompressed original files, or reads you a high-fidelity voice digest while you commute. Best of all: zero cloud subscriptions, zero telemetry leaks, and zero data leaving your machine. Demo Watch the complete architecture walkthrough and live Telegram demo: Live Telegram Walkthrough 1. Zero-Friction Onboarding & Command Directory Tap /start to verify your numeric Telegram User ID whitelist. Slothbox guides you through storing any data type with instant 1-tap keyboard buttons: 2. Dump Notes & Web Links Effortlessly Drop a raw text reminder or forward a technical security article. Slothbox acknowledges receipt in under 2 seconds, cleans boilerplate HTML, and summarizes key insights with auto-generated tags and action buttons: 3. Local Computer Vision on Screenshots & Diagrams Forward a software architecture diagram or whiteboard photo. The local multimodal model (moondream) analyzes the visual elements directly on CPU/GPU without cloud vision APIs: 4. Hands-Free Audio Summaries & Real-Time Stats Too lazy to read your screen? Tap [ Listen (Voice) ] or trigger /voice to synthesize a high-fidelity audio briefing. Inspect your storage analytics and tag distribution anytime with /stats: 5. Universal Reclaimability (/get) Unlike typical note apps where images are compressed or lost in silos, /get instantly reclaims and uploads the exact, uncompressed original file: Code The entire codebase is open-source under the MIT License, featuring 26 automated unit and acceptance tests with zero synthetic mocks: TejasRawool186 / Slothbox A private, local-first Telegram "read-it-later / second-brain" bot powered by Local LLM 🦥 Slothbox Save it. Forget it. Find it. A private, 100% local-first AI second brain that rewards radical laziness. Built for Hacktoberfest 2026 and the DEV Challenge Week 3: Slow and Steady. Video Walkthrough Direct Link: Watch the complete architecture walkthrough and live Telegram demo on YouTube: https://youtu.be/xS2AdZFCUxA The Problem: The Collector's Fallacy and Note Graveyards Knowledge workers, researchers, and developers encounter high-value information every hour: technical documentation, architecture sketches, bug fixes, whitepapers, and bookmarks. Yet modern note-taking systems fail users in three fundamental ways: The Friction Tax: Tools such as Notion, Obsidian, or Evernote demand upfront manual labor. You must create pages, assign categories, tag documents, and manage databases. Because of this administrative friction, people stop maintaining their vaults. The Knowledge Graveyard: Unorganized notes become impossible to locate. Standard keyword search breaks the moment you cannot remember the exact phrasing or file name used weeks earlier. The Privacy… View on GitHub GitHub Repository: https://github.com/TejasRawool186/Slothbox Tech Stack: Python 3.10+, python-telegram-bot v20+, Ollama, SQLite (Vector BLOBs), ElevenLabs, Sentry SDK, BeautifulSoup4. How I Built It Slothbox is designed to run locally on standard consumer laptops (~6 GB RAM) by coordinating specialized open-weight models through Ollama: Role Open-Weight Model Footprint Purpose Vision Analysis moondream ~829 MB Analyzes screenshots, diagrams, and posters without heavy GPU overhead Summarizer gemma3:1b ~815 MB Lightning-fast 2-line summaries and #tag extraction Embeddings nomic-embed-text ~274 MB 768-dimensional local vector embeddings for semantic cosine similarity Local RAG qwen3:4b ~2.5 GB Grounded reasoning over stored context notes with exact citations graph TD classDef userClass fill:#2563EB,stroke:#1D4ED8,stroke-width:2px,color:#FFFFFF,font-weight:bold; classDef botClass fill:#0D9488,stroke:#0F766E,stroke-width:2px,color:#FFFFFF,font-weight:bold; classDef pipeClass fill:#F59E0B,stroke:#D97706,stroke-width:2px,color:#FFFFFF,font-weight:bold; classDef modelClass fill:#8B5CF6,stroke:#7C3AED,stroke-width:2px,color:#FFFFFF,font-weight:bold; classDef storageClass fill:#10B981,stroke:#059669,stroke-width:2px,color:#FFFFFF,font-weight:bold; classDef sideClass fill:#EC4899,stroke:#DB2777,stroke-width:2px,color:#FFFFFF,font-weight:bold; User([Telegram User]):::userClass -->|Text / Links / Photos / Audio| Bot[Slothbox Telegram Engine]:::botClass Bot --> Ingest[Async Ingest Pipeline]:::pipeClass subgraph Localhost Ollama Engine Ingest -->|Article Summarization| Gemma[Gemma 3:1b]:::modelClass Ingest -->|Computer Vision Analysis| Moondream[Moondream 829MB]:::modelClass Ingest -->|768-dim Embeddings| Nomic[Nomic-Embed-Text]:::modelClass Ingest -->|Local RAG Reasoning| Qwen[Qwen 3:4b]:::modelClass end subgraph Integrated Services Bot -->|Audio Synthesis| ElevenLabs[ElevenLabs Voice API]:::sideClass Bot -->|Production Observability| Sentry[Sentry Telemetry & Crash Guard]:::sideClass Bot -->|Cross-Session Memory| Backboard[Backboard Memory Layer]:::sideClass end subgraph Zero-Cloud Local Storage Ingest -->|SQLite DB + Vector BLOBs| DB[(slothbox.db)]:::storageClass Ingest -->|Original Files & Photos| Media[(./data/media/)]:::storageClass end Bot -->|Universal Retrieval & Grounded RAG| User Key Engineering Decisions Daemon-Free Vector Storage (SQLite Vector BLOBs): Rather than requiring a heavy external vector database (which increases memory overhead), Slothbox serializes 768-dimensional np.float32 arrays into binary BLOBs stored directly inside SQLite (slothbox.db). Cosine similarity search executes in-process in milliseconds using NumPy dot products. Sub-2-Second Asynchronous Ingestion: Telegram users expect instant feedback. Slothbox returns an immediate capture acknowledgment ("Saved to Slothbox. Processing...") in under 2 seconds, while the heavy Ollama inference runs in a non-blocking background worker. Zero-Mock Policy: There are no synthetic fallbacks. If Ollama or the embedding model is offline, Slothbox alerts the user transparently with actionable feedback rather than fabricating hallucinated summaries. Whitelisted Security: Only the authorized owner's numeric Telegram User ID can interact with the bot, guaranteeing single-user privacy. Why Does Open Innovation Matter? Personal knowledge is inherently intimate. Your bookmarks, meeting notes, code snippets, and whiteboard photos contain proprietary architecture, unfinished thoughts, and sensitive credentials. Data Sovereignty: Relying on closed commercial AI APIs means sending your entire intellectual life to remote cloud servers for training and telemetry. Open-weight models (Gemma, Moondream, Nomic, Qwen) allow private knowledge management to run 100% on localhost with zero data leakage. Longevity & Zero Subscriptions: Proprietary SaaS note tools routinely hike prices, deprecate features, or shut down. An open-source tool powered by local SQLite and open weights will continue running 10 years from now without costing a single monthly subscription fee. Hardware Accessibility: Open innovation allows specialized lightweight models (~800 MB) to outperform monolithic models at specific tasks, making AI accessible on everyday developer laptops without enterprise GPUs. My Agent Session This entire project—from the initial specification to the local vector pipeline, multi-format media ingest, comprehensive test suite, and Telegram UI—was developed pair-programming with Google Antigravity and orchestrated through DevRelay. Slothbox: Building a 100% Local AI Second Brain for Hacktoberfest 2026 You Let's build Slothbox for Hacktoberfest 2026 (DEV Challenge Week 3: Slow and Steady). The theme is 'build something with open-weight models that rewards laziness' for International Sloth Day. It must be a 100% local Telegram bot using Ollama and SQLite with a strict zero-mock policy. Users should never have to manually organize notes, links, or photos—they just dump everything into Telegram and retrieve it on demand. Agent Understood. We are designing Slothbox around three core architectural pillars: 1. 100% Local-First AI: Using Ollama on localhost with lightweight models tailored for consumer laptops (~6 GB RAM). 2. Zero Mock Policy: If Ollama or the local vector model is unavailable, Slothbox reports errors transparently rather than faking data. 3. Universal Reclaimability: Anything saved (notes, original photos, documents, links) must be 100% retrievable via /get. Let's begin by formulating the Software Requirements Specification (srs.md). ▸ write_to_file TargetFile: srs.md Input TargetFile: srs.md Output Created srs.md with complete schema, offline boundaries, and 12 acceptance criteria. You Let's choose the exact open-weight models for Ollama. The machine has ~6 GB total system RAM, so heavy 5GB+ vision models will cause OOM. Agent For efficient local execution on a standard laptop, we select this curated open-weight roster: • Vision: moondream (~829 MB) - High-efficiency visual reasoning for diagrams and screenshots. • Summarizer & Tags: gemma3:1b (~815 MB) - Google's ultra-fast LLM for structured summaries. • Embeddings: nomic-embed-text (~274 MB) - 768-dimensional local vector embeddings. • Local RAG: qwen3:4b (~2.5 GB) - Grounded reasoning over stored context notes. ▸ run_command ollama list Input $ ollama list Output Verified local models: gemma3:1b, moondream, nomic-embed-text, and qwen3:4b are installed and ready. You Now implement the persistence layer with SQLite, vector BLOBs, and cosine similarity ranking. Agent Implemented src/db.py with SQLite storage: • Vector storage: numpy float32 binary BLOB serialization for raw embeddings. • Resurfacing engine: queries for items older than 7 days for the /digest triage feature. • Status tracking: captures status, item tags, full_text, and original media paths. ▸ write_to_file TargetFile: src/db.py Input TargetFile: src/db.py Output Created src/db.py with complete CRUD, vector storage, and resurfacing queries. You Implement the local AI engine with Ollama async client, summarization, vision analysis, and local RAG question answering. Agent Implemented src/ai.py: • AIEngine with async Ollama client. • generate_summary_and_tags(): Structured 2-line summaries with extracted #tags. • analyze_image(): moondream computer vision analysis for screenshots/photos. • generate_embedding() & compute_top_similar(): 768-dim vector cosine similarity. • answer_question(): Grounded RAG reasoning that answers queries using saved notes with exact [Item #ID] citations. • text_to_speech(): ElevenLabs integration for realistic audio voice memos. ▸ write_to_file TargetFile: src/ai.py Input TargetFile: src/ai.py Output Created src/ai.py with Ollama wrapper and RAG engine. You Now implement the Telegram bot with universal retrieval (/get), reader view (/read), interactive quick buttons, and command directory. Agent Implemented src/bot.py: • Security: @authorized_only decorator verifying numeric TELEGRAM_ALLOWED_USER_ID. • Universal Retrieval: /get returns original photos via send_photo, documents via send_document, or clickable link cards. • Reader Mode: /read renders clean, distraction-free article text in Telegram. • Local RAG: /ask queries the stash and responds with grounded answers. • Onboarding & Guide: Comprehensive /start and /help messages with categorized command directory. • Menu Integration: setMyCommands registered so Telegram auto-completes all 13 commands with descriptions. • Interactive Buttons: 1-tap actions on every capture and search result. Show more ▸ write_to_file TargetFile: src/bot.py Input TargetFile: src/bot.py Output Created src/bot.py with long polling, command handlers, and interactive button callbacks. You Run the automated test suite to ensure all unit and acceptance tests pass. Agent ▸ run_command pytest tests/ Input $ pytest tests/ Output 26 passed in 13.35s (tests/test_ai.py, tests/test_bot.py, tests/test_config.py, tests/test_db.py, tests/test_ingest.py) All 26 unit and acceptance tests passed cleanly with 100% success rate. You I tested the bot live in Telegram. Notes, links, photos, semantic search, and RAG Q&A all worked properly. Now push to GitHub. Agent Configured .gitignore to protect secrets (.env) and local database (data/), generated MIT LICENSE, and created a 7-commit conventional sequence telling the full engineering story: 1. chore: project initialization, environment schema, and specification 2. feat(config): add settings loader and model parameters 3. feat(db): implement SQLite persistence with vector BLOBs and resurfacing queries 4. feat(ai): integrate Ollama client for local summarization, vision, embeddings, and RAG 5. feat(ingest): add web scraping, media storage, and async background pipeline 6. feat(bot): implement Telegram bot with universal retrieval, local RAG, and voice digest 7. docs: add comprehensive README with architecture, demo flow, and MIT license Show more ▸ run_command git push -u origin main Input $ git push -u origin main Output To https://github.com/TejasRawool186/Slothbox.git * [new branch] main -> main. Pushed successfully! 14 of 14 messages View Complete Agent Session Transcript: DevRelay Session #1144 The Lazy Payoff How much effort does Slothbox actually save? Before Slothbox, saving an article or screenshot required: Opening Notion or Obsidian (5–10s). Choosing a folder or database (5s). Writing a title, selecting tags, and typing context (30–60s). Total friction per item: ~60 seconds. With Slothbox: Hit Share to Telegram on mobile or desktop (1s). Slothbox automatically extracts content, summarizes key takeaways, assigns #tags, and indexes vectors. Total friction per item: 1 second. Estimated savings: For someone saving 10 items a day, Slothbox saves over 5 hours of tedious administrative filing every single month—while ensuring forgotten items are automatically resurfaced after 7 days! Tracks Primary Track: Slow and Steady (Celebrating radical laziness, sustainable local computing, and low-friction knowledge workflows) Open-Source AI / Local Inference: 100% open-weight model integration with Ollama (moondream, gemma3:1b, nomic-embed-text, qwen3:4b) DevRelay Track: Complete agent session telemetry and DevRelay MCP integration ElevenLabs Track: Hands-free neural audio voice digests and accessibility Sentry Track: Full observability, exception tracking, and performance tracing via sentry-sdk Backboard Track: Cross-session memory and conversation state synchronization

Хотите внедрить ИИ в ваш бренд?

Спроектируем и развернем автономных агентов и современный цифровой стек под ваши задачи.

Рассчитать проект