구성

구성하기

워크플로 환경에 맞게 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.maxTurnsnumber50세션당 최대 에이전트 턴 수 (0 = 무제한)
session.defaultModestring"agent"세션 시작 시 기본 모드
session.mcpbooleantrue기본적으로 Model Context Protocol (MCP) 서버 활성화
session.subagentsbooleantrue기본적으로 서브에이전트 생성 활성화
logging.logLevelstring"warn"로그 상세도 (error, warn, info, debug, trace)
tasks.retentionDaysnumber30작업 기록 보관 일수. 0으로 설정하면 자동 정리를 비활성화하고 모든 작업 기록을 무기한 보관합니다.
telemetry.enabledbooleantrue사용 텔레메트리 전송 여부. 비활성화하면 사용 데이터가 수집되지 않습니다.
Warning:

tasks.retentionDays0으로 설정하는 것은 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 모델에 지시사항을 제공합니다. 이 파일들은 계층적으로 로드됩니다:

  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.enabledfalse로 설정하세요:

{
  "telemetry": {
    "enabled": false
  }
}
이 주제는 어떤가요?