命令列工具
jackwener/OpenCLI avatar
jackwener/OpenCLI

OpenCLI:把登入中的瀏覽器工作流暴露成命令列

將任何網站製作成 CLI 並透過 AI 代理使用您登入的瀏覽器。

29,324 個 Star2,869 個 ForkJavaScriptApache-2.0

秒懂

它是什麼?
OpenCLI 將網站、已登入 Chrome、Electron 應用與本機工具轉成可供人或 AI agent 使用的 CLI,也支援瀏覽器導覽、表單、點擊與擷取。
適合誰用?
適合需要研究 `opencli`、`opencli chrome`、`opencli external list`、Chrome extension 並能自行維護測試環境的開發者,不適合把它直接視為完整商用方案的人。先按 README 使用 `opencli` 做最小流程,核對輸入、輸出、權限與失敗行為,再決定是否納入自己的系統。
可以商用嗎?
可以。Apache-2.0 是寬鬆授權:你可以使用、修改並販售以它為基礎的軟體,只需保留著作權與授權聲明。
還在維護嗎?
有在維護。儲存庫最近一次提交在 16 天前。
用什麼語言寫的?
主要是 JavaScript(依據 GitHub 的語言統計)。

以上回答依據專案的 GitHub 資料(最近同步於 2026年9月15日)與我們的分析,不構成法律意見。

開源專案深度解析

問題邊界與閱讀方式:`opencli`

OpenCLI 的判斷重點是「登入狀態在哪裡」。它不是單純 HTTP crawler,而是讓 agent 借用瀏覽器中的登入環境,再把網站操作轉為較穩定的命令介面,因此帳號權限與瀏覽器工作階段是部署的一部分。

在 jackwener-opencli-deep-analysis 的第 1 個觀察點,真正可核對的是 `opencli`、`opencli chrome`、`opencli external list`、Chrome extension。README 能確認功能範圍、入口與部分限制,但沒有提供完整效能基準、長期維護承諾或所有環境的相容性資料。這代表讀者應把命令輸出、檔案變更、錯誤訊息與測試結果留下來,將示例的教學價值和正式產品的可靠性分開判讀。

在這一節應特別檢查 `opencli` 與前後元件的責任是否一致。若實際環境出現版本、權限或資料格式差異,先記錄差異再修改範例,才不會把偶然能跑通的結果誤判成穩定介面。 這是 jackwener-opencli-deep-analysis 第 1 節的具體檢查。

在 jackwener-opencli-deep-analysis 中,這個章節還要把實際版本、執行身分、輸入資料與錯誤輸出分開記錄。若結果只在單一機器或單一次啟動成立,不能直接推論成可部署能力;應再重跑同一個 問題邊界與閱讀方式:`opencli` 流程,確認狀態是否可重現。這項記錄能指出問題是在依賴、資料、權限還是介面,而不是把差異歸咎於環境。

入口與組成:`opencli chrome`

README 描述網站轉 CLI、Browser Use、Electron 應用卡與本機工具整合。Chrome extension 負責連接瀏覽器;登入過期、擴充功能連接與 Node 版本是故障排除裡明確提到的檢查點。

在 jackwener-opencli-deep-analysis 的第 2 個觀察點,真正可核對的是 `opencli`、`opencli chrome`、`opencli external list`、Chrome extension。README 能確認功能範圍、入口與部分限制,但沒有提供完整效能基準、長期維護承諾或所有環境的相容性資料。這代表讀者應把命令輸出、檔案變更、錯誤訊息與測試結果留下來,將示例的教學價值和正式產品的可靠性分開判讀。

在這一節應特別檢查 `opencli chrome` 與前後元件的責任是否一致。若實際環境出現版本、權限或資料格式差異,先記錄差異再修改範例,才不會把偶然能跑通的結果誤判成穩定介面。 這是 jackwener-opencli-deep-analysis 第 2 節的具體檢查。

在 jackwener-opencli-deep-analysis 中,這個章節還要把實際版本、執行身分、輸入資料與錯誤輸出分開記錄。若結果只在單一機器或單一次啟動成立,不能直接推論成可部署能力;應再重跑同一個 入口與組成:`opencli chrome` 流程,確認狀態是否可重現。這項記錄能指出問題是在依賴、資料、權限還是介面,而不是把差異歸咎於環境。

核心資料流:`opencli external list`

下載命令涵蓋 xiaohongshu、bilibili、twitter、douban、pixiv、1688、zhihu 等平台,bilibili 另需要 `yt-dlp`。平台專用命令方便重複工作,但第三方頁面改版、登入限制與個別服務條款都會影響可用性。

在 jackwener-opencli-deep-analysis 的第 3 個觀察點,真正可核對的是 `opencli`、`opencli chrome`、`opencli external list`、Chrome extension。README 能確認功能範圍、入口與部分限制,但沒有提供完整效能基準、長期維護承諾或所有環境的相容性資料。這代表讀者應把命令輸出、檔案變更、錯誤訊息與測試結果留下來,將示例的教學價值和正式產品的可靠性分開判讀。

在這一節應特別檢查 `opencli external list` 與前後元件的責任是否一致。若實際環境出現版本、權限或資料格式差異,先記錄差異再修改範例,才不會把偶然能跑通的結果誤判成穩定介面。 這是 jackwener-opencli-deep-analysis 第 3 節的具體檢查。

在 jackwener-opencli-deep-analysis 中,這個章節還要把實際版本、執行身分、輸入資料與錯誤輸出分開記錄。若結果只在單一機器或單一次啟動成立,不能直接推論成可部署能力;應再重跑同一個 核心資料流:`opencli external list` 流程,確認狀態是否可重現。這項記錄能指出問題是在依賴、資料、權限還是介面,而不是把差異歸咎於環境。

實作中的取捨:Chrome extension

README 提供 `opencli external list` 查看外部工具,也列出 Cursor、Trae CN、Codex、ChatGPT 與 Discord 等 Electron 應用介面卡。這些整合擴大範圍,卻不代表每個卡片都有相同穩定度或安全邊界。

在 jackwener-opencli-deep-analysis 的第 4 個觀察點,真正可核對的是 `opencli`、`opencli chrome`、`opencli external list`、Chrome extension。README 能確認功能範圍、入口與部分限制,但沒有提供完整效能基準、長期維護承諾或所有環境的相容性資料。這代表讀者應把命令輸出、檔案變更、錯誤訊息與測試結果留下來,將示例的教學價值和正式產品的可靠性分開判讀。

在這一節應特別檢查 Chrome extension 與前後元件的責任是否一致。若實際環境出現版本、權限或資料格式差異,先記錄差異再修改範例,才不會把偶然能跑通的結果誤判成穩定介面。 這是 jackwener-opencli-deep-analysis 第 4 節的具體檢查。

在 jackwener-opencli-deep-analysis 中,這個章節還要把實際版本、執行身分、輸入資料與錯誤輸出分開記錄。若結果只在單一機器或單一次啟動成立,不能直接推論成可部署能力;應再重跑同一個 實作中的取捨:Chrome extension 流程,確認狀態是否可重現。這項記錄能指出問題是在依賴、資料、權限還是介面,而不是把差異歸咎於環境。

授權與未說明之處:`opencli`

Apache-2.0 允許按授權條款使用與散布;真正需要審查的是瀏覽器 cookie、頁面內容與下載資料會被哪些命令讀取。README 沒有提供第三方安全稽核、效能基準或支援承諾。

在 jackwener-opencli-deep-analysis 的第 5 個觀察點,真正可核對的是 `opencli`、`opencli chrome`、`opencli external list`、Chrome extension。README 能確認功能範圍、入口與部分限制,但沒有提供完整效能基準、長期維護承諾或所有環境的相容性資料。這代表讀者應把命令輸出、檔案變更、錯誤訊息與測試結果留下來,將示例的教學價值和正式產品的可靠性分開判讀。

在這一節應特別檢查 `opencli` 與前後元件的責任是否一致。若實際環境出現版本、權限或資料格式差異,先記錄差異再修改範例,才不會把偶然能跑通的結果誤判成穩定介面。 這是 jackwener-opencli-deep-analysis 第 5 節的具體檢查。

在 jackwener-opencli-deep-analysis 中,這個章節還要把實際版本、執行身分、輸入資料與錯誤輸出分開記錄。若結果只在單一機器或單一次啟動成立,不能直接推論成可部署能力;應再重跑同一個 授權與未說明之處:`opencli` 流程,確認狀態是否可重現。這項記錄能指出問題是在依賴、資料、權限還是介面,而不是把差異歸咎於環境。

採用前的專案驗證:`opencli chrome`

先安裝 README 指定的 Node 版本與 Chrome extension,在專用瀏覽器設定檔登入測試帳號,執行 `opencli external list` 確認連線,再以一個低風險網站完成導覽、填表與擷取。測試登入過期、重連與 `yt-dlp` 下載錯誤,並檢查命令輸出是否包含 cookie 或敏感頁面內容。

在 jackwener-opencli-deep-analysis 的第 6 個觀察點,真正可核對的是 `opencli`、`opencli chrome`、`opencli external list`、Chrome extension。README 能確認功能範圍、入口與部分限制,但沒有提供完整效能基準、長期維護承諾或所有環境的相容性資料。這代表讀者應把命令輸出、檔案變更、錯誤訊息與測試結果留下來,將示例的教學價值和正式產品的可靠性分開判讀。

在這一節應特別檢查 `opencli chrome` 與前後元件的責任是否一致。若實際環境出現版本、權限或資料格式差異,先記錄差異再修改範例,才不會把偶然能跑通的結果誤判成穩定介面。 這是 jackwener-opencli-deep-analysis 第 6 節的具體檢查。

在 jackwener-opencli-deep-analysis 中,這個章節還要把實際版本、執行身分、輸入資料與錯誤輸出分開記錄。若結果只在單一機器或單一次啟動成立,不能直接推論成可部署能力;應再重跑同一個 採用前的專案驗證:`opencli chrome` 流程,確認狀態是否可重現。這項記錄能指出問題是在依賴、資料、權限還是介面,而不是把差異歸咎於環境。

編輯結論

適合需要研究 `opencli`、`opencli chrome`、`opencli external list`、Chrome extension 並能自行維護測試環境的開發者,不適合把它直接視為完整商用方案的人。先按 README 使用 `opencli` 做最小流程,核對輸入、輸出、權限與失敗行為,再決定是否納入自己的系統。

官方來源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
社群筆記

社群筆記