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 编码助手。它增加了聊天侧边栏、内联代码生成、自动补全以及一个可以创建、编辑和执行笔记本单元的编程代理。该助手可以与多种大型语言模型 (LLM) 后端对接:GitHub Copilot、任何兼容 OpenAI 或 LiteLLM 的端点、本地 Ollama 模型,或 Anthropic 的 Claude (通过 Claude Code CLI)。
主要功能
- 聊天面板 – 左侧聊天 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
- 点击 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、Token 限制、Claude 的权限模式以及管理员可锁定的策略(例如是否允许自动运行、是否显示绕过权限模式等)。规则集 (markdown 文件) 可放置在 ~/.jupyter/nbi/rules/ 中以注入自定义系统提示指令。
管理 – 某些实验性功能(ACP 代理、完全访问绕过权限)在管理员通过环境变量策略 (NBI_ACP_EXPERIMENTAL_POLICY, NBI_CLAUDE_BYPASS_PERMISSIONS_POLICY, …) 启用前是隐藏的。管理员还可以限制确认行为并锁定 UI 开关。
授权 – 本项目以开源许可证发布(请参阅存储库的 License 部分)。
相关
- 项目
- Dispatch
- 项目
- 项目
- 项目