啟動互動式工作階段
互動式工作階段在您的終端機中提供與 Bob 對話的介面,讓您能即時獲得開發任務的協助。

何時使用互動式工作階段
互動式工作階段最適合用於:
- 探索性的程式設計工作階段。
- 除錯和疑難排解。
- 學習新概念或技術。
- 需要多次來回交流的任務。
- 需要在套用變更前審查的專案。
啟動互動式工作階段
使用 bob chat 子命令在您的終端機中啟動互動式工作階段。
語法
bob chat [options]開始工作階段
開啟新的終端機視窗。
當您第一次啟動 Bob Shell 時,必須使用 IBMid 登入並接受授權合約。
切換至您專案的主目錄。
執行以下指令以啟動互動式工作階段:
bob chat有效使用的技巧
- 在請求中具體說明,以獲得更有針對性的回應。
- 需要時使用
@參照提供程式碼上下文。 - 對於複雜的任務,將其分解為較小的步驟。
- 使用 slash commands 快速存取常用功能。
- 處理大型程式碼庫時,將 Bob Shell 導向最相關的檔案。
基本用法
與 Bob Shell 互動
- 直接在終端機中輸入您的指示或問題。
- 按 Enter 將訊息傳送給 Bob。
- Bob Shell 回應其分析結果和建議。
- 當使用工具時(例如讀取或寫入檔案),系統會提示您批准或拒絕每個操作。
工具批准
當 Bob Shell 請求使用工具時,會出現批准對話框。對話框提供以下選項:
| 選項 | 說明 |
|---|---|
| Approve Once | 允許此特定工具呼叫繼續進行。未來的呼叫仍會再次提示您。 |
Approve <group> tools for task | 允許同一工具群組中的所有工具在任務剩餘時間內繼續使用。MCP 工具不會顯示此選項。 |
| Always Allow Command for task | 允許特定的 shell 命令在任務剩餘時間內繼續使用。 |
| Reject | 拒絕工具呼叫。Bob Shell 不會繼續執行該操作。 |
您也可以在批准或拒絕呼叫時加入選擇性備註。備註將作為額外上下文轉交給模型。
若要在不開啟審核對話框的情況下切換自動批准,請在 macOS 上按 Ctrl+F,在 Windows、Linux 和 WSL 上按 Alt+F。
按 Escape 可在 Bob 串流回應時中斷。
多輪對話
Bob Shell 在整個對話過程中維持上下文,允許您:
- 提出後續問題。
- 細化先前的請求。
- 在先前回應的基礎上繼續。
參照檔案和資源
使用 @ 符號參照您專案中的檔案:
Explain the functionality in @src/main.js這會告知 Bob Shell 在回應前讀取並分析指定的檔案。
- 每個檔案最多內嵌 100 KB。
- 所有
@提及的總內嵌內容上限為 500 KB。 - 目錄最多顯示 50 個項目。
您也可以使用 server:resource-name 格式參照已連接伺服器所提供的 Model Context Protocol (MCP) 資源:
@my-server:schema.json參照技能
輸入 $ 後接技能名稱,即可開啟技能選擇器並將技能參照插入您的提示中。
檢視檔案變更
當 Bob Shell 需要修改檔案時,它會以 CLI diff 視圖將建議的變更顯示在終端機中。
使用 slash commands
輸入 / 以存取可用命令選單:
- 內建命令,例如
/help取得協助 - 模式切換命令,例如
/mode ask - 您自行建立的自訂命令
完整的可用命令清單,請參閱 Bob Shell 中的 slash commands。
訊息佇列
當 Bob 正在串流回應時,您可以將額外訊息加入佇列,而不必等待。按 Tab 將目前輸入加入佇列。佇列中的訊息將在每個回合完成後依序自動傳送。
| 按鍵 | 動作 |
|---|---|
Tab | 將目前輸入加入佇列(閒置時立即提交) |
↑ | 將焦點移至佇列清單 |
Enter | 編輯選取的佇列項目 |
Tab(在佇列中) | 立即傳送選取的項目 |
Delete / Backspace | 從佇列中移除選取的項目 |
Shift+K / Shift+J | 將選取的項目上移 / 下移 |
狀態頁尾
輸入欄位下方的頁尾顯示即時工作階段資訊:
| 欄位 | 說明 |
|---|---|
| Mode | 目前的模式名稱(例如 Agent Mode)——啟用自動批准時會顯示紅色的 (auto-approve) 後綴 |
| Context | 已使用的 token 數量與上下文視窗大小的比較,以及百分比 |
| Cost | 目前任務累計的費用,以 Bobcoins(🅞)計算 |
工作階段管理
恢復先前的工作階段
您可以在啟動 bob chat 時恢復先前的工作階段:
bob chat --resume <task-id>
bob chat --resume latest若要找到先前工作階段的任務 ID,請使用 bob --list-tasks:
bob --list-tasks連接至具名實例
使用 --instance-id 連接至特定的具名實例,而非啟動新實例:
bob chat --instance-id my-project通用實用旗標
某些旗標直接透過 bob 呼叫,而非 bob chat 或 bob run。可用旗標如下:
| 旗標 | 說明 |
|---|---|
--list-tasks [n|all] | 列出目前工作區的已儲存任務並結束。預設為 20。傳遞數字或 all 以控制顯示數量。 |
--limit <n> | 使用 --list-tasks 顯示的最大任務數。 |
--show-license | 顯示 IBM 授權合約並結束。 |
機器可讀輸出
當 stdout 不是 TTY 時——例如,當您透過管道或重新導向輸出時——--list-tasks 會從人類可讀的表格切換為 NDJSON,每行一個 JSON 物件。
每行的格式如下:
{"id":"<uuid>","title":"<string>","status":"<string>","workspace":"<file-uri>","updatedAt":<unix-ms>}| 欄位 | 類型 | 說明 |
|---|---|---|
id | string (UUID) | 唯一任務識別碼,可與 --resume 搭配使用 |
title | string | 任務標題,回退至第一則訊息,然後是 id |
status | string | 任務狀態(active、completed、paused) |
workspace | string (file URI) | 工作區的絕對路徑,格式為 file: URI |
updatedAt | number | 最後更新時間戳記(Unix 毫秒) |
範例
# 透過管道傳遞給 jq
bob --list-tasks all | jq '.id'
# 儲存至檔案後處理
bob --list-tasks 100 > tasks.ndjson
# 顯示授權合約
bob --show-license選項
| 選項 | 說明 |
|---|---|
--instance-id <id> | 連接至特定的具名實例,而非啟動新實例 |
--resume <task-id> | 透過任務 ID 恢復先前的任務 |
--resume latest | 恢復最近的任務 |
--mode <mode> | 起始模式(例如 agent、plan、ask) |
--log-level <level> | 日誌詳細程度:error、warn、info、debug 或 trace |
--auto-approve | 抑制工作階段的工具批准提示。在不受信任的資料夾中無效。 |
--trust | 將目前資料夾持久化為受信任,跳過首次存取的信任對話框。等同於手動選擇「信任資料夾」。請參閱受信任的資料夾。 |
--team-id <id> | 在特定團隊 ID 下執行(使用 general 類型的 API 金鑰時必需) |