# SUMMARY 本 repo 收錄工具的重點摘要與對照,方便快速回憶「這個工具能做什麼、怎麼切入」。 ## 一覽表 | 工具 | 類別 | 核心能力 | 語言 / 介面 | 授權 | |------|------|----------|-------------|------| | MarkItDown | 文件轉換 | PDF/Office/音訊/YouTube → Markdown | Python / CLI / MCP | MIT | | MemPalace | 本地記憶庫 | 向量搜尋、階層式組織、LLM 壓縮 | Python / CLI / MCP | MIT | | Playwright (Python) | 瀏覽器自動化 | 多瀏覽器控制、E2E 測試、截圖/PDF | Python / CLI | Apache-2.0 | | Playwright Plugin | Claude Code 外掛 | 讓 Claude 直接操作瀏覽器(透過 MCP)| Claude Code / MCP | Apache-2.0 | ## MarkItDown - **一句話**:把幾乎所有常見檔案格式轉成 Markdown 給 LLM 讀。 - **亮點**: - 支援 PDF、DOCX、PPTX、XLSX、HTML、圖片(EXIF + OCR)、音訊、ZIP、EPUB、YouTube 字幕。 - 可接 LLM 對圖片做描述(`llm_client=OpenAI()`)。 - 可接 Azure Document Intelligence 做高品質 OCR。 - 有 MCP server(`markitdown-mcp`),能直接在 Claude Desktop 使用。 - **適用時機**:資料前處理、把雜亂檔案餵給 LLM 前的清洗步驟。 ## MemPalace - **一句話**:完全離線的階層式記憶庫,替 LLM 對話提供「長期記憶」。 - **結構**:Wing(專案/人)→ Room(主題)→ Drawer(原始內容,不做摘要)。 - **亮點**: - 本機存放(ChromaDB),不需要雲端或 API key。 - `wake-up` 指令產出約 600-900 tokens 的 L0+L1 上下文,適合塞進對話開頭。 - AAAK Dialect 壓縮(約 30x)可進一步縮小 context。 - 29 個 MCP 工具可在 Claude Code 對話中直接使用。 - **適用時機**:想為某個專案或個人建立跨對話、可搜尋的長期記憶。 ## Playwright (Python) - **一句話**:Microsoft 出品的瀏覽器自動化框架,官方支援 Chromium / Firefox / WebKit。 - **亮點**: - 同步與非同步 API 雙軌。 - Locator API(`get_by_role`、`get_by_text`、`get_by_label` …)比 CSS selector 更穩定。 - 預設「自動等待」元素可操作,減少 flaky test。 - `codegen` 錄製操作直接產生程式碼;`trace viewer` 可視化除錯。 - `pytest-playwright` 深度整合 pytest。 - **適用時機**:E2E 測試、爬蟲、批次截圖/PDF、需要模擬真實瀏覽器行為的場景。 ## Playwright Plugin (Claude Code) - **一句話**:把 Microsoft 的 `@playwright/mcp` 包成 Claude Code 外掛,讓 Claude 自然語言操作瀏覽器。 - **亮點**: - 官方 marketplace(`claude-plugins-official`)一鍵安裝。 - 以 accessibility tree 互動,不依賴視覺模型,結果 deterministic。 - 共用 Claude Code 的 session,無需寫 Python / JS 腳本。 - 適合探索式任務:「開 X 網站,填欄位,擷取 Y」直接交給 Claude 跑。 - **和 Python 版的分工**: - Python 版寫在專案裡做 CI / 長期腳本。 - Plugin 版給 Claude 在對話中臨場操作。 ## 三者如何一起用? 一個常見組合: 1. 用 **Playwright** 抓取動態網頁或下載檔案。 2. 用 **MarkItDown** 把下載的 PDF/DOCX 轉成 Markdown。 3. 用 **MemPalace** 把 Markdown 匯入(`mempalace mine`)作為長期記憶,供後續 LLM 對話查詢。