把任何網站變成 CLI:OpenCLI 如何用 184K 星證明 LLM 不需要解析原始 DOM
OpenCLI 讓你用 CLI 指令操作 100+ 網站,LLM 不用解析原始 DOM 就能自動化網頁操作,還可透過 Chrome 擴充功能重用你的登入狀態,不再需要每次重新 login。
把任何網站變成 CLI:OpenCLI 如何用 184K 星證明 LLM 不需要解析原始 DOM
前言:我對瀏覽器自動化的偏見
過去這一年,我寫了無數個 Playwright 腳本。從社群自動化到數據爬取,從表單填寫到監控報警。Playwright 很好用,但有個隱形成本我越來越受不了——每次都要重新理解 DOM 結構。
當我接到一個新案子,不管之前做過類似的,我還是得:
- 打開瀏覽器開發者工具
- 找對選擇器(CSS selector 或 XPath)
- 處理動態載入、懶加載、SPA 切換
- 寫一長串
.click(),.fill(),.waitForSelector()
然後呢?網站改版。選擇器失效。腳本掛了。
所以我開始想:如果網站能自己告訴 LLM「我是誰、我有哪些功能、我長怎樣」,不就不需要解析原始 DOM 了嗎?
直到我發現 OpenCLI。
OpenCLI 是什麼?
OpenCLI 的官方定位很明確:「把任何網站、瀏覽器工作階段、Electron 應用程式、本機工具轉換成確定性介面」。
聽起來很抽象?舉幾個具體例子:
# 列出所有可用的命令
opencli list
# 直接抓 HackerNews 熱門帖子
opencli hackernews top --limit 5
# 抓小紅書熱門筆記
opencli xiaohongshu hot --limit 10
# 讓 AI Agent 操作你登入的瀏覽器
opencli browser work open https://your-banking-site.com它有三個核心能力:
- 內建適配器——支援 Bilibili、知乎、小紅書、Reddit、HackerNews、Twitter/X 等 103 個網站
- AI Agent 瀏覽器控制——安裝 skill 後,Claude Code、Cursor 等 AI 代理可以透過你登入的 Chrome 操作任何網頁
- 自訂適配器開發——用
opencli adapter-authorskill 可以從頭寫一個網站適配器
為什麼它和 Playwright 不同?
這是我最想說的重點。
傳統瀏覽器自動化工具(Playwright、Selenium)的工作方式是:
- LLM 或程式碼解析原始 HTML
- 找 DOM 元素
- 操作元素
OpenCLI 的工作方式是:
- 網站自己定義好結構化的輸出格式
- LLM 直接讀 JSON,不用看 DOM
- 操作是確定的指令,不是猜測的選擇器
這意味著什麼?
省 token。
不是省一點,是省很多。因為:
- 不用傳原始 HTML 給 LLM
- LLM 看到的是結構化資料(JSON Schema)
- 每次操作的 input/output 是固定的,不用每次重新理解頁面
我在自己的 pipeline 裡體驗過,prompt/token 用量體感少很多(沒做正式 benchmark,但差異明顯)。
實際使用場景
場景一:社群自動化
我的日常流程是每天在 X、Threads、Facebook 三平台發文。以前用 Playwright 的痛點是:
- 每次要重新 login
- 要處理 cookie/token 存儲
- 網站改版後腳本常掛
用 OpenCLI 後:
# 發推文(會自動上傳媒體)
opencli twitter post --images hero.png "今天分享一個好用工具..."
# 一次發 1-4 篇 Threads 長文
opencli threads post --texts-file t.json --images hero.png --limit 4
# 用 ChatGPT 免費生封面圖(不走 API quota)
opencli chatgpt image "生一張科技風格的封面圖"
# 用 Gemini 做 advisor review(不走 API quota)
opencli gemini ask "幫我 review 這篇文章的大綱"重點是:它接你已經登入的 Chrome 工作階段(透過 Chrome 擴充功能),重用你瀏覽器現有的 cookie/session,不用重 login、不外存 credential。
我把 X、Threads、FB 三個帳號駁進去,沒寫過任何 cookie/token 處理邏輯。
場景二:讓 AI Agent 操作任何網站
這是 OpenCLI 最強大的地方。安裝 opencli-browser skill 後,你的 AI Agent 可以:
- 導航——用你登入的瀏覽器打開任何 URL
- 閱讀——透過結構化 DOM snapshot 讀頁面內容(不是截圖)
- 互動——點擊按鈕、填寫表單、選選項、按鍵
- 擷取——從頁面擷取資料或攔截網路 API 回應
- 等待——等待元素、文字或頁面切換
你只需要用自然語言描述你想做的事,AI Agent 會自己處理所有 opencli browser 指令。
場景三:開發自訂適配器
如果你需要的網站不在內建支援清單裡,可以用 opencli-adapter-author skill 從頭寫一個:
- 偵察網站結構,選擇模式(SPA/SSR/JSONP/Token/Streaming)
- 發現正確的 API 端點(網路檢查、初始狀態、bundle 搜尋、token 追蹤、攔截器後援)
- 選擇認證方式——PUBLIC/COKIE/INTERCEPT/UI/LOCAL
- 解碼回應欄位,設計輸出欄位
opencli browser recon analyze <url>→opencli browser recon init <site>/<name>→ 寫適配器 →opencli browser recon verify <site>/<name>
寫完後,網站知識會持久化到 ~/.opencli/sites/<site>/,下次為同一個網站寫適配器時可以直接從上下文開始。
安裝與上手
1. 安裝 OpenCLI
選項 A:OpenCLIApp(推薦,適合 macOS/Windows)
從 <https://opencli.info/download> 下載安裝,開啟後在 System 頁面安裝或修復 opencli 指令。
選項 B:npm 全域安裝(適合 CLI/CI/伺服器)
需要 Node.js >= 20:
node --version
npm install -g @jackwener/opencli2. 安裝瀏覽器橋接擴充功能
OpenCLI 透過輕量級 Browser Bridge 擴充功能和本機 daemon 連接 Chrome/Chromium。
選項 A:Chrome 線上應用程式商店(推薦)
從 Chrome Web Store 安裝 OpenCLI。
選項 B:手動安裝
- 從 GitHub Releases 頁面 下載最新
opencli-extension-v{version}.zip - 解壓,開啟
chrome://extensions,啟用開發者模式 - 點擊載入未封裝項目,選擇解壓後的資料夾
3. 驗證安裝
opencli doctor4. 命名你的 Chrome 設定檔(可選)
如果你用多個 Chrome 設定檔,可以列出連線的設定檔並指定本機別名:
opencli profile list
opencli profile rename <contextId> work
opencli profile use work5. 執行第一個指令
opencli list
opencli hackernews top --limit 5
opencli bilibili hot --limit 56. 安裝 AI Agent Skills(可選)
如果你要用 AI Agent 操作瀏覽器:
# 安裝所有 skills
npx skills add jackwener/opencli
# 或只安裝需要的
npx skills add jackwener/opencli --skill opencli-browser
npx skills add jackwener/opencli --skill opencli-adapter-author
npx skills add jackwener/opencli --skill opencli-autofix內建支援的網站
OpenCLI 目前支援 103 個網站,包括:
| 網站 | 支援的指令 |
|------|-----------|
| 小紅書 | search ask note comments feed user download publish follow unfollow notifications creator-notes creator-notes-summary creator-note-detail creator-profile creator-stats |
| Bilibili | hot search history feed ranking download comments dynamic favorite following follow unfollow me subtitle summary video user-videos |
| 知乎 | hot search question download follow like favorite comment answer |
| HackerNews | top new best ask show jobs search user |
| Twitter/X | post reply quote retweet like bookmark timeline profile search media list |
| LinkedIn | connect inbox job-detail jobs-preferences post-analytics posts profile network |
| GitHub | issues prs repos stars followers following trending search code |
完整清單請參考官方文件:<https://opencli.info/docs/commands>
限制與缺點
不是沒有坑。以下是我實際使用後發現的限制:
- Threads 適配器是自訂的——不在 upstream 的 103 個內建適配器裡。如果你要用 Threads,可能需要自己寫或等 upstream 支援。
- ChatGPT 繁中 UI 的 aria-label 寫死英文——本機 patch 過一版才能正常使用。
- 依賴 Chrome 擴充功能——需要 Chrome/Chromium 瀏覽器,且要安裝擴充功能。無頭瀏覽器(headless)可能有限制。
- 網站改版可能失效——雖然有
opencli-autofixskill 可以修復,但畢竟是逆向工程,網站大幅改版可能還是會掛。 - 社群自動化可能違反服務條款——使用前請確認各平台的 TOS,避免帳號被禁。
哪些團隊適合先試?
- 社群運營團隊——需要同時操作多個平台(X、Threads、FB、LinkedIn)
- AI Agent 開發者——需要讓 AI 操作登入的瀏覽器
- 資料擷取團隊——需要穩定、結構化的網站資料輸出
- 開發者工具愛好者——喜歡用 CLI 操作一切
結論
OpenCLI 解決了瀏覽器自動化的兩個核心痛點:
- 不要每次重 login——重用你瀏覽器現有的 cookie/session
- 不要燒 API quota——透過 web account 操作,不走 API
它把這兩件一起解了,而且是用確定性介面的方式,不是解析原始 DOM。
如果你也在搞社群自動化或 AI agent 自動化網站,蠻建議玩玩看。6 週累計 89 個 release,補洞積極,值得關注。
參考資料