# Karakeep Karakeep is a self-hostable bookmark-everything app for links, notes, images and PDFs, with automatic tagging by LLM. TypeScript, AGPL-3.0, owned by Localhost Labs Ltd. It was called **Hoarder** until the rename. Its own line: *"a self-hostable bookmark-everything app with a touch of AI for the data hoarders out there."* The name comes from the Arabic كراكيب (*karakeeb*), colloquial for the miscellaneous clutter in a messy drawer. Stuff that looks disorganised but that you can't throw away, because somehow it matters. That is a fair description of most people's saved links. ## What it does **Capture**, from wherever you are: Chrome, Firefox and Safari extensions, iOS and Android apps, a REST API, RSS auto-hoarding, and importers for Chrome, Pocket, Linkwarden, Omnivore and Tab Session Manager. Browser bookmarks can stay in sync through floccus. **Enrich**, automatically: titles, descriptions and images fetched on save; LLM tagging and summarisation (local models via [[Ollama]] are supported); OCR over images so text inside a screenshot becomes searchable. **Preserve**, which is the part most read-it-later tools skip: full-page archival through `monolith`, and video archiving through `yt-dlp`. Link rot doesn't take your library with it. **Retrieve**: full-text *and* semantic search across everything, lists, a rule-based engine for automated organisation, bulk actions, and stored highlights from anything you saved. Plus the operational things that decide whether you can actually live in a tool: offline mobile reading, SSO, multi-language, dark mode. ## The agent angle This is the part that dates the project to now rather than 2019. Karakeep ships a proper [CLI](https://docs.karakeep.app/integrations/command-line) and a set of [official agentic skills](https://docs.karakeep.app/integrations/agentic-skills), explicitly aimed at harnesses like [[OpenClaw]] and [[Hermes Agent]]. So the archive isn't only something you browse. It's a corpus an agent can query, tag, file and pull from on your behalf, running on your own hardware against your own data. ## Self-hosting, and the escape hatch Docker-first. Stack is Next.js with app router, Drizzle for the database, NextAuth, tRPC, Puppeteer for crawling, Meilisearch for full-text search, and an LLM provider of your choosing. There's a hosted option at `cloud.karakeep.app` for anyone who doesn't want to run it, and subscriptions fund development. A read-only demo runs at `try.karakeep.app`. Worth noting the license: **AGPL-3.0**, not MIT. Stricter than most tools in this space, and the right choice for something whose main competitive risk is a cloud vendor running it as a service without contributing back. ## Where it sits The author's own comparison, which is unusually honest for a README: - **mymind** is the closest thing and the acknowledged inspiration, but commercial. - **Raindrop** is polished and not self-hostable. - **Pocket** is dead. Mozilla shut it down. - **Linkwarden** and **Wallabag** are self-hostable but link-focused. - **memos** is great for quick notes but doesn't preview or archive links, which is exactly the gap Karakeep was built to fill. ## Why I keep this note I already have this problem solved by [[Readwise]] Reader, and I have a whole set of skills built on top of it. So this is not a switch, it's a hedge worth understanding. Two things make it worth the note: **Pocket dying is the actual lesson.** A read-it-later archive is a decade-long asset built inside someone else's business model. Mine currently lives with a vendor I like, but the failure mode is not "the vendor gets worse", it's "the vendor stops existing" and I get a CSV export of something that was never really a CSV. Knowing there's a self-hosted target with importers already written is the cheap insurance. **The agent-readable archive is the direction of travel.** Ship a CLI and official skills, and your saved content stops being a reading queue and becomes queryable memory. That's the same shift I keep circling with [[Obsidian]] and the vault: the value isn't in what you stored, it's in what can be asked of it later. Not switching. Watching, and keeping the export path in mind. ## References **Main** - [karakeep.app](https://karakeep.app/) — home - [Documentation](https://docs.karakeep.app) - [karakeep-app/karakeep](https://github.com/karakeep-app/karakeep) — source - [Live demo](https://try.karakeep.app) — `[email protected]` / `demodemo`, read-only - [Karakeep Cloud](https://cloud.karakeep.app) — managed hosting **Docs** - [Installation (Docker)](https://docs.karakeep.app/Installation/docker) - [Configuration](https://docs.karakeep.app/configuration) - [Security considerations](https://docs.karakeep.app/security-considerations) - [Development setup](https://docs.karakeep.app/Development/setup) - [Command-line integration](https://docs.karakeep.app/integrations/command-line) - [Agentic skills](https://docs.karakeep.app/integrations/agentic-skills) **Clients** - [Chrome extension](https://chromewebstore.google.com/detail/karakeep/kgcjekpmcjjogibpjebkhaanilehneje) - [Firefox add-on](https://addons.mozilla.org/en-US/firefox/addon/karakeep/) - [iOS app](https://apps.apple.com/us/app/karakeep-app/id6479258022) - [Android app](https://play.google.com/store/apps/details?id=app.hoarder.hoardermobile) **Community** - [Discord](https://discord.gg/NrgeYywsFh) - [@karakeep_app on X](https://x.com/karakeep_app) - [Translations on Weblate](https://hosted.weblate.org/engage/hoarder/) - [Localhost Labs Ltd](https://localhostlabs.co.uk) — owner ## Related - [[Readwise]] - [[Obsidian]] - [[Self-hosting]] - [[Ollama]] - [[OpenClaw]] - [[Hermes Agent]] - [[AI Agent Skills]] - [[Next.js]] - [[TypeScript]] - [[Docker]] - [[Open Source]]