人告訴 AI 該做什麼。但選單、載入動畫、密碼 欄位與各種 agent CLI,對一條單純的管線來說全都是看不見的。SmartCLI 讓 模型能感知畫面、按下按鍵並確認結果 —— 就像 真人一樣。
把一個全螢幕程式接上管線,你什麼都拿不到,不然就是卡住。 改用 SmartCLI 來操控,模型就能讀取語意化快照、用方向鍵 移動,並驗證每一個步驟。
每種技能都是獨立完整的工具,建立在同一套可插拔 PTY +
pyte 螢幕模型之上。
感知 → 決策 → 行動 → 等待 → 確認。讀取語意化的畫面 快照,絕不盲目 sleep。判斷畫面類型並加以操控。
一套活範本式的 fx 引擎:純粹的畫格產生器,
自動探索、可套主題、支援 truecolor。有界的播放迴圈。
類似網頁的排版引擎,輸出 tmux 安全的 ANSI 畫格。CSS 盒模型、 flex/grid,CJK 精準對齊,欄位永不錯位。
這些跑的就是技能所附的同一批原語 —— 即時運作,就在你的 瀏覽器裡。動手戳戳看。
SmartCLI 以感知 → 行動 → 確認的迴圈,直接操控貨真價實的
lazygit TUI —— 用方向鍵在面板間移動、開啟某個 commit 的 diff、把某個分支
反白起來 —— 這一切全靠讀取 pyte 的儲存格網格(哪一列被選取、
是不是 alt-screen)來完成。這是在 Linux 容器裡直接操控真實程式所擷取的,
不是腳本。像 pexpect 這種逐位元組串流比對器無法感知「哪一列被反白」;
畫面模型卻可以。
:wq每一段影片都是 SmartCLI 在操控真實的程式 —— 讀取 pyte 畫面網格並按下按鍵,而不是腳本產生的 輸出。像 pexpect 這種逐位元組串流比對器無法感知「哪一列被反白」;畫面模型 卻可以。
真正困難、也真正站得住腳的地方:同一個函式庫在三種平台上,
都以同樣的 感知 → 行動 → 確認 迴圈操控同一個真實的
lazygit —— Windows 上用原生 ConPTY、macOS 上用
BSD pty、Linux 上用 Linux pty,各自搭配自適應的
DECCKM/SS3 方向鍵。不用 WSL,也不用 Cygwin。下面每一段影片都是在該作業系統
上真實操控的。
Windows 在 ConPTY 下操控
lazygit 0.63;macOS 在 Apple Silicon M 系列上透過 BSD pty 操控(該處的
DECCKM/SS3 方向鍵路徑已對真實 ncurses 驗證過);Linux 則透過標準函式庫的
pty.fork()。同一份 scripts/tui.py、同一批 recipes,
三種作業系統。
底下每一段片段,都是真正的特效透過專案自家管線
逐格渲染出來的 —— 沒有用螢幕錄影軟體。任何一個都能用
python -m fx play <name> 重現。
SmartCLI 是一個由模型呼叫的工具 —— 不論是哪個 模型在操控、你跑的是哪個 agent CLI,它都能運作。
核心從 PyPI 安裝;技能就地執行。一個
放進來的 drive-tui 資料夾甚至自帶一份核心。