Theme / v0.5.0

CatDesk

把 ChatGPT Web 變成本地 Coding Agent

指令詳解

MCP 工具對照表

CatDesk 暴露給 ChatGPT 的 10 個 MCP 工具完整對照表,含唯讀模式與長時任務模式。

MCP 工具對照表

CatDesk 有兩種本地工具模式:multi-tools(多工具)暴露 10 個工具,read-only(唯讀)只暴露 3 個。本文是完整對照表,以及長時任務 (long-running job) 的正確使用模式。


multi-tools 模式:10 個工具

工具 類型 行為
catdesk_instruction Guide 回傳 CatDesk 使用說明,並渲染 Binagotchy
read Read 讀取 workspace 中一或多個文字檔
search Read rggrep 或內建搜尋器搜尋 workspace 內文字
write Write 建立或覆寫檔案
edit Write 以原子方式 (atomic) 套用帶防護的 replace/range 編輯
delete Write 刪除檔案或目錄
run_command Shell 執行短 shell 指令並等待完成
start_command Job 啟動長時 shell 指令,立即回傳 job ID
poll_command Job 讀取背景指令的增量輸出與狀態
cancel_command Job 停止背景指令及其整個子程序樹

read-only 模式:3 個工具

唯讀模式只開放 3 個工具。上游 README 僅註明「3 個」而未逐一列名,一般理解為 Guide / Read 類工具(catdesk_instructionreadsearch),實際清單以 TUI 顯示為準:

  • catdesk_instruction
  • read
  • search

適合想讓 ChatGPT 只看程式碼、不動檔案的場景。


長時任務模式:start → poll → drain

長時指令刻意與 MCP HTTP 請求的生命週期解耦 (decouple)。建置、編譯、相依套件安裝、長測試套件、開發伺服器,都應該走這條路:

  1. start_command:啟動指令,立即拿到 job ID 與初始 cursor
  2. poll_command:帶著 cursor 輪詢,取得增量輸出與狀態

關鍵細節:poll 回應的輸出量有上限 (bounded)。若回應中 hasMoreOutputtrue即使指令已到達終態 (terminal state),也要繼續用 nextCursor 輪詢,把緩衝區裡剩下的輸出排乾 (drain),否則會漏掉結尾日誌。

run_command 的 120 秒上限

run_command 是短指令的簡單路徑,等待完成後直接回傳結果。最長 120 秒逾時 (timeout),超時即失敗。任何可能跑超過 2 分鐘的指令,改用 start_command + poll_command


瀏覽器模式的額外工具

若啟用瀏覽器模式 (browser mode),CatDesk 會額外暴露瀏覽器 / DevTools 工具。這些工具由 chrome-devtools-mcp 橋接 (bridge) 提供,實際清單取決於你的環境,不是固定集合。

search 的後備鏈

search 工具依以下順序挑選搜尋後端:

  1. rg(ripgrep)— 有裝就用,效能最好
  2. grep — 沒有 ripgrep 時退回
  3. 內建掃描器 (built-in scanner) — 最後手段

安裝 ripgrep 是可選的,但對大型 workspace 的搜尋速度幫助明顯。安裝方式見安裝與啟動 CatDesk