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
  1. 点击 JupyterLab 左侧边栏的新 NBI 图标以打开聊天面板。
  2. 打开 Settings (齿轮图标) → Notebook Intelligence Settings。
  3. 登录您的 LLM 提供者:
    • GitHub Copilot – 点击 Sign in。
    • OpenAI/LiteLLM – 粘贴 API 密钥。
    • Ollama – 指向正在运行的本地守护进程。
    • Claude – 启用 Claude mode 并确保 Claude Code CLI 在您的 PATH 中(或设置 NBI_CLAUDE_CLI_PATH)。
  4. 在聊天面板中输入消息并按 Enter。

配置 – 设置存储在 ~/.jupyter/nbi/ (JSON 文件)。您可以调整提供者选择、模型 ID、Token 限制、Claude 的权限模式以及管理员可锁定的策略(例如是否允许自动运行、是否显示绕过权限模式等)。规则集 (markdown 文件) 可放置在 ~/.jupyter/nbi/rules/ 中以注入自定义系统提示指令。

管理 – 某些实验性功能(ACP 代理、完全访问绕过权限)在管理员通过环境变量策略 (NBI_ACP_EXPERIMENTAL_POLICY, NBI_CLAUDE_BYPASS_PERMISSIONS_POLICY, …) 启用前是隐藏的。管理员还可以限制确认行为并锁定 UI 开关。

授权 – 本项目以开源许可证发布(请参阅存储库的 License 部分)。

相关

  • 项目
  • Dispatch
  • 项目
  • 项目
  • 项目