plmbr/notebook-intelligence
A JupyterLab extension supporting Claude Code, Copilot, Ollama, and OpenAI-compatible LLMs, with MCP, skills, plugins, and notebook agents.
Notebook Intelligence (NBI)
소개 – JupyterLab 내부에서 작동하는 오픈소스 AI 코딩 어시스턴트입니다. 채팅 사이드바, 인라인 코드 생성, 자동 완성, 그리고 노트북 셀을 생성·편집·실행할 수 있는 프로그래밍 가능한 에이전트를 추가합니다. 이 어시스턴트는 GitHub Copilot, OpenAI 또는 LiteLLM 호환 엔드포인트, 로컬 Ollama 모델, Anthropic의 Claude(Claude Code CLI 경유) 등 다양한 대규모 언어 모델(LLM) 백엔드와 대화할 수 있습니다.
주요 기능
- 채팅 패널 – 왼쪽 사이드바의 채팅 UI에서 모델과 대화하고, 이미지를 첨부하며, 특수 참여자(
@workspace,@mcp등)를 호출하여 도구로 요청을 라우팅할 수 있습니다. - 인라인 코드 생성 – 셀의 불꽃 아이콘을 클릭(또는
Ctrl+G/Cmd+G누름)하여 팝오버를 열고 코드 제안을 받습니다.Ctrl+Enter로 적용합니다. - 자동 완성 – 코드 셀이나 Python 파일 편집기에서 입력하는 동안 제안이 나타납니다.
Tab키로 적용합니다. - 에이전트 모드
- 기본 에이전트 – 채팅에서 직접 노트북을 생성/편집/실행합니다.
- ACP 에이전트 – 외부 Agent Client Protocol 서비스(현재 OpenAI Codex)와 통신하는 실험적 모드로, 관리자의 활성화가 필요합니다.
- Claude 모드 – Claude Code CLI가 설치된 경우, 채팅 패널은 Claude Code를 통해 실행되며 인라인/채팅 기능은 Anthropic 모델을 사용합니다. 이를 통해 Claude 전용 도구, 기술 및 Model Context Protocol (MCP) 서버를 JupyterLab으로 가져올 수 있습니다.
- Chatbook – 자연어로 셀을 작성할 수 있는 노트북(
NL배지). 프롬프트 셀을 실행하면 노트북의 활성 커널에 대한 코드가 생성 및 실행되며, 확인 동작은 구성 가능합니다. - 셀 출력 작업 – 셀 출력을 우클릭하거나 마우스를 올리면 모델에게 오류 설명, 후속 질문, 문제 해결을 요청할 수 있으며, 출력이 컨텍스트로 전송됩니다.
- 툴바 생성 – 노트북 툴바의 불꽃 아이콘을 통해 팝오버를 열어 해당 노트북으로 생성 범위를 제한할 수 있으며, 다중 노트북 세션에서 유용합니다.
- 다국어 인식 – NBI는 활성 커널과 언어를 감지하여 생성된 코드가 노트북의 언어(Python, R 등)와 일치하도록 보장합니다.
- 파일 변경 재로드 – 저장되지 않은 편집 내용이 없는 경우, 디스크에서 기본 파일이 변경되면 열려 있는 탭이 자동으로 새로 고침됩니다.
시작하기
pip install notebook-intelligence # Python 패키지 설치
jupyter lab # 실행 중인 경우 재시작
- JupyterLab 왼쪽 사이드바의 새로운 NBI 아이콘을 클릭하여 채팅 패널을 엽니다.
- Settings (톱니바퀴 아이콘) → Notebook Intelligence Settings를 엽니다.
- LLM 제공자에 로그인합니다:
- GitHub Copilot – Sign in 클릭.
- OpenAI/LiteLLM – API 키 붙여넣기.
- Ollama – 실행 중인 로컬 데몬 지정.
- Claude – Claude mode를 활성화하고 Claude Code CLI가
PATH에 있는지 확인(또는NBI_CLAUDE_CLI_PATH설정).
- 채팅 패널에 메시지를 입력하고 Enter를 누릅니다.
구성 – 설정은 ~/.jupyter/nbi/ (JSON 파일)에 저장됩니다. 제공자 선택, 모델 ID, 토큰 제한, Claude의 권한 모드, 관리자가 잠글 수 있는 정책(자동 실행 허용 여부, 권한 우회 모드 표시 여부 등)을 조정할 수 있습니다. 규칙 세트(markdown 파일)를 ~/.jupyter/nbi/rules/에 배치하여 사용자 지정 시스템 프롬프트 지침을 주입할 수 있습니다.
관리 – 일부 실험적 기능(ACP 에이전트, 전체 액세스 우회 권한)은 관리자가 환경 변수 정책(NBI_ACP_EXPERIMENTAL_POLICY, NBI_CLAUDE_BYPASS_PERMISSIONS_POLICY 등)을 통해 활성화하기 전까지 숨겨져 있습니다. 관리자는 확인 동작을 제한하고 UI 토글을 잠글 수도 있습니다.
라이선스 – 이 프로젝트는 오픈소스 라이선스에 따라 릴리스되었습니다(저장소의 License 섹션 참조).
관련
- 프로젝트
- Dispatch
- 프로젝트
- 프로젝트
- 프로젝트