ACP 통합
ACP 호환 편집기를 Bob Shell에 일급 AI 어시스턴트로 연결하세요.
Bob Shell은 Agent Client Protocol (ACP) 서버로 실행될 수 있습니다. 연결되면 편집기가 스레드 UI, 권한 대화 상자, diff를 관리하고, Bob이 런타임을 관리합니다: 모델 접근, tool, MCP 서버 및 셸 실행.
ACP는 Language Server Protocol이 언어 툴링에서 하는 역할을 코딩 에이전트에서 합니다: 하나의 JSON-RPC 계약, 여러 편집기, 여러 에이전트. 로컬 에이전트는 stdin과 stdout을 통해 편집기와 통신합니다.
지원되는 편집기
다음 편집기는 Bob Shell에 대한 ACP 연결을 지원합니다:
- Zed
- IntelliJ IDEA
- Neovim
시작하기
Bob Shell을 ACP 서버로 시작합니다:
bob acp프로세스는 stdin에서 JSON-RPC를 기다립니다. 편집기의 ACP 구성을 통해 시작하세요; 터미널에서 직접 실행하면 멈춘 것처럼 보입니다.
편집기의 ACP 구성 지침에 따라 bob acp 프로세스에 연결하세요. 프로토콜에 대한 자세한 내용은 ACP 사양을 참조하세요.
인증
Bob은 ACP 초기화 중에 인증을 수행합니다. **bob acp**를 시작하는 환경에 BOBSHELL_API_KEY가 설정되어 있으면 Bob은 키를 사용하며 추가 작업이 필요하지 않습니다.
API 키나 저장된 토큰이 없으면 편집기가 SSO를 통해 인증을 요청합니다. 브라우저 흐름을 한 번 완료하면 Bob이 토큰을 저장하여 같은 머신의 이후 ACP 세션에서 재사용합니다.
Workspace 신뢰
Bob은 세션을 생성하기 전에 workspace 신뢰를 확인합니다. 신뢰되지 않은 workspace는 세션 생성에 실패합니다. Workspace를 신뢰하려면 해당 디렉토리에서 터미널을 열고 Bob Shell을 대화형으로 실행하세요:
cd /path/to/project
bob신뢰가 기록된 후 종료하고 편집기를 통해 다시 연결하세요.
임시 또는 일회성 환경에서는 ACP 인수에 --trust를 전달하세요. 트레이드오프는 명령 옵션을 참조하세요.
MCP 서버
편집기와 Bob 모두 세션에 MCP 서버를 제공할 수 있습니다. 두 서버 세트 모두 동일한 Bob 세션 하네스 내에서 초기화되므로 중복 구성을 놓치기 쉽습니다.
각 MCP 서버에 대해 하나의 소유자를 선호하세요. MCP tool이 예기치 않게 누락된 경우 편집기의 MCP 설정과 Bob의 기본 MCP 구성을 모두 확인하세요.
각 ACP 세션은 구성된 MCP 서버와 함께 자체 하네스를 생성합니다. 로컬 MCP 서버는 활성 Bob 스레드당 한 번 시작될 수 있습니다. 특히 서버가 JVM, 컨테이너 또는 로컬 모델을 시작할 때 많은 병렬 스레드를 열기 전에 리소스 사용을 모니터링하세요.
편집기 터미널과 비교한 Bob Shell
Bob Shell은 편집기 터미널이 아닌 자체 자식 프로세스에서 명령을 실행합니다. 편집기 터미널에서 작동하는 명령이 bob acp 프로세스가 다른 PATH, 작업 디렉토리 또는 환경을 상속한 경우 Bob Shell에서 실패할 수 있습니다.
실행 중인 편집기 터미널에서 수행하는 변경 사항(cd 또는 export 등)은 Bob Shell에 도달하지 않습니다. 시작 환경을 업데이트하면 ACP 스레드를 다시 시작하세요.
명령 옵션
**bob acp**로 시작하고 특정 이유가 있을 때만 옵션을 추가하세요:
| 옵션 | 설명 |
|---|---|
--log-level <level> | 로그 상세도를 설정합니다: debug, info, warn, error 또는 silent. BOB_LOG_LEVEL 환경 변수를 통해서도 구성할 수 있습니다. |
--trust | 이 ACP 서버가 여는 모든 workspace를 신뢰합니다. 이 옵션은 프로젝트 수준 경계를 제거하므로 영구적인 편집기 구성에 포함하지 마세요. |
--auto-approve | 권한 프롬프트를 표시하지 않고 모든 tool 호출을 승인합니다. 이 옵션은 단일 tool에 대해 항상 허용을 선택하는 것보다 광범위합니다. |
--disable-mcp | MCP 서버 초기화를 건너뜁니다. 세션 시작 실패를 분리하려면 이 옵션을 사용하세요. |
--disable-subagents | 작업에 위임이 필요하지 않을 때 Bob의 서브에이전트 tool 등록을 생략합니다. |
--accept-license | 서버 시작 전에 라이선스 동의를 기록합니다. 먼저 bob --show-license acp를 실행하여 라이선스 파일을 검토하세요. |
--trust와 --auto-approve를 함께 사용하면 workspace 게이트와 tool별 승인이 모두 제거됩니다. 프롬프트는 서버가 여는 모든 workspace에서 추가 확인 없이 작동할 수 있습니다. 기본 편집기 구성에 두 옵션을 모두 포함하지 마세요.