配置

配置

您可以配置 Bob Shell 以匹配您的工作流偏好。

设置文件位置

Bob Shell 将设置存储在两个位置:

作用范围文件
用户(所有工作区)~/.bob/settings/settings.json
项目(当前工作区)<workspace>/.bob/

CLI 标志始终会覆盖当前会话的文件值。您也可以在 bob chat 中通过 /settings slash 命令交互式地更改设置。

设置 Schema

{
  "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/logs/shell/,使用滚动文件(bob-<timestamp>.log)。最多保留 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 命令打开最新的日志文件。

上下文文件

上下文文件(如 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
  }
}
这个主题怎么样?