Theme / v2.1.15

Chat On Steroids

把 ChatGPT 對話變成會寫程式、會派工的本地開發環境

實戰範例

第一次連線與專案探索

完成 Core 連線後的第一次對話。讓 ChatGPT 用 read 與 exec_command 自己摸清一個陌生專案,並理解它實際看到什麼、哪些邊界不能踩。

第一次連線與專案探索

你剛裝好 Chat On Steroids(以下簡稱 CoS),在 ChatGPT 的 Developer mode 裡建立好 Core 自訂 App,companion 擴充套件也載入了。但接下來的問題很實際:ChatGPT 還不認識你的專案,直接叫它改程式只會得到一段憑空想像的答案。

這篇範例走一次標準的「破冰對話」:讓 ChatGPT 自己讀檔案、跑幾個唯讀指令,把專案長相建立起來。


情境

你接手了一個小專案 receipt-cli:Node.js + TypeScript 寫的命令列工具,把 CSV 帳單轉成收據。你在 CoS 的 Settings → Workspace 核准了專案資料夾,Core 連線正常,companion 擴充套件也配對完成。現在開一個全新的 ChatGPT 對話,這次不寫程式,只做探索。

還沒完成安裝、tunnel 與自訂 App 的設定?先看安裝與啟動。

目標

讓 ChatGPT 在不依賴你口頭描述的情況下回報三件事:

  1. 這個專案做什麼、怎麼跑。
  2. 程式的入口在哪。
  3. 稅金計算的邏輯寫在哪個檔案、哪個函式。

步驟一:確認 Core 的權限與工具

連線後,ChatGPT 的對話裡應該看得到 Core 這個 App。CoS 端對照幾件事:

  • Settings → Workspace 已核准 receipt-cli 資料夾。
  • Core 權限中,讀取與命令執行已開啟。全新安裝預設啟用 Core 能力,Read-only 模式則是移除寫入、命令執行與桌面控制的那個開關。
  • 這個範例只需要 Core,不需要 Desktop 或 Plugins。

步驟二:給 ChatGPT 的 prompt

I just connected Chat On Steroids' Core app, and I'm in a new repo called
receipt-cli that I have never opened.

Explore the project:
1. Read package.json, README.md, and list the files under src/.
2. Find where tax calculation lives (look for something like applyTax).
3. Tell me how to run the CLI and how to run its tests.

Then summarize: what this project does, its entry point, and which file
and function contain the tax logic. Read-only exploration — do not modify
anything yet.

最後一句是紀律:探索階段先不要寫入,改動留到修一個失敗的測試。

預期的工具呼叫序列

1. read(paths: ["package.json", "README.md", "src"])
   → 前兩者回檔案內容;目錄會回單層列表
2. exec_command(cmd: "rg -n \"applyTax\" src")
3. read(paths: ["src/index.ts", "src/tax.ts"])
  • 第 1 步把多個目標塞進同一次 read。它支援一次多個路徑、目錄單層列表、有界 glob 與行號範圍;單檔預設回傳上限 256 KB,單次呼叫總量上限 512 KB。批次讀取是省連接器回合、也省內容視窗的正確用法。
  • 第 2 步用 exec_command 搜尋。它跑的是你作業系統的真實 shell:Windows 是 PowerShell/cmd,macOS/Linux 是你慣用的 POSIX shell。
  • 若這個連接器快照沒有命令執行能力,ChatGPT 端看到的可能是搜尋替代工具 find(檔名與文字搜尋,不給 shell)。
  • 如果你的對話裡 ChatGPT 常常忘記呼叫 Core,直接在 prompt 指名它要用這些工具即可,不需要背什麼魔法句。

以上參數名稱是示意;實際欄位以連接器當下暴露的 schema 為準,完整清單見工具速查。

ChatGPT 到底「看」到了什麼

  • 檔案工具受核准資料夾約束:檔案路徑會被 App 驗證,超出你核准的根目錄會被拒絕。
  • 但 exec_command 不受核准資料夾限制:它從你核准的工作目錄起步,接著以你的一般使用者權限執行。這是它強大、也是工具表面與權限要把界線講清楚的地方——探索陌生專案時,只讓它跑唯讀指令(rg、目錄列表、npm test 之類)。
  • 探索會消耗內容視窗:認知越多、後續修改越準,但大專案要記得換對話,或交給 Compact & Resume。

驗收方式

ChatGPT 最後應回報類似:receipt-cli 是一個把 CSV 轉收據的 Node.js CLI,入口在 src/index.ts,稅金計算在 src/tax.ts 的 applyTax(),用 npm run cli 執行、npm test 跑測試。你沒有貼過任何一行程式碼。

如果它答得含糊,最常見的原因不是模型不行,而是它根本沒去讀——請它在回答前列出實際呼叫過的工具與讀過的檔案。

注意事項

  • 每個新專案的第一句話,都值得花一次對話做探索,不要跳過。
  • 想讓 ChatGPT 預先理解專案慣例,把 AGENTS.md 之類的說明放在專案根目錄,並在 prompt 裡指名它去讀。
  • 探索階段建議把 CoS 切到 Read-only 模式;要開始修改時再打開,並先 git commit 一個乾淨的 checkpoint。