配置
設定
您可以設定 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.maxTurns | number | 50 | 每個工作階段的最大代理輪數(0 = 無限制) |
session.defaultMode | string | "agent" | 啟動工作階段時的預設模式 |
session.mcp | boolean | true | 預設啟用 Model Context Protocol (MCP) 伺服器 |
session.subagents | boolean | true | 預設啟用子代理生成 |
logging.logLevel | string | "warn" | 日誌詳細程度(error、warn、info、debug、trace) |
tasks.retentionDays | number | 30 | 保留任務歷史的天數。設定為 0 可停用自動清理並無限期保留所有任務歷史。 |
telemetry.enabled | boolean | true | 是否傳送使用遙測資料。停用後將不再收集使用資料。 |
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 模型提供指示。這些檔案以層次方式載入:
- 全域上下文:
~/.bob/AGENTS.md(套用至所有專案) - 專案上下文:專案根目錄及父目錄中的
AGENTS.md - 本地上下文:子目錄中的
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
}
}這個主題如何?