展 GUI 軟件 CLI 覆蓋面的完整工作流)
CLI-Anything refine 命令詳解增量擴(kuò)展 GUI 軟件 CLI 覆蓋面的完整工作流【免費(fèi)下載鏈接】CLI-AnythingCLI-Anything: Making ALL Software Agent-Native -- CLI-Hub: https://clianything.cc/項(xiàng)目地址: https://gitcode.com/GitHub_Trending/cl/CLI-Anythingrefine是 CLI-Anything 插件體系cli-anything-plugin/commands/refine.md中的第二梯隊(duì)命令與負(fù)責(zé)從零構(gòu)建的/cli-anything不同它專門用于在已有 CLI harness 之上做增量式能力擴(kuò)展分析軟件完整功能與當(dāng)前 CLI 覆蓋之間的差距gap然后按優(yōu)先級(jí)迭代補(bǔ)充新命令、新測(cè)試與新文檔。讀完本文你將掌握 refine 命令的完整參數(shù)語(yǔ)義、六步工作流的每一步產(chǎn)物以及它如何依托 HARNESS.md 的質(zhì)量基線保證新增命令與原有命令同標(biāo)準(zhǔn)從而把一次性的 harness 構(gòu)建變成可持續(xù)演進(jìn)的過(guò)程。1. 定位refine 在命令體系中的位置CLI-Anything 插件為 GUI 軟件生成agent 可用的有狀態(tài) CLI其核心命令族包括命令職責(zé)文檔位置/cli-anything從零構(gòu)建完整 CLI harness7 階段方法論cli-anything.md/cli-anything:refine對(duì)已有 harness 做差距分析并增量擴(kuò)展覆蓋refine.md/cli-anything:test運(yùn)行測(cè)試并把結(jié)果回寫到 TEST.mdtest.md/cli-anything:validate對(duì)照 HARNESS.md 標(biāo)準(zhǔn)做 52 項(xiàng)合規(guī)校驗(yàn)validate.mdrefine 的使用前提很明確它必須在/cli-anything已經(jīng)構(gòu)建出 harness 之后運(yùn)行。官方文檔原話是 This command is used after a CLI harness has already been built with/cli-anything——它不做架構(gòu)設(shè)計(jì)只回答一個(gè)問題軟件還有哪些能力沒有被 CLI 暴露出來(lái)以及應(yīng)該先補(bǔ)哪些。另一個(gè)關(guān)鍵約束是refine 開始前必須先讀HARNESS.md插件根目錄下的 HARNESS.md。文檔將其列為 CRITICAL 級(jí)要求All new commands and tests must follow the same standards as the original build. HARNESS.md is the single source of truth for architecture, patterns, and quality requirements. 這決定了 refine 不是隨意加幾個(gè)函數(shù)而是按既有架構(gòu)模式Click 命令組、--json輸出、會(huì)話狀態(tài)、統(tǒng)一錯(cuò)誤處理做一致性擴(kuò)展。2. 用法與參數(shù)2.1 基本語(yǔ)法/cli-anything:refine software-path [focus]2.2 參數(shù)說(shuō)明software-path必填軟件源代碼的本地路徑例如/home/user/gimp、./blender。必須是原始構(gòu)建時(shí)使用的同一棵源碼樹否則差距分析Step 3對(duì)比的軟件完整能力集就失去了基準(zhǔn)只接受本地路徑。文檔明確說(shuō)明如果需要從 GitHub 倉(cāng)庫(kù)工作應(yīng)先用/cli-anythingclone 到本地然后再 refinerefine 不像/cli-anything那樣直接接受 GitHub URL。[focus]可選用自然語(yǔ)言描述要聚焦的功能領(lǐng)域。提供 focus 后agent跳過(guò)寬泛的差距分析改為定向處理指定能力域具體表現(xiàn)為Step 2分析軟件能力收窄到指定領(lǐng)域Step 3差距分析只對(duì)比 focus 范圍內(nèi)的能力與當(dāng)前覆蓋實(shí)現(xiàn)前仍會(huì)先呈報(bào)分析結(jié)果但范圍限定在 focus 區(qū)域內(nèi)。文檔給出的 focus 示例覆蓋了多個(gè)已構(gòu)建的 harness/cli-anything:refine /home/user/shotcut vid-in-vid and picture-in-picture features /cli-anything:refine /home/user/gimp all batch processing and scripting filters /cli-anything:refine /home/user/blender particle systems and physics simulation /cli-anything:refine /home/user/inkscape path boolean operations and clipping2.3 寬泛模式 vs 聚焦模式# 寬泛精化 —— agent 自動(dòng)發(fā)現(xiàn)全部能力域中的差距 /cli-anything:refine /home/user/gimp # 聚焦精化 —— agent 只針對(duì)特定功能領(lǐng)域 /cli-anything:refine /home/user/shotcut vid-in-vid and picture-in-picture compositing /cli-anything:refine /home/user/gimp batch processing and Script-Fu filters /cli-anything:refine /home/user/blender particle systems and physics simulation /cli-anything:refine /home/user/inkscape path boolean operations and clipping masks兩種模式的取舍在 Notes 一節(jié)有明確指引每次 refine 應(yīng)聚焦一組內(nèi)聚的相關(guān)功能而不是一次覆蓋所有東西Each run should focus on a coherent set of related functions rather than trying to cover everything at once。3. 六步工作流詳解refine 的核心是一個(gè)六步流程。下面逐節(jié)展開并結(jié)合倉(cāng)庫(kù)中真實(shí)存在的 harness以 shotcut 為例因?yàn)樗?refine 文檔里 focus 示例的主角說(shuō)明每一步的輸入與產(chǎn)物。3.1 Step 1盤點(diǎn)當(dāng)前覆蓋Inventory Current Coverage這一步的目標(biāo)是建立一份覆蓋映射表coverage map鍵為軟件功能名值為covered | not_covered。具體動(dòng)作讀取現(xiàn)有 CLI 入口software_cli.py及所有核心模塊——對(duì)應(yīng)真實(shí) harness 中的 shotcut_cli.py 與core/下的project.py、session.py、export.py、filters.py、timeline.py等模塊見 shotcut/core列出每一個(gè)已實(shí)現(xiàn)的命令、子命令與選項(xiàng)通讀現(xiàn)有測(cè)試套件test_core.py/test_full_e2e.py弄清哪些行為已被測(cè)試約束——這決定了新增命令時(shí)哪些回歸必須守住。產(chǎn)物{ function_name: covered | not_covered }是后續(xù) Step 3 差距分析的數(shù)據(jù)基礎(chǔ)。注意這一步是以 CLI 現(xiàn)狀為中心的盤點(diǎn)與 Step 2 的以軟件為中心的掃描形成互補(bǔ)視角。3.2 Step 2分析軟件能力Analyze Software Capabilities回到software-path指定的軟件源碼重新掃描識(shí)別所有公開 API、CLI 工具、腳本化接口、批處理模式操作重點(diǎn)篩選能產(chǎn)生可觀測(cè)輸出的功能渲染、導(dǎo)出、變換、轉(zhuǎn)換——這與 HARNESS.md 中 Focus on functions that produce observable output 的原則一致因?yàn)橹挥锌沈?yàn)證的輸出才能被 E2E 測(cè)試約束按領(lǐng)域歸類。文檔以 GIMP 為例濾鏡、色彩調(diào)整、圖層操作、選擇工具。若指定了[focus]這一步的掃描范圍收窄到 focus 描述的能力域。對(duì) Shotcut 而言vid-in-vid and picture-in-picture 這類 focus 會(huì)引導(dǎo) agent 重點(diǎn)考察 MLT 框架中多軌道 tractor 與合成compositing相關(guān)能力——從源碼結(jié)構(gòu)看現(xiàn)有 shotcut/core/compositing.py 與 SHOTCUT.md 中對(duì) MLT XML tractor/multitrack 結(jié)構(gòu)的分析正是這類領(lǐng)域歸類的現(xiàn)成素材。3.3 Step 3差距分析與優(yōu)先級(jí)排序Gap Analysis將 Step 1 的覆蓋映射與 Step 2 的軟件能力全集做差集并按三條標(biāo)準(zhǔn)給差距排序高影響High impact——常用但缺失的函數(shù)快贏Easy wins——API 簡(jiǎn)單、可以快速包裝的函數(shù)可組合性Composability——與現(xiàn)有命令組合后能解鎖新工作流的函數(shù)。排序完成后的關(guān)鍵紀(jì)律是先把差距報(bào)告呈給用戶確認(rèn)要處理哪些差距后再動(dòng)手Present the gap report to the user and confirm which gaps to address。這意味著 refine 是人機(jī)協(xié)同決策的流程agent 不會(huì)未經(jīng)確認(rèn)就大規(guī)模改寫 CLI——用戶可以在實(shí)現(xiàn)前調(diào)整優(yōu)先級(jí)。3.4 Step 4實(shí)現(xiàn)新命令I(lǐng)mplement New Commands對(duì)確認(rèn)的差距向 CLI 添加新命令/子命令且必須遵循 HARNESS.md 定義的既有模式Click 命令組command groups而非扁平命令--json輸出支持——HARNESS.md 規(guī)定 Every command MUST support--jsonfor machine parsing保證 agent 可程序化消費(fèi)新命令的輸出會(huì)話狀態(tài)集成session state integration——新命令要正確掛入全局會(huì)話參與 undo/redo 快照handle_error統(tǒng)一錯(cuò)誤處理——真實(shí) harness 中 shotcut_cli.py#L163 定義了handle_error裝飾器并被大量命令L263 起一致引用validate 命令也把 Hashandle_errordecorator for consistent error handling 列為校驗(yàn)項(xiàng)之一見 validate.md。實(shí)現(xiàn)層面新命令的底層函數(shù)應(yīng)添加到core/領(lǐng)域模塊或utils/工具模塊。這里同時(shí)隱含了 HARNESS.md 的第一鐵律渲染與導(dǎo)出必須調(diào)用真實(shí)軟件melt/ffmpeg之于 Shotcutgimp -i -b之于 GIMP而不是用 Python 重新實(shí)現(xiàn)新增導(dǎo)出類命令時(shí)必須復(fù)用utils/software_backend.py這類后端包裝模塊如 shotcut/utils/melt_backend.py。3.5 Step 5擴(kuò)展測(cè)試Expand Tests新增功能必須配套三層測(cè)試全部運(yùn)行舊 新以保證無(wú)回歸測(cè)試類型落點(diǎn)要求單元測(cè)試test_core.py為每個(gè)新函數(shù)添加合成數(shù)據(jù)、無(wú)外部依賴E2E 測(cè)試test_full_e2e.py為新命令添加真實(shí)文件、調(diào)用真實(shí)軟件后端、驗(yàn)證輸出magic bytes / 像素分析等工作流測(cè)試test_full_e2e.py組合新命令與現(xiàn)有命令驗(yàn)證可組合性這與 HARNESS.md 的四層測(cè)試策略單元 / 原生 E2E / 真后端 E2E / CLI 子進(jìn)程完全對(duì)齊。值得注意的是子進(jìn)程測(cè)試層真實(shí) harness 的test_full_e2e.py使用_resolve_cli(cli-anything-software)解析已安裝命令支持CLI_ANYTHING_FORCE_INSTALLED1強(qiáng)制走安裝路徑——refine 新增命令后這些既有測(cè)試機(jī)制會(huì)自動(dòng)把新命令納入以真實(shí)用戶視角的回歸范圍。3.6 Step 6更新文檔Update Documentationrefine 收尾必須同步三份文檔保持代碼、測(cè)試、文檔三態(tài)一致README.mdharness 包內(nèi)如 shotcut/cli_anything/shotcut/README.md補(bǔ)充新命令與用法示例TEST.md更新測(cè)試計(jì)劃與最新測(cè)試結(jié)果shotcut 的位于 shotcut/agent-harness/TEST.mdSOP 文檔SOFTWARE.md更新覆蓋說(shuō)明如 SHOTCUT.md 中的架構(gòu)分析與命令地圖讓后續(xù)的 refine 輪次能從文檔而非僅憑代碼重建軟件全貌認(rèn)知。4. 成功標(biāo)準(zhǔn)與運(yùn)行守則refine 命令文檔給出了明確的驗(yàn)收標(biāo)準(zhǔn)可與 validate.md 的合規(guī)檢查互為印證所有既有測(cè)試仍然通過(guò)無(wú)回歸新命令遵循與原有命令相同的架構(gòu)模式以 HARNESS.md 為準(zhǔn)新測(cè)試100% 通過(guò)覆蓋面有實(shí)質(zhì)性提升新功能真正經(jīng)由 CLI 暴露而非只寫了 core 函數(shù);文檔已隨變更更新。運(yùn)行守則Notes四條值得在實(shí)操前牢記refine 是增量式的——可多輪運(yùn)行逐步擴(kuò)大覆蓋每輪聚焦一組內(nèi)聚的相關(guān)功能不要試圖一次覆蓋全部實(shí)現(xiàn)前必須呈報(bào)差距分析讓用戶掌握優(yōu)先級(jí)決策權(quán)refine 從不刪除既有命令——只新增或增強(qiáng)Refine never removes existing commands — it only adds or enhances。這條只增不刪的不變式保證了 harness 的向后兼容性已發(fā)布的 PyPI 包、已生成的 SKILL.md 中引用的舊命令在多輪 refine 后依然有效。5. 與 test / validate 的組合使用一次完整的 refine 周期之后通常還建議運(yùn)行/cli-anything:test software-path以-v -s --tbshort執(zhí)行測(cè)試確認(rèn)輸出中出現(xiàn)[_resolve_cli] Using installed command:證明測(cè)的是已安裝命令而非源碼回退并把結(jié)果追加到 TEST.md——若測(cè)試失敗test 命令不會(huì)覆蓋 TEST.md 中上一次通過(guò)的記錄避免污染結(jié)果歷史運(yùn)行/cli-anything:validate software-path按目錄結(jié)構(gòu)、必需文件、CLI 實(shí)現(xiàn)標(biāo)準(zhǔn)、核心模塊標(biāo)準(zhǔn)、測(cè)試標(biāo)準(zhǔn)、文檔標(biāo)準(zhǔn)、PyPI 打包、代碼質(zhì)量共 8 大類 52 項(xiàng)檢查確認(rèn) refine 的增量改動(dòng)沒有破壞 HARNESS.md 基線。三者組合形成了 buildcli-anything→ refine增量擴(kuò)展→ test validate回歸與合規(guī) 的閉環(huán)這也是插件 README 版本歷史中所說(shuō)的 iterative development 思路參見 cli-anything-plugin/README.md。6. 小結(jié)/cli-anything:refine的價(jià)值在于把 CLI harness 從一次生成物轉(zhuǎn)變?yōu)榭裳葸M(jìn)資產(chǎn)它以覆蓋映射為現(xiàn)狀基線、以軟件源碼重掃為能力全集、以高影響 → 快贏 → 可組合三檔優(yōu)先級(jí)驅(qū)動(dòng)決策并強(qiáng)制新命令、新測(cè)試、新文檔三同步更新。由于 refine.md 將 HARNESS.md 定位為唯一事實(shí)來(lái)源配合 validate.md 的可重復(fù)校驗(yàn)多輪 refine 后的 harness 在架構(gòu)一致性上始終可驗(yàn)證——這正是 CLI-Anything Making ALL Software Agent-Native 方法論中持續(xù)貼近軟件真實(shí)能力的關(guān)鍵機(jī)制?!久赓M(fèi)下載鏈接】CLI-AnythingCLI-Anything: Making ALL Software Agent-Native -- CLI-Hub: https://clianything.cc/項(xiàng)目地址: https://gitcode.com/GitHub_Trending/cl/CLI-Anything創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考