配置

設定

您可以設定 Bob Shell 以符合您的工作流程偏好。

設定檔位置

Bob Shell 將設定儲存在兩個位置:

範圍檔案
使用者(所有工作區)~/.bob/settings/settings.json
專案(目前工作區)<workspace>/.bob/

CLI 標誌在目前工作階段中始終會覆寫檔案值。您也可以在 bob chat 中透過 /settings slash command 以互動方式更改設定。

設定結構

{
  "session": {
    "maxTurns": 50,
    "defaultMode": "agent",
    "mcp": true,
    "subagents": true
  },
  "logging": {
    "logLevel": "warn"
  },
  "tasks": {
    "retentionDays": 30
  },
  "telemetry": {
    "enabled": true
  }
}
設定類型預設值說明
session.maxTurnsnumber50每個工作階段的最大代理輪數(0 = 無限制)
session.defaultModestring"agent"啟動工作階段時的預設模式
session.mcpbooleantrue預設啟用 Model Context Protocol (MCP) 伺服器
session.subagentsbooleantrue預設啟用子代理生成
logging.logLevelstring"warn"日誌詳細程度(errorwarninfodebugtrace
tasks.retentionDaysnumber30保留任務歷史的天數。設定為 0 可停用自動清理並無限期保留所有任務歷史。
telemetry.enabledbooleantrue是否傳送使用遙測資料。停用後將不再收集使用資料。
Warning:

僅在 Bob Shell 2.0.1 或更高版本中將 tasks.retentionDays 設定為 0。在較早版本中將此值設定為 0 可能會刪除未固定的任務及其歷史記錄。

| telemetry.excludePayload | boolean | — | IBM 用戶:從遙測資料中排除對話負載。僅對已批准的敏感專案啟用。 |

驗證 token(OAuth)單獨儲存在 ~/.bob/settings/auth-secrets.json

日誌檔案

日誌使用輪替檔案(bob-<timestamp>.log)寫入 ~/.bob/logs/shell/。最多保留 10 個日誌檔案;舊檔案會自動清除。日誌檔案輪替前的最大大小為 5 MB。

使用 --log-level debug(或 BOB_LOG_LEVEL=debug)擷取詳細輸出:

BOB_LOG_LEVEL=debug bob chat
bob run --log-level debug "Explain @app.js"

您也可以在工作階段中使用 /logs slash command 直接開啟最新的日誌檔案。

上下文檔案

上下文檔案(例如 AGENTS.md)為 AI 模型提供指示。這些檔案以層次方式載入:

  1. 全域上下文~/.bob/AGENTS.md(套用至所有專案)
  2. 專案上下文:專案根目錄及父目錄中的 AGENTS.md
  3. 本地上下文:子目錄中的 AGENTS.md(用於元件專屬指示)

上下文檔案範例

# Project: My TypeScript Library

## General instructions

- Follow existing coding style
- Add JSDoc comments to all functions
- Prefer functional programming patterns
- Target TypeScript 5.0 and Node.js 20+

## Coding style

- Use 2 spaces for indentation
- Interface names should be prefixed with `I`
- Private class members should be prefixed with `_`
- Use strict equality (`===` and `!==`)

使用統計資料

Bob Shell 收集匿名使用統計資料以改善產品。這包括:

  • 工具使用模式(名稱、成功/失敗、持續時間)
  • API 請求指標(模型、持續時間、成功率)
  • 工作階段設定資訊

不會收集任何個人資訊、提示內容或檔案內容。

若要退出,請在設定檔中將 telemetry.enabled 設為 false

{
  "telemetry": {
    "enabled": false
  }
}
這個主題如何?