구성하기
워크플로 환경에 맞게 Bob Shell을 구성할 수 있습니다.
설정 파일 위치
Bob Shell은 두 위치에 설정을 저장합니다:
| 범위 | 파일 |
|---|---|
| 사용자 (모든 워크스페이스) | ~/.bob/settings/settings.json |
| 프로젝트 (현재 워크스페이스) | <workspace>/.bob/ |
CLI 플래그는 현재 세션에 대해 항상 파일 값보다 우선합니다. bob chat 내에서 /settings 슬래시 명령어를 통해 대화형으로 설정을 변경할 수도 있습니다.
설정 스키마
{
"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 | 사용 텔레메트리 전송 여부. 비활성화하면 사용 데이터가 수집되지 않습니다. |
tasks.retentionDays를 0으로 설정하는 것은 Bob Shell 2.0.1 이상에서만 가능합니다. 이전 버전에서 이 값을 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 슬래시 명령어를 사용하여 최신 로그 파일을 직접 열 수도 있습니다.
컨텍스트 파일
컨텍스트 파일(예: 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
}
}