交互式笔记本服务

Grokbook是一个交互式笔记本服务器,用于学习计算机科学,提供代码单元格、Markdown支持和持久化IPython内核,内置MCP服务器允许AI导师创建和管理笔记本。

  • by marco-jeffrey
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 marco-jeffrey/grokbook

使用说明

grokbook

用于学习计算机科学的交互式笔记本服务器。其工作原理类似于Jupyter——代码单元、markdown、持久IPython内核——带有内置的MCP服务器,因此AI导师可以为您创建和管理笔记本。

嘿,你能在Grokbook中创建一个关于LLM和变压器架构的新项目,并创建一个第一个笔记本来教我PyTorch中的注意力机制吗?逐步介绍注意力的不同组成部分,并使用markdown和代码给我一个全面的介绍。

安装

需要 Python 3.14+ 和 紫外线如果你没有Python 3.14,.uv会自动安装它。

立即运行(推荐)

uvx grokbook

就是这样。打开笔记本UI 本地主机:8080 以及端口8081上的MCP服务器。首次运行时会创建一个欢迎笔记本。

如果你 cd 放入项目目录中 .venv 首先,grokbook汽车选择 .venv 作为内核,这样你的项目库就可用了。否则,您将从 kernel: 标题中的下拉列表(或粘贴任何Python路径)。

永久安装

uv tool install grokbook
grokbook                   # now on your PATH

来源(dev)

git clone https://github.com/marco-jeffrey/grokbook.git
cd grokbook
uv sync
uv run grokbook

用法

uvx grokbook               # or just `grokbook` after uv tool install

旗帜:

uvx grokbook --port 3000                      # different port
uvx grokbook --python /path/to/python         # explicit kernel interpreter
uvx grokbook --allow-code-execution           # enable execute tools for MCP

内核自动检测

Grokbook在启动时按以下顺序选择Python解释器:

  1. --python CLI标志(显式覆盖)
  2. $VIRTUAL_ENV (如果你的shell中有一个env处于活动状态)
  3. ./.venv/bin/python 或 ./venv/bin/python 在当前目录中
  4. 第一 uv-通过以下方式找到托管Python uv python list
  5. 回退到Python grokbook正在运行

如果所选口译员缺失 ipykernel,grokbook通过以下方式自动安装 uv pip install --python <env> ipykernel.

你也可以 为每个笔记本电脑切换内核 从UI:单击 kernel: 标题中的下拉列表→ 选择任何发现的env,或在底部粘贴自定义路径。自定义路径保留在 ~/.grokbook/custom_envs.json.

远程访问(尾秤/LAN)

默认情况下,grokbook绑定到 127.0.0.1 (仅限本地主机)。要从其他计算机访问:

grokbook serve --host 0.0.0.0

笔记本服务器和MCP服务器都绑定到所有接口。从另一台机器访问 http://<ip>:8080.

警告Grokbook执行任意Python代码。不要将其暴露在不受信任的网络中。

CLI参考

grokbook [OPTIONS]                # Start notebook + MCP servers (= grokbook serve)
grokbook serve [OPTIONS]          # (explicit form)
  --host TEXT                     # Bind address (default: 127.0.0.1)
  --port, -p INT                  # Notebook server port (default: 8080)
  --mcp-port INT                  # MCP server port (default: 8081)
  --python PATH                   # Python interpreter for kernels
  --db PATH                       # Database file (default: ~/.grokbook/grokbook.db)
  --allow-code-execution          # Enable execute/kernel tools in MCP

grokbook mcp [OPTIONS]            # MCP server standalone (stdio, for Claude Desktop)
  --allow-code-execution          # Enable execute/kernel tools

MCP集成

启动时,grokbook会打印一个MCP配置块,您可以直接粘贴到Claude Desktop或LM Studio中:

{
  "mcpServers": {
    "grokbook": {
      "command": "uvx",
      "args": ["grokbook", "mcp", "--allow-code-execution"],
      "env": {
        "GROKBOOK_API_URL": "http://localhost:8080/api"
      }
    }
  }
}

省略 --allow-code-execution 以限制MCP服务器仅进行读/写操作(不执行代码)。

这 grokbook mcp 命令在Claude Desktop的stdio模式下运行。对于基于HTTP的MCP客户端(LM Studio、远程代理),启动时端口8081上的内置MCP服务器已经在运行 grokbook serve.

始终可用: list_notebooks, get_notebook, create_notebook, rename_notebook, duplicate_notebook, list_projects, create_project, rename_project, move_notebook, create_cell, insert_cell, read_cell, write_cell, delete_cell, move_cell, duplicate_cell, change_cell_type, clear_output, clear_all_outputs

随着 --allow-code-execution: execute_cell, run_all_cells, kernel_status, restart_kernel, get_variables, interrupt_kernel

要通过MCP启用代码执行:

grokbook serve --allow-code-execution

特性

  • 代码单元格 具有流式执行、丰富的输出(图像、HTML、SVG、pandas表)
  • Markdown单元格 带有GitHub风格的渲染
  • 持久IPython内核 --每个笔记本一个,变量在单元格之间传递
  • 每个笔记本内核选择器 --自动发现 uv, .venv还有朱皮特·克内尔斯佩克斯;安装 ipykernel 只需单击一下即可进入任何环境
  • 键盘驱动 --类似Vim的命令/编辑模式(j/k、a/b、dd、Shift+Enter)
  • 进口 朱庇特 .ipynb 文件
  • 变量检查器 面板
  • 黑暗/光明主题,宽模式,自动补全,签名工具提示
  • 实时同步 通过SSE跨浏览器选项卡

键盘快捷键

Grokbook使用两种模式,灵感来自Vim:

命令模式 (按 Escape 进入):

关键 行动
j / k 在单元格之间导航
Enter 编辑所选单元格
a / b 在上方/下方插入单元格
m 转换为降价
y 转换为代码
dd 删除单元格
Cmd+Shift+Up/Down 向上/向下移动单元格

编辑模式 (按 Enter 或单击单元格):

关键 行动
Shift+Enter 执行单元格,移动到下一个
Cmd+Enter / Ctrl+Enter 执行牢房,待在原地
Escape 返回命令模式
Tab / Shift+Tab 缩进/删除

Vim模式

从编辑器设置面板(齿轮图标)启用Vim键绑定。激活时:

  • 代码单元中的完整Vim运动(正常、插入、视觉模式)
  • jk 映射到 Escape 在插入模式下快速切换模式
  • 正常模式下的块光标,插入模式下的行光标

建筑

Browser ──SSE──▶ Stario server (:8080) ──ZMQ──▶ IPython kernel
   │                  │
   │  Datastar        │  SQLite (~/.grokbook/grokbook.db)
   │  (reactive       │
   │   signals)       ├── REST API (/api)
   │                  │
   ▼                  ▼
 DOM patches      MCP server (:8081)
 via SSE          (FastMCP, for LLM agents)

许可证

麻省理工学院