CLI-Anything 是一套由香港大學數據智能實驗室(HKUDS)開源的自動化工具鏈,在 GitHub 累積 50,671 顆星標與 4,632 次複製。它以七階段流程為任何具備原始碼的軟件自動生成命令行介面,讓人工智能代理直接驅動 Blender、LibreOffice、GIMP、Ollama 等真實應用,而非另建簡化版本,並以 Apache-2.0 授權公開全部程式碼。

CLI-Anything 是香港大學數據智能實驗室開源的工具鏈,星標達 50,671 顆,能為現有軟件自動生成命令行介面,讓代理直接操作真實應用。

人工智能代理在推理層面進展迅速,但在操作專業軟件時仍然笨拙。目前主流做法有三條路線:以截圖加滑鼠點擊的介面自動化、依賴功能殘缺的官方 API,或重新實作一套簡化版工具。三者的共同問題是把軟件原本的能力削掉大半,或在版本更新後迅速失效。

CLI-Anything 是什麼?

它是一套為軟件自動生成命令行介面的工具鏈,透過七階段流程分析原始碼並產出可安裝的 CLI,讓代理以結構化指令操作真實應用,無需重寫軟件本身。

它的核心主張寫在專案標語裡:今天的軟件為人而設,明天的使用者是代理。CLI-Anything 要做的事情是搭橋,而不是取代——它分析目標軟件的原始碼,理解圖形介面背後實際呼叫的介面,再生成一層結構化的命令行封裝。

這種設計的關鍵在於不重造輪子。傳統做法會為 GIMP 另寫一套濾鏡程式庫,或用自製渲染器代替 Blender。CLI-Anything 的做法是生成合法的專案檔,再呼叫真實軟件完成渲染,因此輸出的成品與人手操作一致,能力邊界等同原軟件。

HKUDS/CLI-Anything README 開頭(專案名稱、標語與 CLI-Hub 安裝說明)

這個專案由誰開發?

專案由香港大學數據智能實驗室的楊宇豪、范天宇與黃超主導,該組織在 GitHub 有 93 個公開倉庫與 13,620 位追蹤者,長期投入資料探勘與智能代理研究。

倉庫建立於 2026 年 3 月 8 日,技術報告以《CLI-Anything: Towards Agent-Native Computer Use》為題上線 arXiv,作者為楊宇豪、范天宇與黃超。香港大學數據智能實驗室位於香港,GitHub 組織累積 13,620 位追蹤者與 93 個公開倉庫,研究方向集中在資料探勘、推薦系統與智能代理。

專案從成立到突破五萬顆星標大約用了六個月,期間釋出三個版本。最新版本 v0.4.0 於 6 月下旬發布,之後仍持續接受社群提交,倉庫在 9 月下旬仍有推送,最近的變動集中在說明文件與註冊表維護。

值得注意的是社群參與結構。倉庫的貢獻者已超過一百位,多數提交來自外部開發者為新軟件建立介面,例如 Zotero、Joplin、Obsidian、Calibre 與 n8n 等,均由社群成員主動提案並通過審查後合併。這種開放註冊表的模式,讓可用清單的擴張速度不完全取決於核心團隊。

它的七階段生成流程如何運作?

流程依序為分析原始碼、設計指令群組、實作 CLI、規劃測試、撰寫測試、生成文件與發布套件;每個階段都有產出物,完成後代理即可用一句指令建好整套工具。

流程的第一步是分析,掃描原始碼並把圖形介面的操作映射到實際的程式介面。第二步是設計,規劃指令群組、狀態模型與輸出格式。第三步是實作,產出以 Click 建構的命令行工具,內建互動式介面、JSON 輸出與復原機制。

後四個階段處理品質與交付。測試規劃階段產出測試文件,撰寫階段落實單元測試與端對端測試,文件階段回填實測結果,最後打包並安裝到系統路徑。設計上要求每個指令都支援 JSON 輸出,讓人類可讀的表格與機器可讀的結構化資料並存。

流程之外另設精修指令。單次生成未必覆蓋軟件的全部能力,執行精修會比對軟件功能與現有命令覆蓋率,找出缺口並補上對應指令、測試與文件。這個動作可以重複執行,每次都是增量而非破壞性的改動。

生成出來的 CLI 有什麼技術特點?

每個 CLI 同時支援互動式 REPL 與子命令兩種模式,內建 JSON 輸出、狀態保存與復原功能,並在生成時附帶 SKILL.md,讓代理能自動發現可用能力。

互動模式針對代理的長流程設計。直接執行命令會進入 REPL,狀態在會話內持續保存,可隨時復原上一步操作;需要串接管線時則改用子命令形式,方便寫進腳本或工作流程。兩種模式共用同一套輸出管線。

能力發現依靠標準慣例而非專有協議。代理用 --help 查詢指令結構,用 which 確認工具是否安裝,不需要額外註冊。生成流程的第六點五階段會一併產出 SKILL.md,內容含指令群組、用法範例與代理專用的輸出建議,讓支援技能規範的代理直接讀取。

套件結構採用統一命名空間,所有生成的工具放在 cli_anything.* 之下,安裝指令形如 pip install -e .,即可把命令放上系統路徑。命名規則固定為 cli-anything-<軟件名>,避免與既有套件衝突。

目前支援哪些軟件與應用場景?

目前已涵蓋 18 款應用,橫跨創意媒體、AI 平台、辦公協作與科學計算,包含 Blender、GIMP、OBS Studio、LibreOffice 與 Ollama 等。

覆蓋面比預期廣。創意與媒體類包含 Blender、GIMP、OBS Studio、Audacity、Krita、Kdenlive、Shotcut 與 Inkscape;人工智能平台類包含 Stable Diffusion WebUI、ComfyUI、Ollama、Open WebUI 與 AnythingLLM。辦公與企業類則有 LibreOffice、NextCloud、AppFlowy 與 NocoDB。

專業領域的覆蓋同樣具體。科學計算類收錄 FreeCAD、QGIS、ImageJ、ParaView、KiCad 與 Stellarium;開發工具類包含 Jenkins、Gitea、Portainer 與 pgAdmin;繪圖類有 Draw.io、Mermaid、PlantUML 與 Excalidraw;測試類有 WireMock;甚至連雷射雕刻與刺繡機的控制軟件也已納入。

社群化的註冊表是擴張的主要動力。CLI-Hub 以單一套件管理器統一瀏覽、搜尋、安裝與更新,社群提交的新介面通過審查後即時上架。專案方另設願望清單機制,讓使用者提出希望支援的軟件,再由貢獻者認領實作。

測試與可靠性表現如何?

專案目前維持 2,464 項測試全部通過,並要求後端缺失時測試必須失敗而非略過,藉此確保每個介面都真正呼叫過對應軟件,而非以模擬物件交差。

測試分四層。單元測試以合成資料驗證核心函式;原生端對端測試檢查產出的專案檔結構是否合法,例如文件封裝是否符合標準、時間軸檔案是否格式正確;真實後端測試則實際呼叫軟件,驗證輸出檔的魔術位元、像素內容或音訊電平。

最嚴格的一條規則是依賴處理。專案明言不設降級路徑,當後端軟件缺失時測試直接失敗而非跳過,以此確保每個介面都經過真實呼叫。這條規則讓測試數字的可信度提高,代價是建置環境的門檻也跟著上升。

測試數字本身也持續增長。早期文件記載的通過數為 2,280 項,最新彙總已達 2,464 項,涵蓋 32 款工具,其中 Blender 208 項、Inkscape 202 項、Audacity 161 項、LibreOffice 158 項,多數項目維持百分之百通過率。

HKUDS/CLI-Anything GitHub 首頁頂部(儲存庫名稱、Star 數 50.7k 與專案描述)

它與 GUI 自動化方案有什麼差異?

GUI 自動化依靠截圖與像素點擊,畫面一改就失效;CLI-Anything 生成真正的命令行介面,直接呼叫軟件原生功能,版本更新後仍可重跑,輸出也更穩定可驗證。

兩者的差異在於穩定性的來源。像素層自動化把畫面當成唯一介面,任何介面調整、字型變化或解析度差異都會讓腳本失效,除錯時也只能靠截圖比對;生成式 CLI 則是呼叫軟件實際使用的程式介面,輸出的是合法專案檔或標準格式,成敗可以直接用檔案內容驗證。

另一個差異是可組合性。命令行工具的輸出天生適合串接管線,代理可以把一個工具產生的檔案直接餵給下一個工具,形成多步工作流;而圖形介面自動化難以在步驟之間傳遞結構化資料,通常需要額外的解析與轉換。

成本結構也不相同。生成介面需要一次性投入,換來後續可重複、可版本控管的操作流程;自動化腳本則是每次介面變動都要重新維護。當操作頻率高、流程固定時,前者的攤提效益會逐步顯現。

它適合哪些團隊與應用場景?

它適合開發者工具鏈、資料處理與創意媒體等場景,尤其當團隊已使用支援技能規範的代理平台時,可直接安裝現成介面;若僅需單次操作,改用原軟件反而更省成本。

內容生產與批次處理是直接的落點。專案示範讓代理以生成的介面驅動 Blender 建立三維場景、用 LibreOffice 產出報表、以 Inkscape 製作向量圖,這些流程過去必須由人手反覆操作圖形介面,現在可寫成可重複執行的指令序列。

工程與維運場景同樣適用。Jenkins、Gitea、Portainer 與 pgAdmin 這類服務的日常操作,若能以結構化指令完成,便容易納入自動化的檢查與修復流程;科學計算類的 FreeCAD、QGIS 與 ParaView,則讓需要產生大量變體輸出的研究流程更易編排。

導入前仍要看清限制。目標軟件必須具備可分析的原始碼,封閉且無原始碼的軟件無法生成介面;同時,圖形介面中依賴人眼判斷的部分,例如美感取捨與版面微調,仍需人工介入,代理負責的是可被結構化描述的重複性工作。

出處連結有哪些?

專案原始碼、技術報告與 CLI-Hub 註冊表均公開於 GitHub 倉庫,技術報告上線 arXiv,開發者可依此查證版本、授權與測試細節。

原始碼與授權條款位於 GitHub 的 HKUDS/CLI-Anything 倉庫,採 Apache-2.0 授權;技術報告《CLI-Anything: Towards Agent-Native Computer Use》以 arXiv 編號 2606.03854 公開。CLI-Hub 註冊表的網頁入口與套件安裝指令,則分別列於專案文件與倉庫說明,社群可直接依此瀏覽、安裝與提交新介面。

總結:CLI-Anything 適合什麼團隊?

適合需要讓代理操作現成專業軟件、又不願重寫替代方案的團隊;若目標軟件封閉且無原始碼,或流程高度依賴人眼判斷,生成介面的效益會明顯下降。

CLI-Anything 的價值在於把既有的專業軟件重新接上代理生態,而非另起一套功能受限的替代品。它以七階段流程生成命令行封裝,呼叫的仍是軟件本身的能力,因此輸出的成品與人手操作一致,也讓既有技能與資產得以延續。

它的長期意義取決於生態擴張。當愈來愈多常用軟件在註冊表上取得官方或社群維護的介面,代理可操作的工具邊界便會持續外擴;但這個路徑同時面對維護成本的考驗,介面需要跟隨上游軟件更新,社群參與度將是能否維持品質的關鍵。