TreeMap
무료 오픈소스 디스크 사용량 시각화 도구로, 사각형 트리맵·중복 파일 탐색·디스크 가득 예측·정리 시 파일을 휴지통으로만 이동한다
Trove — save anything, keep everything. A Raindrop-style library on Notion: web app, browser extension (incl. X bookmarks archive), Apple Shortcut, MCP server & API for AI agents.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Trove holds everything you save. Your X bookmarks live in it as their own type, X bookmark, in the X bookmarks collection, filled automatically by the extension (full threads, reply context, media, likes and views). Browser bookmarks go to Browser bookmarks and Pinterest saves to Pinterest, each with their folders or boards inside.www, mobile hosts, youtu.be, ?s=20, arXiv versions…). Saving again merges tags, notes and highlights instead.Dev/AI), tags, favorites, read-later, notes, highlights, reminders, broken-link detection, bulk edit, four views (cards, list, headlines, moodboard), keyboard-first UI, light & dark themes."phrase", -word, #tag, -#tag, type:video, site:github.com, collection:"Dev/AI", is:fav, is:unread, created:>2025-01, highlights:true, source:x, match:OR.| Where | How |
|---|---|
| Web app (any OS) | Paste a link anywhere (⌘V), drop it on the window, or press N. Add many links at once, or a plain note. |
| Brave / Chrome / Edge / Arc (macOS, Windows, Linux) | The extension: toolbar button, Alt+Shift+S, right-click page / link / image / selection → highlight. It reads the page you're on, so logged-in and paywalled pages are archived too. Imports all browser bookmarks (folders → collections) and can auto-save new ones. Keeps syncing your X bookmarks with threads and media. |
| The extension imports every pin on your boards (secret ones and quick saves too) with its image archived, one sub-collection per board, and keeps them in sync every few hours. Uses your Pinterest login in the browser; no API keys. | |
| iPhone, iPad, Mac | The signed “Save to Trove” Shortcut (Share sheet in every app + macOS Share menu / Services). It asks for your API key once. |
| Android, Windows, ChromeOS | Install the app (PWA) → it appears in the system share sheet. |
| Any browser | Bookmarklet (Settings → drag “+ Save to Trove”); selected text becomes a highlight. |
| Terminal, scripts & AI agents | trove CLI, REST API, MCP: see below. |
Trove is built to be driven by agents: anything that can run a command or make an HTTP request can save to it and search it. No agent-specific setup; give it the CLI or the API and a key from Settings (the key's name is recorded as Via).
npm install -g github:medpar/trove
trove login --key <api key> # or set TROVE_URL and TROVE_API_KEY
trove save https://example.com -t ai -n "why it matters"
trove search '#ai type:article' --json
trove get <id> --content # archived Markdown
trove update <id> --add-tags ai -c "Dev/AI"
Every command takes --json. The skill file teaches any skills-aware agent when and how to use it, including filing what it saves (collection, tags and a note) on its own.POST /api/items {url | text, tags, collection, note, highlight}, GET /api/items?q=…, GET /api/items/:id?content=1. Docs: /llms.txt, /openapi.json.https://trove.mariomedpar.com/api/mcp with Authorization: Bearer <key>.Trove has its own librarian agent that searches, tags, sorts into collections, merges duplicate tags and summarizes what you saved. It runs on your computer with your Claude Pro/Max or ChatGPT subscription through Claude Code or Codex (account login, no API keys) and acts only through the trove CLI.
claude auth login # or: codex login
trove agent "tag everything that has no tags"
trove agent install # macOS: keep the local bridge running so the web app's Agent panel can use it
In the web app, open Agent (top bar, or ⌘K → “Ask the agent”). The page talks to the local bridge on 127.0.0.1:7878, which only accepts requests from your Trove origin.
web/ Next.js 16 app on Vercel: UI, REST API, MCP server, cron (daily broken-link check)
lib/extract.ts URL -> metadata + archived Markdown (Readability, YouTube, FxTwitter, Reddit, Bluesky, Mastodon, HN, GitHub, arXiv, oEmbed)
lib/store.ts Notion data layer: search -> filters, pagination, saves, highlights, stats
app/api/mcp MCP tools for agents
extension/ Brave/Chrome MV3 extension: save pages/links/images/highlights, browser bookmarks, X bookmarks sync (local, uses your x.com session)
cli/ `trove` CLI and the local agent (Claude Code / Codex engines, bridge for the web app)
skills/trove/ Agent skill
scripts/ Notion setup, Apple Shortcut builder, icons, live checks
external_url uploads); the browser downloads nothing.X's web API rotates query ids, feature flags and an x-client-transaction-id. The extension records the request templates your own x.com tabs send (via webRequest, no content scripts) and also reads current query ids from x.com's bundle; it replays them from the service worker with your cookies. Bookmarks are archived within seconds of bookmarking on x.com and every 30 minutes; a full, resumable backfill covers your whole history.
node scripts/setup-trove.mjs creates the Trove database with every column, X bookmarks included (uses NOTION_TOKEN or the ntn CLI login). Coming from an older version with a separate X Bookmarks database? node scripts/merge-x-into-trove.mjs moves those pages in, keeping their content and media.web, and set NOTION_TOKEN, TROVE_LIBRARY_DS, TROVE_LIBRARY_DB, TROVE_PASSWORD, TROVE_SESSION_SECRET, TROVE_API_KEYS (Name:key,Name:key), TROVE_PUBLIC_URL, CRON_SECRET. Deploy.extension/ unpacked (or the release zip), then set the app URL + API key in its settings.python3 scripts/make-shortcut.py https://your-app web/public/trove.shortcut then shortcuts sign --mode anyone ….npm test # extension + web logic, Notion limits, end-to-end sync against mocks
npm --prefix web run dev # web app on :3000 (needs web/.env.local)
node scripts/live-check.mjs # smoke test against the real Notion API
node scripts/package.mjs # extension zip
MIT