CLI-Anything คือปลั๊กอินโอเพนซอร์สสำหรับเอเจนต์เขียนโค้ด AI (โดยเฉพาะ Claude Code) ที่ช่วยสร้าง CLI (Command Line Interface) สำหรับซอฟต์แวร์ใดๆ ที่มีโค้ดเบส คุณสามารถชี้ไปที่ GIMP, Blender, LibreOffice หรือแอปพลิเคชันอื่นๆ แล้วปลั๊กอินจะวิเคราะห์ซอร์สโค้ดและสร้าง CLI ที่มีโครงสร้างซึ่งเอเจนต์ AI สามารถควบคุมซอฟต์แวร์นั้นได้โดยตรง
ปัญหา: เอเจนต์ AI ไม่สามารถใช้ซอฟต์แวร์ GUI ได้
ในปัจจุบัน ซอฟต์แวร์มีทั้งแบบ API-first (บริการคลาวด์, อีเมล, วิเคราะห์ข้อมูล ฯลฯ) ซึ่ง AI agent เรียกใช้ได้โดยตรง และซอฟต์แวร์ GUI แบบดั้งเดิม (GIMP, Blender, LibreOffice เป็นต้น) ที่ทำงานผ่านอินเทอร์เฟซกราฟิก ซึ่ง AI agent ไม่สามารถควบคุมได้ง่ายๆ
ทางเลือกในการเชื่อมต่อเอเจนต์กับซอฟต์แวร์ GUI คือการสร้าง wrapper ด้วยมือหรือใช้ RPA (Robotic Process Automation) ซึ่งทั้งคู่เปราะบางและซ่อมบำรุงยาก
CLI-Anything แก้ปัญหานี้ด้วยการวิเคราะห์ซอร์สโค้ดเพื่อหา API ภายใน และสร้าง CLI โดยตรงสำหรับซอฟต์แวร์นั้น เอเจนต์ AI สามารถควบคุมซอฟต์แวร์โดยไม่ต้องพึ่ง GUI หรือการคลิกเมนูใดๆ
💡หากเวิร์กโฟลว์ของเอเจนต์ของคุณจำเป็นต้องเรียกใช้ REST API ภายนอกควบคู่ไปกับซอฟต์แวร์ในเครื่อง Apidog สามารถจัดการด้านการทดสอบ API ได้ เป็นเครื่องมือฟรีสำหรับการส่ง, ตรวจสอบ และจัดระเบียบคำขอ API เพื่อให้คุณสามารถตรวจสอบการรวม API ก่อนที่จะสร้างมันในเวิร์กโฟลว์ของเอเจนต์
<!--kg-card-begin: html-->
<!--kg-card-end: html-->
CLI-Anything ทำอะไร
CLI-Anything เป็นปลั๊กอินโอเพนซอร์สโดย HKUDS (Hong Kong University Data Science Lab) มีผู้ให้ดาวมากกว่า 6,100 ดวงบน GitHub (ณ เวลาที่เขียน)
ปลั๊กอินนี้ทำงานบน Claude Code เป็นหลัก (ทดลองกับ Codex, OpenCode) โดยรัน pipeline 7 ขั้นตอน:
- วิเคราะห์ – สแกนซอร์สโค้ด, แมปการกระทำ GUI เป็น API, สร้าง SOP
- ออกแบบ – วางโครงสร้างกลุ่มคำสั่ง, โมเดลสถานะ, รูปแบบเอาต์พุต
-
นำไปใช้ – สร้าง Python CLI (Click), โหมด REPL, รองรับ
--json, undo/redo -
วางแผนการทดสอบ – สร้าง
TEST.mdสำหรับแผนการทดสอบ -
เขียนการทดสอบ –
test_core.py(unit),test_full_e2e.py(E2E) -
จัดทำเอกสาร – รัน pytest, รวมผลลัพธ์ลง
TEST.md -
เผยแพร่ – สร้าง
setup.py, กำหนด entry point, ติดตั้งลง PATH
เมื่อเสร็จ คุณจะได้ CLI พร้อมใช้งานทันทีบนระบบ สามารถตรวจสอบได้ด้วย which cli-anything-gimp และ cli-anything-gimp --help
CLI ที่สร้างขึ้นทุกตัวออกแบบให้สอดคล้องกัน: เอาต์พุตตารางอ่านง่าย, JSON ด้วย --json, undo/redo, โหมด REPL โครงสร้างนี้ทำให้เอเจนต์ AI ใช้งานข้ามซอฟต์แวร์ได้ง่าย
การติดตั้ง CLI-Anything
CLI-Anything เป็นปลั๊กอิน Python (ไม่ใช่ npm) ติดตั้งลงในเอเจนต์ AI ของคุณ จากนั้น CLI ที่สร้างขึ้นติดตั้งด้วย pip install -e .
ความต้องการ:
- Python 3.10+
- ซอฟต์แวร์เป้าหมายติดตั้งในระบบ
- เอเจนต์เขียนโค้ด AI ที่รองรับ (Claude Code แนะนำ)
Claude Code (แนะนำ)
/plugin marketplace add HKUDS/CLI-Anything
/plugin install cli-anything
จะทำให้ใช้คำสั่ง /cli-anything ได้ใน Claude Code
OpenCode
โคลน repo, คัดลอกไฟล์คำสั่งและ HARNESS.md ไปที่ ~/.config/opencode/commands/ จะเพิ่มคำสั่ง /cli-anything และชุด refine, test, validate, list
Codex
bash CLI-Anything/codex-skill/scripts/install.sh
Qodercli
bash CLI-Anything/qoder-plugin/setup-qodercli.sh
ข้อสังเกตสำหรับ Windows
ต้องใช้ Git for Windows (มี bash และ cygpath) หรือ WSL หากพบ cygpath: command not found ให้ติดตั้ง Git for Windows
การติดตั้ง CLI ที่สร้างขึ้น
cd <software>/agent-harness
pip install -e .
ใช้โหมด editable (-e) เพื่อให้แก้ซอร์สโค้ดได้โดยไม่ต้องติดตั้งใหม่
การสร้าง CLI แรกของคุณ
หลังติดตั้งปลั๊กอิน สร้าง CLI ได้ทันที
ใน Claude Code:
/cli-anything ./gimp
หรือจาก GitHub repo:
/cli-anything https://github.com/blender/blender
Pipeline 7 ขั้นตอนจะรันอัตโนมัติ (ขึ้นกับขนาดโค้ดเบสและจำนวน API)
โครงสร้างไดเรกทอรีที่ได้จะเป็น:
gimp/
agent-harness/
GIMP.md
setup.py
cli_anything/
gimp/
README.md
gimp_cli.py
core/
utils/
tests/
test_core.py
test_full_e2e.py
TEST.md
CLI ทุกตัวจะอยู่ภายใต้ cli_anything.* namespace
การใช้งาน CLI ที่สร้างขึ้น
หลัง pip install -e . ที่ agent-harness คุณจะได้ CLI ใหม่:
cli-anything-gimp --help
ทุกเครื่องมือจะสร้าง CLI ชื่อ cli-anything-<software>
เอาต์พุตที่มนุษย์อ่านได้ (ค่าเริ่มต้น)
cli-anything-gimp project new --width 1920 --height 1080
cli-anything-gimp layer list
cli-anything-gimp layer add --name "Background" --type solid --color "#ffffff"
cli-anything-gimp filter apply --name "gaussian-blur" --radius 3
cli-anything-gimp export save --format png --output ./output.png
เอาต์พุต JSON สำหรับเอเจนต์ AI
cli-anything-gimp --json project new --width 1920 --height 1080
# {"status": "ok", "project_id": "proj_abc123", "width": 1920, "height": 1080}
cli-anything-gimp --json layer add -n "Background"
# {"status": "ok", "layer_id": "layer_001", "name": "Background"}
โหมด REPL แบบโต้ตอบ
cli-anything-gimp
จะเข้าสู่ shell โต้ตอบ มี prompt สีและประวัติคำสั่ง
เลิกทำ/ทำซ้ำ
cli-anything-gimp undo
cli-anything-gimp redo
การปรับแต่งและทดสอบ CLI ของคุณ
ใช้คำสั่ง /cli-anything:refine เพื่อเพิ่มคำสั่งที่ขาดหรืออัปเดต CLI
ปรับแต่งทั่วไป
/cli-anything:refine /home/user/gimp
ปรับแต่งเน้นฟีเจอร์
/cli-anything:refine /home/user/blender "particle systems and physics simulation"
รันทดสอบ
/cli-anything:test /home/user/gimp
ตรวจสอบความถูกต้อง
/cli-anything:validate /home/user/gimp
แสดง CLI ที่มี
/cli-anything:list
/cli-anything:list --json
/cli-anything:list --path /home
กรณีการใช้งานจริง
ไปป์ไลน์ประมวลผลภาพด้วย GIMP
cli-anything-gimp project open --file product.jpg
cli-anything-gimp layer add --name "Watermark" --type image --source watermark.png
cli-anything-gimp layer position --name "Watermark" --x 10 --y 10
cli-anything-gimp export save --format webp --output product-final.webp
สร้างเอกสารด้วย LibreOffice
cli-anything-libreoffice document open --template invoice-template.ods
cli-anything-libreoffice cell set --address "B5" --value "Acme Corp"
cli-anything-libreoffice cell set --address "C10" --value "1500.00"
cli-anything-libreoffice export pdf --output invoice-2026-001.pdf
เรนเดอร์ 3D ด้วย Blender
cli-anything-blender scene open --file product-scene.blend
cli-anything-blender render set --samples 256 --output /renders/product
cli-anything-blender render start --format png
ระบบอัตโนมัติสำหรับ OBS Studio
cli-anything-obs scene set --name "Main Camera"
cli-anything-obs recording start
cli-anything-obs scene set --name "Screen Share"
cli-anything-obs recording stop --output session.mp4
รวม CI/CD
สามารถผสาน CLI ที่สร้างจาก CLI-Anything เข้ากับ pipeline CI/CD เช่น สั่ง render Blender หรือสร้าง PDF LibreOffice อัตโนมัติทุก commit
สร้างเวิร์กโฟลว์เอเจนต์ด้วย Apidog
CLI-Anything ใช้กับซอฟต์แวร์ในเครื่อง ขณะที่เวิร์กโฟลว์จริงมักต้องใช้งาน API ภายนอกด้วย เช่น อัปโหลดไฟล์ไป CDN, ส่ง PDF ไป document management, หรืออัปโหลดวิดีโอไปรีวิวแพลตฟอร์ม
Apidog คือไคลเอนต์ API ฟรีสำหรับทดสอบ, จัดทำเอกสาร, และอัตโนมัติ REST API
ตัวอย่าง: สร้าง agent ที่ process ภาพด้วย GIMP และอัปโหลดไป cloud storage API ใช้ CLI-Anything ควบคุม GIMP และใช้ Apidog ทดสอบ/validate API:
- กำหนด environment และ API credentials ใน Apidog
- ทดสอบ endpoint upload ด้วยไฟล์ตัวอย่าง
- เช็คการตอบสนองว่า URL ของไฟล์ถูกต้อง
- ส่งออกเป็น curl หรือโค้ดสไนป์เพ็ตสำหรับใช้ในสคริปต์ agent
Apidog ช่วยให้คุณมั่นใจว่า API ทำงานถูกต้องก่อนเขียนโค้ดจริง ลดเวลา debug และยังสามารถเพิ่ม test automation ได้ใน pipeline
ข้อจำกัดที่ควรรู้
Windows ต้องใช้ Git Bash หรือ WSL
CLI ที่สร้างใช้ Python และ bash path handling ต้องใช้ Git for Windows หรือ WSL ไม่รองรับ PowerShell native
ต้องติดตั้งซอฟต์แวร์เป้าหมาย
CLI-Anything ไม่ได้ bundle ซอฟต์แวร์เป้าหมายมาให้ เช่น GIMP, Blender, LibreOffice ต้องติดตั้งในเครื่องก่อน
เอาต์พุต CLI เฉพาะ Python
CLI ที่สร้างทุกตัวเป็น Python Click app ไม่มีตัวเลือกสร้าง CLI ภาษาอื่น หากต้องการ Node.js, Go หรืออื่นๆ ต้องสร้างเอง
Claude Code เป็นแพลตฟอร์มเสถียร
Claude Code เป็น environment หลักและเสถียรที่สุด Codex, OpenCode ยังเป็น experimental
คุณภาพขึ้นกับโค้ดเบส
ปลั๊กอินวิเคราะห์ซอร์สโค้ด ถ้าโค้ดเบสซับซ้อน/ปิด/ผูกกับ GUI มาก อาจได้ CLI ที่ไม่สมบูรณ์หรือขาดฟังก์ชัน ต้อง refine เพิ่มเอง
คำถามที่พบบ่อย
CLI-Anything ใช้กับซอฟต์แวร์ใดๆ ได้หรือไม่?
หลักการคือได้กับซอฟต์แวร์ที่มีโค้ดเบสเข้าถึงได้ โดยเฉพาะโอเพนซอร์สที่แมป GUI กับ API ชัดเจน
ฟรีหรือไม่? ใช่ เป็น MIT License โอเพนซอร์สที่ github.com/HKUDS/CLI-Anything
จำเป็นต้องรู้ Python ไหม? ไม่จำเป็น เพียงแค่ติดตั้ง Python 3.10+ ในระบบ
ใช้ CLI ที่สร้างกับโค้ด/shell script ของตัวเองได้ไหม? ได้ CLI ที่สร้างรันจาก shell, Makefile, Python subprocess ฯลฯ
HARNESS.md คืออะไร? เป็นข้อกำหนดโครงสร้าง CLI ตรวจสอบกับขั้นตอน validate
สร้าง CLI สำหรับเครื่องมือ internal ได้ไหม? ได้ ชี้ไปที่โค้ดเบสในเครื่อง ปลั๊กอินรัน local ไม่ส่งโค้ดออกไป
ต่างจาก Model Context Protocol (MCP) ยังไง? MCP คือโปรโตคอลเชื่อมต่อ AI agent กับบริการ cloud ส่วน CLI-Anything ห่อซอฟต์แวร์ GUI ให้กลายเป็น CLI ใช้คู่กันได้
Top comments (0)