配置
配置
您可以配置 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.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/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 模型提供指令。这些文件按层级加载:
- 全局上下文:
~/.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
}
}这个主题怎么样?