[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-jupyterlab--jupyter-ai":3,"tool-jupyterlab--jupyter-ai":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",145895,2,"2026-04-08T11:32:59",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108111,"2026-04-08T11:23:26",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":10,"last_commit_at":59,"category_tags":60,"status":17},4487,"LLMs-from-scratch","rasbt\u002FLLMs-from-scratch","LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目，旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型（LLM）。它不仅是同名技术著作的官方代码库，更提供了一套完整的实践方案，涵盖模型开发、预训练及微调的全过程。\n\n该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型，却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码，用户能够透彻掌握 Transformer 架构、注意力机制等关键原理，从而真正理解大模型是如何“思考”的。此外，项目还包含了加载大型预训练权重进行微调的代码，帮助用户将理论知识延伸至实际应用。\n\nLLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API，而是渴望探究模型构建细节的技术人员而言，这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计：将复杂的系统工程拆解为清晰的步骤，配合详细的图表与示例，让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础，还是为未来研发更大规模的模型做准备",90106,"2026-04-06T11:19:32",[35,15,13,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":67,"readme_en":68,"readme_zh":69,"quickstart_zh":70,"use_case_zh":71,"hero_image_url":72,"owner_login":73,"owner_name":74,"owner_avatar_url":75,"owner_bio":76,"owner_company":77,"owner_location":77,"owner_email":78,"owner_twitter":77,"owner_website":79,"owner_url":80,"languages":81,"stars":86,"forks":87,"last_commit_at":88,"license":89,"difficulty_score":32,"env_os":90,"env_gpu":91,"env_ram":91,"env_deps":92,"category_tags":97,"github_topics":98,"view_count":32,"oss_zip_url":77,"oss_zip_packed_at":77,"status":17,"created_at":103,"updated_at":104,"faqs":105,"releases":106},5653,"jupyterlab\u002Fjupyter-ai","jupyter-ai","An open source extension that connects AI agents to computational notebooks in JupyterLab.","Jupyter AI 是一款专为 JupyterLab 设计的开源扩展，旨在将先进的 AI 智能体无缝接入计算笔记本环境。它通过原生的聊天界面，让用户能够直接与 Claude、Gemini、Mistral 等主流前沿模型协作，从而解决传统编程中上下文切换频繁、代码生成与执行割裂的痛点。\n\n这款工具特别适合数据科学家、研究人员以及需要高效迭代代码的开发者使用。在 Jupyter AI 中，智能体不仅能“读”和“写”文件、运行终端命令，还能直接操作笔记本单元格。其独特的安全机制值得称赞：在执行写入文件或运行命令等关键操作前，系统会强制请求用户授权，确保过程可控。此外，它支持拖拽文件或代码块作为上下文，并允许多人实时协同聊天。\n\n技术层面，Jupyter AI 基于 Agent Client Protocol (ACP) 和 Model Context Protocol (MCP) 等开放标准构建，这意味着它避免了厂商锁定，具有极高的灵活性。用户可以轻松接入自定义的 MCP 服务器以扩展领域专用工具，或开发注册专属的 AI 角色。无论是快速原型开发还是复杂的数据分析，Jupyter AI 都","Jupyter AI 是一款专为 JupyterLab 设计的开源扩展，旨在将先进的 AI 智能体无缝接入计算笔记本环境。它通过原生的聊天界面，让用户能够直接与 Claude、Gemini、Mistral 等主流前沿模型协作，从而解决传统编程中上下文切换频繁、代码生成与执行割裂的痛点。\n\n这款工具特别适合数据科学家、研究人员以及需要高效迭代代码的开发者使用。在 Jupyter AI 中，智能体不仅能“读”和“写”文件、运行终端命令，还能直接操作笔记本单元格。其独特的安全机制值得称赞：在执行写入文件或运行命令等关键操作前，系统会强制请求用户授权，确保过程可控。此外，它支持拖拽文件或代码块作为上下文，并允许多人实时协同聊天。\n\n技术层面，Jupyter AI 基于 Agent Client Protocol (ACP) 和 Model Context Protocol (MCP) 等开放标准构建，这意味着它避免了厂商锁定，具有极高的灵活性。用户可以轻松接入自定义的 MCP 服务器以扩展领域专用工具，或开发注册专属的 AI 角色。无论是快速原型开发还是复杂的数据分析，Jupyter AI 都能让 AI 真正成为你笔记本中的得力助手。","\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fjupyterlab_jupyter-ai_readme_b744b916b5ae.png\" alt=\"Jupyter logo\" width=\"120\">\n\u003C\u002Fp>\n\n\u003Ch1 align=\"center\">Jupyter AI\u003C\u002Fh1>\n\n\u003Cp align=\"center\">\u003Ci>An open source extension that connects AI agents to computational notebooks in JupyterLab.\u003C\u002Fi>\u003C\u002Fp>\n\nJupyter AI brings agentic AI to JupyterLab. It provides a native chat UI where you can collaborate with frontier AI agents — including Claude, Codex, Gemini, Goose, Kiro, Mistral Vibe, and OpenCode — all integrated through the [Agent Client Protocol (ACP)](https:\u002F\u002Fagentclientprotocol.com). Agents are automatically detected when their dependencies are installed, so getting started is as simple as installing Jupyter AI and the agent of your choice.\n\nAgents in Jupyter AI can read and write files, run terminal commands, and interact with notebooks through a built-in [Jupyter MCP server](https:\u002F\u002Fgithub.com\u002Fjupyter-ai-contrib\u002Fjupyter-server-mcp). A permission system gives you guardrails over agent actions — agents request approval before writing files or executing commands. You can also create multiple concurrent chats, drag and drop files or notebook cells as context, and collaborate in real time with other users connected to the same server.\n\nJupyter AI is designed to be flexible and extensible. You can add custom [MCP servers](https:\u002F\u002Fmodelcontextprotocol.io) to give agents access to domain-specific tools, resources, and prompts. Developers can build and register their own AI personas using the entry points API. By building on open standards like ACP and MCP, Jupyter AI avoids vendor lock-in and gives you access to the full ecosystem of compatible agents and tools.\n\n## Quick Links\n\n- [Getting Started](https:\u002F\u002Fjupyter-ai.readthedocs.io\u002Fen\u002Flatest\u002Fgetting-started.html) — installation, agent setup, and first chat\n- [User Guide](https:\u002F\u002Fjupyter-ai.readthedocs.io\u002Fen\u002Flatest\u002Fusers\u002Findex.html) — chat features, notebook tools, and custom MCP servers\n- [Contributor Guide](https:\u002F\u002Fjupyter-ai.readthedocs.io\u002Fen\u002Flatest\u002Fcontributors\u002Findex.html) — how to contribute to Jupyter AI\n- [Developer Guide](https:\u002F\u002Fjupyter-ai.readthedocs.io\u002Fen\u002Flatest\u002Fdevelopers\u002Findex.html) — building custom agents and MCP servers\n- [Troubleshooting](https:\u002F\u002Fjupyter-ai.readthedocs.io\u002Fen\u002Flatest\u002Fusers\u002Ftroubleshooting.html) — common issues and solutions\n\n## Governance\n\nJupyter AI is currently under incubation as part of the JupyterLab organization.\n","\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fjupyterlab_jupyter-ai_readme_b744b916b5ae.png\" alt=\"Jupyter logo\" width=\"120\">\n\u003C\u002Fp>\n\n\u003Ch1 align=\"center\">Jupyter AI\u003C\u002Fh1>\n\n\u003Cp align=\"center\">\u003Ci>一个开源扩展，可将 AI 代理连接到 JupyterLab 中的计算笔记本。\u003C\u002Fi>\u003C\u002Fp>\n\nJupyter AI 将代理式 AI 引入 JupyterLab。它提供原生的聊天界面，您可以在其中与前沿 AI 代理协作——包括 Claude、Codex、Gemini、Goose、Kiro、Mistral Vibe 和 OpenCode——所有这些代理都通过 [Agent Client Protocol (ACP)](https:\u002F\u002Fagentclientprotocol.com) 集成。当代理的依赖项被安装时，它们会自动被检测到，因此开始使用非常简单：只需安装 Jupyter AI 和您选择的代理即可。\n\nJupyter AI 中的代理可以读取和写入文件、运行终端命令，并通过内置的 [Jupyter MCP 服务器](https:\u002F\u002Fgithub.com\u002Fjupyter-ai-contrib\u002Fjupyter-server-mcp) 与笔记本进行交互。权限系统为代理的操作设置了安全边界——代理在写入文件或执行命令之前会请求批准。您还可以创建多个并发聊天会话，将文件或笔记本单元格拖放为上下文，并与连接到同一服务器的其他用户实时协作。\n\nJupyter AI 的设计注重灵活性和可扩展性。您可以添加自定义的 [MCP 服务器](https:\u002F\u002Fmodelcontextprotocol.io)，以使代理能够访问特定领域的工具、资源和提示。开发者可以使用入口点 API 构建并注册自己的 AI 角色。通过基于 ACP 和 MCP 等开放标准构建，Jupyter AI 避免了供应商锁定，让您能够访问完整的兼容代理和工具生态系统。\n\n## 快速链接\n\n- [入门指南](https:\u002F\u002Fjupyter-ai.readthedocs.io\u002Fen\u002Flatest\u002Fgetting-started.html) — 安装、代理设置及首次聊天\n- [用户指南](https:\u002F\u002Fjupyter-ai.readthedocs.io\u002Fen\u002Flatest\u002Fusers\u002Findex.html) — 聊天功能、笔记本工具以及自定义 MCP 服务器\n- [贡献者指南](https:\u002F\u002Fjupyter-ai.readthedocs.io\u002Fen\u002Flatest\u002Fcontributors\u002Findex.html) — 如何为 Jupyter AI 做贡献\n- [开发者指南](https:\u002F\u002Fjupyter-ai.readthedocs.io\u002Fen\u002Flatest\u002Fdevelopers\u002Findex.html) — 构建自定义代理和 MCP 服务器\n- [故障排除](https:\u002F\u002Fjupyter-ai.readthedocs.io\u002Fen\u002Flatest\u002Fusers\u002Ftroubleshooting.html) — 常见问题及解决方案\n\n## 治理\n\nJupyter AI 目前作为 JupyterLab 组织的一部分处于孵化阶段。","# Jupyter AI 快速上手指南\n\nJupyter AI 是一款开源扩展，旨在将智能体（AI Agents）无缝集成到 JupyterLab 计算笔记本中。它提供原生聊天界面，支持连接 Claude、Gemini、Mistral 等前沿模型，并允许智能体读取文件、运行终端命令及操作笔记本单元格，同时具备完善的权限审批机制。\n\n## 环境准备\n\n在开始之前，请确保满足以下系统要求：\n\n- **操作系统**：Linux、macOS 或 Windows\n- **Python 版本**：3.9 至 3.12\n- **核心依赖**：\n  - JupyterLab 4.0 或更高版本\n  - Node.js（用于构建前端扩展，通常随 JupyterLab 安装自动处理）\n- **网络环境**：需能访问所选 AI 模型的 API 服务（如 OpenAI、Anthropic 等）。国内用户建议配置代理或使用支持国内访问的模型提供商。\n\n## 安装步骤\n\n### 1. 安装 Jupyter AI 核心包\n\n推荐使用 pip 进行安装。国内用户可指定清华或阿里镜像源以加速下载：\n\n```bash\npip install jupyter_ai -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n```\n\n或者使用阿里云镜像：\n\n```bash\npip install jupyter_ai -i https:\u002F\u002Fmirrors.aliyun.com\u002Fpypi\u002Fsimple\u002F\n```\n\n### 2. 安装特定智能体依赖\n\nJupyter AI 会自动检测已安装的智能体。根据你想使用的模型，安装对应的依赖包。例如：\n\n- **使用 OpenAI (GPT-4\u002FCodex)**:\n  ```bash\n  pip install openai -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n  ```\n\n- **使用 Anthropic (Claude)**:\n  ```bash\n  pip install anthropic -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n  ```\n\n- **使用 Google (Gemini)**:\n  ```bash\n  pip install google-generativeai -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n  ```\n\n> **注意**：安装完成后，可能需要重启 JupyterLab 服务器以使扩展生效。\n\n### 3. 配置 API 密钥\n\n启动 JupyterLab 后，进入设置界面或在聊天窗口中首次选择模型时，系统会提示输入对应的 API Key。请妥善保管您的密钥。\n\n## 基本使用\n\n安装完成后，即可在 JupyterLab 中体验 AI 协作功能：\n\n1. **启动聊天**：\n   打开 JupyterLab，点击左侧工具栏中的 **\"AI Chat\"** 图标（通常显示为机器人头像），打开聊天面板。\n\n2. **选择智能体**：\n   在聊天窗口顶部的下拉菜单中，选择你已配置好密钥的模型（如 `chatgpt`、`claude` 等）。\n\n3. **发送指令**：\n   在输入框中输入自然语言指令。例如，让 AI 生成一段绘图代码：\n   ```text\n   请用 matplotlib 画一个正弦波图像，并执行它。\n   ```\n\n4. **执行与审批**：\n   - 智能体会生成代码并请求执行。\n   - 由于安全机制，涉及**文件写入**或**终端命令执行**的操作会弹出审批对话框，点击 **\"Approve\"** 确认后即可运行。\n   - 生成的代码可以直接插入到当前的 Notebook 单元格中。\n\n5. **上下文协作**：\n   你可以直接将 Notebook 中的单元格或文件拖拽到聊天窗口，作为上下文提供给 AI，让其基于现有代码进行分析或修改。","数据科学家小李正在 JupyterLab 中处理一个复杂的客户流失预测项目，需要频繁进行数据清洗、特征工程和模型调试。\n\n### 没有 jupyter-ai 时\n- **上下文切换繁琐**：遇到报错或需要生成新代码时，必须复制代码到外部 AI 网页端，再将结果手动粘贴回笔记本，打断心流。\n- **文件操作风险高**：让外部 AI 修改本地数据文件或配置时，只能依赖其生成的代码片段手动运行，缺乏自动化的权限确认机制，容易误删数据。\n- **多任务协作困难**：同时调试模型参数和撰写分析报告时，无法在同一个界面维持多个独立的对话上下文，导致思路混乱。\n- **环境感知缺失**：外部 AI 不了解当前内核已安装的库或变量状态，常生成不兼容的代码，需要人工反复修正。\n\n### 使用 jupyter-ai 后\n- **原生无缝交互**：直接在 JupyterLab 侧边栏与 Claude 或 Gemini 等代理对话，拖拽单元格即可作为上下文，代码生成后一键插入或执行。\n- **安全可控的文件操作**：jupyter-ai 内置权限系统，当代理需要写入文件或运行终端命令时会主动请求批准，确保数据安全且操作可追溯。\n- **多并发聊天管理**：可以开启多个独立聊天窗口，一个专门优化模型超参数，另一个辅助撰写文档，互不干扰且均能读取当前笔记本状态。\n- **智能环境感知**：通过内置的 Jupyter MCP 服务器，代理能实时读取内核变量和已安装库，生成的代码直接可用，大幅减少调试时间。\n\njupyter-ai 通过将前沿 AI 代理深度集成到计算笔记本工作流中，让数据科学家在安全可控的前提下实现了“所想即所得”的高效开发体验。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fjupyterlab_jupyter-ai_e0b021f1.png","jupyterlab","JupyterLab","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fjupyterlab_4e8a2763.png","JupyterLab: The Next Generation UI for Project Jupyter",null,"project.jupyter@gmail.com","https:\u002F\u002Fjupyter.org","https:\u002F\u002Fgithub.com\u002Fjupyterlab",[82],{"name":83,"color":84,"percentage":85},"Python","#3572A5",100,4172,484,"2026-04-08T06:06:20","BSD-3-Clause","","未说明",{"notes":93,"python":91,"dependencies":94},"该工具是 JupyterLab 的扩展插件，用于连接 AI 代理。支持多种前端模型（如 Claude, Gemini 等），具体运行环境取决于所选用的 AI 代理及其依赖。代理执行文件读写或终端命令前需经用户授权。支持通过入口点 API 注册自定义 AI 角色和 MCP 服务器。",[74,95,96],"Agent Client Protocol (ACP)","Jupyter MCP server",[52,13],[99,73,100,101,102],"jupyter","jupyterlab-extension","acp","agents","2026-03-27T02:49:30.150509","2026-04-09T05:25:41.277716",[],[107,112,117,122,127,132,137,142,147,152,157,162,167,172,177,182,187,192,197,202],{"id":108,"version":109,"summary_zh":110,"released_at":111},162925,"v3.0.0","\n\n\n# v3.0.0\n\n🎉 **Jupyter AI v3.0.0 终于发布啦！** 🎉\n\nJupyter AI v3.0.0 引入了以下新特性：\n\n- **通过 ACP 支持代理**：直接在 JupyterLab 中使用 Claude、Codex、Gemini、Goose、Kiro 和 OpenCode\n- **实时聊天界面**：支持流式响应，包含工具调用和差异视图\n- **工具调用权限控制**：代理在写入文件或执行命令前会请求批准\n- **Jupyter MCP 服务器**：代理可以使用 `jupyter_server_mcp` 在 JupyterLab 中编辑和运行笔记本\n- **MCP 服务器集成**：可通过 `.jupyter\u002Fmcp_settings.json` 添加自定义 MCP 服务器\n- **多聊天架构**：可同时开启无限多个聊天窗口，并以 `.chat` 文件保存\n\n我们还对 Jupyter AI v3 的文档进行了全面重构和更新。\n\n- **全新文档**：https:\u002F\u002Fjupyter-ai.readthedocs.io\u002Fen\u002Flatest\u002F\n\n感谢所有用户以及为 Jupyter AI 做出贡献的每一位朋友，无论是报告问题、编写代码、参与评审，还是组织活动。你们都非常棒！\n\n敬请期待我们即将发布的更多公告和更新。\n\n（[完整变更日志](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fcompare\u002Fv3.0.0rc1...7d66a3a33c53e9fe764b51259f851331a15180e7)）\n\n### 功能增强\n\n- 准备 v3.0 正式发布 [#1545](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1545) ([@dlqqq](https:\u002F\u002Fgithub.com\u002Fdlqqq), [@srdas](https:\u002F\u002Fgithub.com\u002Fsrdas))\n\n### 文档改进\n\n- 更新 v3 用户指南 [#1544](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1544) ([@dlqqq](https:\u002F\u002Fgithub.com\u002Fdlqqq), [@srdas](https:\u002F\u002Fgithub.com\u002Fsrdas))\n- 更新贡献者指南，加入最新的安装说明 [#1543](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1543) ([@srdas](https:\u002F\u002Fgithub.com\u002Fsrdas), [@dlqqq](https:\u002F\u002Fgithub.com\u002Fdlqqq))\n- v3.0 文档全面重构 [#1542](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1542) ([@dlqqq](https:\u002F\u002Fgithub.com\u002Fdlqqq), [@srdas](https:\u002F\u002Fgithub.com\u002Fsrdas))\n\n### 本次发布贡献者\n\n以下人员参与了讨论、提出了新想法、贡献了代码和文档，并进行了评审。\n详情请参阅我们的 [贡献者定义](https:\u002F\u002Fgithub-activity.readthedocs.io\u002Fen\u002Flatest\u002Fuse\u002F#how-does-this-tool-define-contributions-in-the-reports)。\n\n（[本次发布 GitHub 贡献者页面](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fgraphs\u002Fcontributors?from=2026-03-25&to=2026-03-31&type=c)）\n\n@dlqqq（[活动记录](https:\u002F\u002Fgithub.com\u002Fsearch?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3Adlqqq+updated%3A2026-03-25..2026-03-31&type=Issues)）| @srdas（[活动记录](https:\u002F\u002Fgithub.com\u002Fsearch?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3Asrdas+updated%3A2026-03-25..2026-03-31&type=Issues)）\n\n","2026-04-01T00:03:32",{"id":113,"version":114,"summary_zh":115,"released_at":116},162926,"v3.0.0rc1","## 3.0.0rc1\n\n([完整变更日志](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fcompare\u002Fv3.0.0rc0...5c31139895341c9040dd65ea60f1539e4a99d3f0))\n\n### 修复的 bug\n\n- [维护] 将 jupyterlab_commands_toolkit 添加为必需依赖项 [#1541](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1541) ([@Zsailer](https:\u002F\u002Fgithub.com\u002FZsailer), [@dlqqq](https:\u002F\u002Fgithub.com\u002Fdlqqq))\n\n### 本版本贡献者\n\n以下人员参与了讨论、提出了新想法，并贡献了代码、文档和评审工作。\n请参阅[我们对贡献者的定义](https:\u002F\u002Fgithub-activity.readthedocs.io\u002Fen\u002Flatest\u002Fuse\u002F#how-does-this-tool-define-contributions-in-the-reports)。\n\n([此版本的 GitHub 贡献者页面](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fgraphs\u002Fcontributors?from=2026-03-25&to=2026-03-25&type=c))\n\n@dlqqq ([活动](https:\u002F\u002Fgithub.com\u002Fsearch?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3Adlqqq+updated%3A2026-03-25..2026-03-25&type=Issues)) | @Zsailer ([活动](https:\u002F\u002Fgithub.com\u002Fsearch?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3AZsailer+updated%3A2026-03-25..2026-03-25&type=Issues))\n\n","2026-03-25T19:22:15",{"id":118,"version":119,"summary_zh":120,"released_at":121},162927,"v3.0.0rc0","\n\n# 3.0.0rc0\n\n我们很高兴地宣布 Jupyter AI v3.0 的首个候选版本。此版本引入了以下支持：\n\n- 通过 [Agent Client Protocol (ACP)](https:\u002F\u002Fagentclientprotocol.com) 在 Jupyter AI 中支持 Claude、Gemini、Kiro 和 Mistral Vibe，\n  - （Codex、OpenCode、Goose 尚在开发中）\n- 为 ACP 代理提供一组默认的 JupyterLab 工具（通过 `jupyter_server_mcp` 和 `jupyter_ai_tools`），以及\n- 支持在 `.jupyter\u002Fmcp_settings.json` 中自定义 MCP 服务器，从而让你能够无限扩展 JupyterLab 中代理的功能。\n\n## 开始使用\n\n通过以下命令安装 Jupyter AI RC 预发布版：\n\n```bash\npip install jupyter-ai==3.0.0rc0\n```\n\n要添加一个代理，请按照你希望与 Jupyter AI 搭配使用的 ACP 代理的[安装说明](https:\u002F\u002Fgithub.com\u002Fjupyter-ai-contrib\u002Fjupyter-ai-acp-client)进行操作。我们正在努力改进这一流程，使其文档更加完善并实现自动化。\n\n## 新特性\n\n- **通过 ACP 支持代理**：借助 ACP，我们可以访问所有前沿的 AI 代理。v3.0 正式版将开箱即用地支持以下代理：Claude、Codex、Gemini、Goose、Kiro 和 OpenCode。当代理所需的依赖项被安装时，它们会自动启用。\n- **[ACP] 实时聊天 UI**：实时流式显示代理响应，包括工具调用状态、推理轨迹、执行计划，以及文件编辑的内联差异视图。\n- **[ACP] 工具调用权限**：代理在执行写入文件或运行终端命令等操作前会请求许可，从而为你提供对代理行为的约束机制。\n- **[ACP] 文件系统和终端访问**：代理可以通过 ACP 客户端读取和写入文件，并执行终端命令，所有操作均受权限系统的管控。\n- **MCP 服务器集成**：现在可以在 `.jupyter\u002Fmcp_settings.json` 中定义 MCP 服务器。你可以利用这一点添加针对特定领域的自定义 MCP 服务器，以提供专用工具、资源和提示。这些服务器将被 ACP 代理自动识别和使用。\n- **新的 Jupyter MCP 服务器**：`jupyter_server_mcp` 允许代理直接在你的 JupyterLab 会话中更新文件和执行笔记本。ACP 代理可以自动访问这些工具（当然，在使用之前仍需请求权限）。\n\n## Jupyternaut 怎么了？\n\n`jupyter_ai_jupyternaut` 包仍然存在，但不再是必需的依赖项。其实时笔记本编辑功能已被迁移到新的 `jupyter_ai_tools` 包中，并通过 `jupyter_server_mcp` 对所有其他 ACP 代理开放。\n\n你仍然可以通过运行 `pip install 'jupyter-ai[jupyternaut]==3.0.0rc0'` 来安装 Jupyternaut。\n\n## AI 魔术命令怎么了？\n\n魔术命令现在位于一个新的 `jupyter-ai-magic-commands` 包中。由于 AI 代理现在可以直接编辑笔记本，我们认为这在默认体验中已不再必要。将该包设为可选，大幅减少了 Jupyter AI 所需的依赖项数量。\n\n你仍然可以安装 Jupyt","2026-03-25T17:53:48",{"id":123,"version":124,"summary_zh":125,"released_at":126},162928,"v2.31.7","## 2.31.7\n\nDask 仪表板（用于显示 `\u002Flearn` 调用的进度）现在默认已禁用，因为它仅适用于本地开发。如需启用 Dask 仪表板，请在端口 `8787` 上传递 `--AiExtension.enable_dask_dashboard=True` 配置项。\n\n([完整变更日志](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fcompare\u002F@jupyter-ai\u002Fcore@2.31.6...bbf6d163da3ff76c900b108e6c26b1c46b7d5cb1))\n\n### 修复的 bug\n\n- [2.x] 默认禁用 Dask 仪表板 [#1506](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1506) ([@dlqqq](https:\u002F\u002Fgithub.com\u002Fdlqqq))\n\n### 本版本贡献者\n\n([本版本 GitHub 贡献者页面](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fgraphs\u002Fcontributors?from=2025-07-25&to=2025-11-25&type=c))\n\n[@3coins](https:\u002F\u002Fgithub.com\u002Fsearch?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3A3coins+updated%3A2025-07-25..2025-11-25&type=Issues) | [@brichet](https:\u002F\u002Fgithub.com\u002Fsearch?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3Abrichet+updated%3A2025-07-25..2025-11-25&type=Issues) | [@cszhbo](https:\u002F\u002Fgithub.com\u002Fsearch?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3Acszhbo+updated%3A2025-07-25..2025-11-25&type=Issues) | [@dlqqq](https:\u002F\u002Fgithub.com\u002Fsearch?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3Adlqqq+updated%3A2025-07-25..2025-11-25&type=Issues) | [@ellisonbg](https:\u002F\u002Fgithub.com\u002Fsearch?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3Aellisonbg+updated%3A2025-07-25..2025-11-25&type=Issues) | [@felix5572](https:\u002F\u002Fgithub.com\u002Fsearch?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3Afelix5572+updated%3A2025-07-25..2025-11-25&type=Issues) | [@krassowski](https:\u002F\u002Fgithub.com\u002Fsearch?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3Akrassowski+updated%3A2025-07-25..2025-11-25&type=Issues) | [@srdas](https:\u002F\u002Fgithub.com\u002Fsearch?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3Asrdas+updated%3A2025-07-25..2025-11-25&type=Issues)\n\n","2025-11-25T22:42:26",{"id":128,"version":129,"summary_zh":130,"released_at":131},162929,"v3.0.0b9","## 3.0.0b9\n\n([完整变更日志](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fcompare\u002Fv3.0.0b8...bc407706258e93f9a2ae3cd7bbb05ada9c31acc3))\n\n### 修复的 bug\n\n- 修复聊天命令 UI 和 Jupyternaut 模型配置 [#1498](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1498) ([@dlqqq](https:\u002F\u002Fgithub.com\u002Fdlqqq))\n\n### 本版本贡献者\n\n([本版本 GitHub 贡献者页面](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fgraphs\u002Fcontributors?from=2025-11-03&to=2025-11-05&type=c))\n\n[@dlqqq](https:\u002F\u002Fgithub.com\u002Fsearch?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3Adlqqq+updated%3A2025-11-03..2025-11-05&type=Issues)\n\n","2025-11-05T17:38:07",{"id":133,"version":134,"summary_zh":135,"released_at":136},162930,"v3.0.0b8","## 3.0.0b8\n\n更多信息请参阅[此议题](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fissues\u002F1495)。我们将在两天后的圣地亚哥 JupyterCon 2025 大会上发布此版本！后续将提供更多详情。\n\n([完整变更日志](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fcompare\u002F@jupyter-ai\u002Fcore@3.0.0-beta.7...e819ba1de1c126fdb394b1e1163bc8ef60afd78c))\n\n### 功能增强\n\n- 将 Jupyter AI 打造成元包 [#1494](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1494) ([@dlqqq](https:\u002F\u002Fgithub.com\u002Fdlqqq))\n\n### 本版本贡献者\n\n([本版本 GitHub 贡献者页面](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fgraphs\u002Fcontributors?from=2025-09-10&to=2025-11-03&type=c))\n\n[@dlqqq](https:\u002F\u002Fgithub.com\u002Fsearch?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3Adlqqq+updated%3A2025-09-10..2025-11-03&type=Issues)\n\n","2025-11-03T01:18:25",{"id":138,"version":139,"summary_zh":140,"released_at":141},162931,"v3.0.0beta7","\r\n## 3.0.0beta7\r\n\r\n本次发布显著升级至 `jupyterlab-chat==0.17.0`，该版本目前[正在提交至 Conda Forge](https:\u002F\u002Fgithub.com\u002Fconda-forge\u002Fstaged-recipes\u002Fpull\u002F30989)。我们计划将此版本作为首个发布到 Conda Forge 的 V3 版本！🎉 \r\n\r\n此外，本次还修复了一个导致部分用户无法在 `v3.0.0b6` 上本地启动 Jupyter AI 的问题。感谢 @andreyvelich 如此迅速地贡献了修复补丁！💪 \r\n\r\n最后，我们还为魔法命令和模型参数 UI 增加了一些增强功能和修复。🤗 \r\n\r\n（[完整变更日志](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fcompare\u002F@jupyter-ai\u002Fcore@3.0.0-beta.6...55aff83376e770ee9953e8949ba11b7d54109650)）\n\n### 已完成的增强功能\n\n- 升级至 `jupyterlab-chat` v0.17.0 [#1480](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1480) ([@dlqqq](https:\u002F\u002Fgithub.com\u002Fdlqqq))\n- 在通用模型参数中添加 `api_base` [#1478](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1478) ([@jonahjung22](https:\u002F\u002Fgithub.com\u002Fjonahjung22))\n- [魔法命令] 添加选项，允许通过别名包含 API URL 和密钥 [#1477](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1477) ([@srdas](https:\u002F\u002Fgithub.com\u002Fsrdas))\n- 简化模型参数 REST API [#1475](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1475) ([@jonahjung22](https:\u002F\u002Fgithub.com\u002Fjonahjung22))\n- 添加模型参数类型下拉菜单 [#1473](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1473) ([@jonahjung22](https:\u002F\u002Fgithub.com\u002Fjonahjung22))\n- [魔法命令] 添加 `--api-base` 和 `--api-key-name` 参数 [#1471](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1471) ([@srdas](https:\u002F\u002Fgithub.com\u002Fsrdas))\n- 在 Jupyter Notebook 中将 AI 设置显示在右侧区域 [#1470](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1470) ([@jtpio](https:\u002F\u002Fgithub.com\u002Fjtpio))\n\n### 修复的缺陷\n\n- 修复 Jupyter AI 配置目录为空的问题 [#1472](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1472) ([@andreyvelich](https:\u002F\u002Fgithub.com\u002Fandreyvelich))\n\n### 维护与改进\n\n- 修复 PR 模板的目录路径 [#1474](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1474) ([@jonahjung22](https:\u002F\u002Fgithub.com\u002Fjonahjung22))\n\n### 本次发布的贡献者\n\n（[GitHub 本次发布贡献者页面](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fgraphs\u002Fcontributors?from=2025-08-22&to=2025-09-10&type=c)）\n\n[@andreyvelich](https:\u002F\u002Fgithub.com\u002Fsearch?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3Aandreyvelich+updated%3A2025-08-22..2025-09-10&type=Issues) | [@brichet](https:\u002F\u002Fgithub.com\u002Fsearch?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3Abrichet+updated%3A2025-08-22..2025-09-10&type=Issues) | [@dlqqq](https:\u002F\u002Fgithub.com\u002Fsearch?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3Adlqqq+updated%3A2025-08-22..2025-09-10&type=Issues) | [@ellisonbg](https:\u002F\u002Fgithub.com\u002Fsearch?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3Aellisonbg+updated%3A2025-08-22..2025-09-10&type=Issues) | [@jonahjung22](https:\u002F\u002Fgithub.com\u002Fsearch?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3A","2025-09-10T18:36:29",{"id":143,"version":144,"summary_zh":145,"released_at":146},162932,"v3.0.0beta6","## 3.0.0beta6\n\n此版本包含对 Jupyter AI v3 的多项重大升级，最显著的是从 Langchain 迁移到 LiteLLM。\n\n- 🎉 **Jupyter AI 现在开箱即用即可提供超过 1000 种大语言模型，且大多数提供商无需安装可选依赖**。您可能需要的唯一可选依赖是 `boto3`，它用于 Amazon Bedrock 模型。\n\n- 🚀 **Jupyter AI 的安装和启动速度大幅提升。** Jupyter AI 服务器扩展的启动时间已从约 10000 毫秒缩短至约 2500 毫秒（下降了 75 个百分点）。剩余的启动延迟主要来自导入 `jupyter_ai` 所需的时间。我们计划通过迭代 #1115 进一步优化这一点。\n\n- 💪 **我们彻底重构了 AI 设置页面，并简化了模型配置流程。** 新的 AI 设置页面允许您直接输入任何 LiteLLM 模型 ID，而不受弹出窗口中建议列表的限制。这将使您能够在最新 LLM 发布后立即使用它们，即使这些模型尚未添加到我们的源代码中的模型列表中。\n\n  - 到 v3 版本时，用户还将能够定义自定义模型参数，这些参数会直接作为关键字参数传递给 `litellm.acompletion()`。用户不再需要请求维护人员为模型添加字段。\n\n- 🔑 **最后，我们极大地简化了 API 密钥的提供流程。** 所有 API 密钥现在都可以定义为环境变量，直接传递给 `jupyter-lab`。您也可以在工作区根目录下的 `.env` 文件中本地定义 API 密钥，这些密钥将在整个 Jupyter AI 中使用。您可以直接编辑 `.env` 文件，也可以使用我们在 AI 设置页面中提供的界面。\n\n此外，还有一些较小的破坏性变更：\n\n- 本地 persona 的加载路径已从 `.jupyter\u002F` 改为 `.jupyter\u002Fpersonas`。\n\n- 新的“模型参数”部分存在一些 bug，将在未来的预发布版本中修复。\n\n- 我们暂时隐藏了“内联完成模型”部分，直到我们将后端重构以支持 LiteLLM。相关工作正在 #1431 中进行跟踪，欢迎贡献。\n\n- 我们还隐藏了“嵌入模型”部分。我们计划让 Jupyternaut 完全通过代理工具调用来自动收集所需的上下文，从而可能不再需要向量存储和嵌入模型。不过，这一情况可能会根据当前工作的进展而有所变化。\n\n([完整变更日志](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fcompare\u002F@jupyter-ai\u002Fcore@3.0.0-beta.5...230246328cbbade6254edf656c9bebef5b6b9757))\n\n### 已完成的增强功能\n\n- PR 模板 [#1446](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1446) ([@jonahjung22](https:\u002F\u002Fgithub.com\u002Fjonahjung22))\n- 从 `.jupyter\u002Fpersonas` 而不是 `.jupyter\u002F` 加载本地 persona [#1443](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1443) ([@andrii-i](https:\u002F\u002Fgithub.com\u002Fandrii-i))\n- 从 LangChain 迁移到 LiteLLM（重大升级）[#1426](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1426) ([@dlqqq](https:\u002F\u002Fgithub.com\u002Fdlqqq))\n\n### 贡献","2025-08-22T18:57:11",{"id":148,"version":149,"summary_zh":150,"released_at":151},162933,"v3.0.0beta5","## 3.0.0beta5\n\n([完整变更日志](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fcompare\u002F@jupyter-ai\u002Fcore@3.0.0-beta.4...39352660e7040a5a6f7a1c016ab804ad4f658393))\n\n### 功能增强\n\n- 当消息中包含文件时，直接将文件附件添加到 JupyternautPersona [#1419](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1419) ([@joadoumie](https:\u002F\u002Fgithub.com\u002Fjoadoumie))\n- 添加 VertexAI 模型提供商 [#1417](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1417) ([@anthonyhungnguyen](https:\u002F\u002Fgithub.com\u002Fanthonyhungnguyen))\n\n### 维护与改进\n\n- 运行 pre-commit [#1423](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1423) ([@dlqqq](https:\u002F\u002Fgithub.com\u002Fdlqqq))\n- 移除配置模式及旧版 v2 人格引用 [#1420](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1420) ([@dlqqq](https:\u002F\u002Fgithub.com\u002Fdlqqq))\n\n### 本版本贡献者\n\n([此版本的 GitHub 贡献者页面](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fgraphs\u002Fcontributors?from=2025-07-10&to=2025-07-25&type=c))\n\n[@anthonyhungnguyen](https:\u002F\u002Fgithub.com\u002Fsearch?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3Aanthonyhungnguyen+updated%3A2025-07-10..2025-07-25&type=Issues) | [@dlqqq](https:\u002F\u002Fgithub.com\u002Fsearch?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3Adlqqq+updated%3A2025-07-10..2025-07-25&type=Issues) | [@joadoumie](https:\u002F\u002Fgithub.com\u002Fsearch?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3Ajoadoumie+updated%3A2025-07-10..2025-07-25&type=Issues)\n\n","2025-07-25T13:51:43",{"id":153,"version":154,"summary_zh":155,"released_at":156},162934,"v2.31.6","## 2.31.6\n\n([完整变更日志](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fcompare\u002F@jupyter-ai\u002Fcore@2.31.5...0fad182d794c28f50dc58efda30098e53d263315))\n\n### 功能增强\n\n- 添加 VertexAI 模型提供商 [#1417](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1417) ([@anthonyhungnguyen](https:\u002F\u002Fgithub.com\u002Fanthonyhungnguyen))\n- 刷新支持的 Gemini 模型列表。[#1381](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1381) ([@haofan](https:\u002F\u002Fgithub.com\u002Fhaofan))\n\n### 维护与运维改进\n\n### 文档改进\n\n- 更新了在非默认端口上使用 Ollama 和单元格魔法的文档 [#1370](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1370) ([@srdas](https:\u002F\u002Fgithub.com\u002Fsrdas))\n\n### 本版本贡献者\n\n([本版本 GitHub 贡献者页面](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fgraphs\u002Fcontributors?from=2025-06-04&to=2025-07-25&type=c))\n\n[@dlqqq](https:\u002F\u002Fgithub.com\u002Fsearch?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3Adlqqq+updated%3A2025-06-04..2025-07-25&type=Issues) | [@ellisonbg](https:\u002F\u002Fgithub.com\u002Fsearch?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3Aellisonbg+updated%3A2025-06-04..2025-07-25&type=Issues) | [@meeseeksmachine](https:\u002F\u002Fgithub.com\u002Fsearch?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3Ameeseeksmachine+updated%3A2025-06-04..2025-07-25&type=Issues)\n\n","2025-07-25T13:24:16",{"id":158,"version":159,"summary_zh":160,"released_at":161},162935,"v3.0.0beta4","\n\n## 3.0.0beta4\n\n([Full Changelog](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fcompare\u002F@jupyter-ai\u002Fcore@3.0.0-beta.3...170388630cf76bff291b76eeb9c7a8c55b2b7013))\n\n### Enhancements made\n\n- Add `\u002Frefresh-personas` command and default persona configurable [#1405](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1405) ([@dlqqq](https:\u002F\u002Fgithub.com\u002Fdlqqq))\n\n### Bugs fixed\n\n- Bump `@jupyter\u002Fchat` dependency and regenerate `yarn.lock`, pin `cohere` to `\u003C5.16` [#1412](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1412) ([@andrii-i](https:\u002F\u002Fgithub.com\u002Fandrii-i))\n- Return error message when the completion model is not specified for the Jupyternaut persona [#1408](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1408) ([@srdas](https:\u002F\u002Fgithub.com\u002Fsrdas))\n\n### Contributors to this release\n\n([GitHub contributors page for this release](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fgraphs\u002Fcontributors?from=2025-07-07&to=2025-07-10&type=c))\n\n[@andrii-i](https:\u002F\u002Fgithub.com\u002Fsearch?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3Aandrii-i+updated%3A2025-07-07..2025-07-10&type=Issues) | [@dlqqq](https:\u002F\u002Fgithub.com\u002Fsearch?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3Adlqqq+updated%3A2025-07-07..2025-07-10&type=Issues) | [@ellisonbg](https:\u002F\u002Fgithub.com\u002Fsearch?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3Aellisonbg+updated%3A2025-07-07..2025-07-10&type=Issues) | [@srdas](https:\u002F\u002Fgithub.com\u002Fsearch?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3Asrdas+updated%3A2025-07-07..2025-07-10&type=Issues)\n\n","2025-07-10T22:05:04",{"id":163,"version":164,"summary_zh":165,"released_at":166},162936,"v3.0.0beta3","\n\n## 3.0.0beta3\n\n([Full Changelog](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fcompare\u002F@jupyter-ai\u002Fcore@3.0.0-beta.2...030f0a47ace8529aaa24c36b167442685711e15e))\n\n### Enhancements made\n\n- Bump jupyterlab-chat version to v0.16.0 [#1406](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1406) ([@andrii-i](https:\u002F\u002Fgithub.com\u002Fandrii-i))\n- Update user message routing rules [#1399](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1399) ([@3coins](https:\u002F\u002Fgithub.com\u002F3coins))\n- Use `uv`, overhaul dev setup, update contributor docs [#1392](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1392) ([@dlqqq](https:\u002F\u002Fgithub.com\u002Fdlqqq))\n\n### Contributors to this release\n\n([GitHub contributors page for this release](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fgraphs\u002Fcontributors?from=2025-06-28&to=2025-07-07&type=c))\n\n[@3coins](https:\u002F\u002Fgithub.com\u002Fsearch?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3A3coins+updated%3A2025-06-28..2025-07-07&type=Issues) | [@andrii-i](https:\u002F\u002Fgithub.com\u002Fsearch?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3Aandrii-i+updated%3A2025-06-28..2025-07-07&type=Issues) | [@dlqqq](https:\u002F\u002Fgithub.com\u002Fsearch?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3Adlqqq+updated%3A2025-06-28..2025-07-07&type=Issues) | [@ellisonbg](https:\u002F\u002Fgithub.com\u002Fsearch?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3Aellisonbg+updated%3A2025-06-28..2025-07-07&type=Issues)\n\n","2025-07-07T15:32:25",{"id":168,"version":169,"summary_zh":170,"released_at":171},162937,"v3.0.0beta2","\n\n## 3.0.0beta2\n\n([Full Changelog](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fcompare\u002F@jupyter-ai\u002Fcore@3.0.0-beta.1...3256ea92314b6ce65798e75255b469d1987eb981))\n\n### Enhancements made\n\n- Add error handling for persona loading failures [#1397](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1397) ([@ellisonbg](https:\u002F\u002Fgithub.com\u002Fellisonbg))\n- Add ignore globs for hidden files in CM config [#1396](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1396) ([@ellisonbg](https:\u002F\u002Fgithub.com\u002Fellisonbg))\n- Hide backslashes in `@file` paths with spaces [#1390](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1390) ([@andrii-i](https:\u002F\u002Fgithub.com\u002Fandrii-i))\n- Load personas dynamically from `.jupyter` dir [#1380](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1380) ([@fperez](https:\u002F\u002Fgithub.com\u002Ffperez))\n\n### Contributors to this release\n\n([GitHub contributors page for this release](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fgraphs\u002Fcontributors?from=2025-06-26&to=2025-06-28&type=c))\n\n[@andrii-i](https:\u002F\u002Fgithub.com\u002Fsearch?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3Aandrii-i+updated%3A2025-06-26..2025-06-28&type=Issues) | [@ellisonbg](https:\u002F\u002Fgithub.com\u002Fsearch?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3Aellisonbg+updated%3A2025-06-26..2025-06-28&type=Issues) | [@fperez](https:\u002F\u002Fgithub.com\u002Fsearch?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3Afperez+updated%3A2025-06-26..2025-06-28&type=Issues)\n\n","2025-06-28T00:28:46",{"id":173,"version":174,"summary_zh":175,"released_at":176},162938,"v3.0.0beta1","\n\n## 3.0.0beta1\n\n([Full Changelog](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fcompare\u002F@jupyter-ai\u002Fcore@3.0.0-beta.0...aefde63ea105c24a5d4b08f76722ec300c8a3c60))\n\n### Enhancements made\n\n- Upgrade to Jupyter Chat v0.15.0 [#1389](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1389) ([@dlqqq](https:\u002F\u002Fgithub.com\u002Fdlqqq))\n- Add MCP config to the .jupyter directory [#1385](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1385) ([@ellisonbg](https:\u002F\u002Fgithub.com\u002Fellisonbg))\n- Added toolkit models [#1382](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1382) ([@3coins](https:\u002F\u002Fgithub.com\u002F3coins))\n- Refresh the list of supported Gemini models. [#1381](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1381) ([@haofan](https:\u002F\u002Fgithub.com\u002Fhaofan))\n- Allow personas to get chat path and directory [#1379](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1379) ([@dlqqq](https:\u002F\u002Fgithub.com\u002Fdlqqq))\n- Add functions for finding the .jupyter directory or the workspace directory [#1376](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1376) ([@ellisonbg](https:\u002F\u002Fgithub.com\u002Fellisonbg))\n\n### Maintenance and upkeep improvements\n\n### Contributors to this release\n\n([GitHub contributors page for this release](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fgraphs\u002Fcontributors?from=2025-06-10&to=2025-06-26&type=c))\n\n[@3coins](https:\u002F\u002Fgithub.com\u002Fsearch?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3A3coins+updated%3A2025-06-10..2025-06-26&type=Issues) | [@dlqqq](https:\u002F\u002Fgithub.com\u002Fsearch?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3Adlqqq+updated%3A2025-06-10..2025-06-26&type=Issues) | [@ellisonbg](https:\u002F\u002Fgithub.com\u002Fsearch?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3Aellisonbg+updated%3A2025-06-10..2025-06-26&type=Issues) | [@haofan](https:\u002F\u002Fgithub.com\u002Fsearch?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3Ahaofan+updated%3A2025-06-10..2025-06-26&type=Issues) | [@pre-commit-ci](https:\u002F\u002Fgithub.com\u002Fsearch?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3Apre-commit-ci+updated%3A2025-06-10..2025-06-26&type=Issues)\n\n","2025-06-26T16:47:07",{"id":178,"version":179,"summary_zh":180,"released_at":181},162939,"v3.0.0beta0","\n\n## 3.0.0b0\n\nThis is the first beta release of Jupyter AI v3! We've completed a majority of the new APIs & integrations that we plan to use in v3.0.0. It's now time for us to build features, fix bugs, (greatly) improve the UI, and make Jupyternaut a powerful default AI agent. We plan to move very quickly in the next couple of weeks to make v3.0.0 available to users as soon as we can. If everything works out, we will release v3.0.0 by the end of June. 💪\n\nThis release notably implements the \"stop streaming\" button that existed in Jupyter AI v2 & enhances the performance by removing thousands of lines of old v2 code. Besides the slash command capabilities (which will be implemented as agent tools in beta), Jupyter AI v3 now has feature parity with Jupyter AI v2. 🎉\n\n([Full Changelog](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fcompare\u002F@jupyter-ai\u002Fcore@3.0.0-alpha.1...1f646261bdd2fad6d91e2d4d37a27c7cbf5df639))\n\n### Enhancements made\n\n- Implement stop streaming button in v3 [#1351](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1351) ([@brichet](https:\u002F\u002Fgithub.com\u002Fbrichet))\n\n### Maintenance and upkeep improvements\n\n- Raise `jupyterlab-chat` version ceiling [#1373](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1373) ([@dlqqq](https:\u002F\u002Fgithub.com\u002Fdlqqq))\n- Remove unused code from v3 `main` branch [#1369](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1369) ([@dlqqq](https:\u002F\u002Fgithub.com\u002Fdlqqq))\n\n### Documentation improvements\n\n- Updated documentation for using Ollama with cell magics on non-default port [#1370](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1370) ([@srdas](https:\u002F\u002Fgithub.com\u002Fsrdas))\n\n### Contributors to this release\n\n([GitHub contributors page for this release](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fgraphs\u002Fcontributors?from=2025-06-04&to=2025-06-10&type=c))\n\n[@brichet](https:\u002F\u002Fgithub.com\u002Fsearch?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3Abrichet+updated%3A2025-06-04..2025-06-10&type=Issues) | [@dlqqq](https:\u002F\u002Fgithub.com\u002Fsearch?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3Adlqqq+updated%3A2025-06-04..2025-06-10&type=Issues) | [@srdas](https:\u002F\u002Fgithub.com\u002Fsearch?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3Asrdas+updated%3A2025-06-04..2025-06-10&type=Issues)\n\n","2025-06-10T22:54:36",{"id":183,"version":184,"summary_zh":185,"released_at":186},162940,"v3.0.0alpha1","\r\n## 3.0.0a1\r\n\r\nHey folks! This v3 release notably introduces **AI personas** that replace chat handlers, fixes various usability issues encountered in v3.0.0a0, and upgrades to LangChain v0.3 & Pydantic v2. 🎉\r\n\r\n### AI personas\r\n\r\nAI personas re-define how new messages are handled in Jupyter AI, and supersede the previous convention of \"chat handlers\" used in v2. AI personas are like \"chatbots\" available in every chat instance and can use any model\u002Fframework of their choice.\r\n\r\n- Each chat can have any number of AI personas.\r\n- **You have to `@`-mention a persona to get it to reply.** The available personas will be listed after typing `@`, which shows a menu listing the available personas.\r\n- Currently, Jupyter AI only has a single AI persona by default: Jupyternaut.\r\n- Each message may mention any number of AI personas, so you can send the same question to multiple personas.\r\n- Personas can have a custom name & avatar.\r\n- Custom AI personas can be added to your Jupyter AI instance by writing & installing a new package that provides custom AI personas as entry points.\r\n- We plan to add more AI personas by default and\u002For provide library packages that add AI personas.\r\n- More information will be available in the v3 user documentation once it is ready.\r\n\r\nThere's also a new v3 documentation page! Currently, only the developer documentation has been updated. Please read through the v3 developer docs if you are interested in writing your own AI personas. 🤗\r\n\r\n- Link to new v3 developer docs: https:\u002F\u002Fjupyter-ai.readthedocs.io\u002Fen\u002Fv3\u002Fdevelopers\u002Findex.html\r\n\r\n### Planned future work\r\n\r\n- Jupyternaut in v3 is similar to Jupyternaut in v2, but currently lacks slash commands. We are planning to replace slash commands with agentic tools called by the chat model directly.\r\n\r\n  - In other words, Jupyternaut will infer your intent based on your prompt and automatically learn\u002Fgenerate\u002Ffix files by v3.0.0.\r\n  - We will develop this once we begin work on providing APIs for agentic tool use and integrating MCP support after v3.0.0b0 (beta development phase).\r\n\r\n- See the roadmap issue & GitHub milestones for more details on our future work: https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fissues\u002F1052\r\n\r\n([Full Changelog](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fcompare\u002F@jupyter-ai\u002Fcore@3.0.0-alpha.0...eeeaecec66f1e8556f5064d61829f116724aee3c))\r\n\r\n### Enhancements made\r\n\r\n- Introduce AI persona framework [#1341](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1341) ([@dlqqq](https:\u002F\u002Fgithub.com\u002Fdlqqq))\r\n- Separate `BaseProvider` for faster import [#1338](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1338) ([@krassowski](https:\u002F\u002Fgithub.com\u002Fkrassowski))\r\n- Added new `gpt-4.1` models [#1325](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1325) ([@srdas](https:\u002F\u002Fgithub.com\u002Fsrdas))\r\n- Introduce AI persona framework [#1324](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1324) ([@dlqqq](https:\u002F\u002Fgithub.com\u002Fdlqqq))\r\n- [v3] Upgrade to jupyterlab-chat v0.8, restore context command completions [#1290](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1290) ([@dlqqq](https:\u002F\u002Fgithub.com\u002Fdlqqq))\r\n- Added help text fields for embedding providers in the AI Setting page [#1288](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1288) ([@srdas](https:\u002F\u002Fgithub.com\u002Fsrdas))\r\n- Allow chat handlers to be initialized in any order [#1268](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1268) ([@Darshan808](https:\u002F\u002Fgithub.com\u002FDarshan808))\r\n- Allow embedding model fields, fix coupled model fields, add custom OpenAI provider [#1264](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1264) ([@srdas](https:\u002F\u002Fgithub.com\u002Fsrdas))\r\n- Refactor Chat Handlers to Simplify Initialization [#1257](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1257) ([@Darshan808](https:\u002F\u002Fgithub.com\u002FDarshan808))\r\n- Make Native Chat Handlers Overridable via Entry Points [#1249](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1249) ([@Darshan808](https:\u002F\u002Fgithub.com\u002FDarshan808))\r\n- Upgrade to LangChain v0.3 and Pydantic v2 [#1201](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1201) ([@dlqqq](https:\u002F\u002Fgithub.com\u002Fdlqqq))\r\n- Show error icon near cursor on inline completion errors [#1197](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1197) ([@Darshan808](https:\u002F\u002Fgithub.com\u002FDarshan808))\r\n\r\n### Bugs fixed\r\n\r\n- Fix the path missing in inline completion request when there is no kernel [#1361](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1361) ([@krassowski](https:\u002F\u002Fgithub.com\u002Fkrassowski))\r\n- Periodically update the persona awareness to keep it alive [#1358](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1358) ([@brichet](https:\u002F\u002Fgithub.com\u002Fbrichet))\r\n- Added a local identity provider. [#1333](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1333) ([@3coins](https:\u002F\u002Fgithub.com\u002F3coins))\r\n- Handle missing field in config.json on version upgrade [#1330](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1330) ([@srdas](https:\u002F\u002Fgithub.com\u002Fsrdas))\r\n- [3.x] Expand edge case handling in ConfigManager [#1322](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyt","2025-06-04T21:34:02",{"id":188,"version":189,"summary_zh":190,"released_at":191},162941,"v2.31.5","\n\n## 2.31.5\n\n([Full Changelog](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fcompare\u002F@jupyter-ai\u002Fcore@2.31.4...d563c38061a0263876cb0d74fd2571072ac15f45))\n\n### Enhancements made\n\n- Separate `BaseProvider` for faster import [#1338](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1338) ([@krassowski](https:\u002F\u002Fgithub.com\u002Fkrassowski))\n\n### Bugs fixed\n\n- Fix the path missing in inline completion request when there is no kernel [#1361](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1361) ([@krassowski](https:\u002F\u002Fgithub.com\u002Fkrassowski))\n- Added a local identity provider. [#1333](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1333) ([@3coins](https:\u002F\u002Fgithub.com\u002F3coins))\n\n### Maintenance and upkeep improvements\n\n- Add `pyupgrade --py39-plus` and `autoflake` to `pre-commit` config [#1329](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1329) ([@rominf](https:\u002F\u002Fgithub.com\u002Frominf))\n\n### Contributors to this release\n\n([GitHub contributors page for this release](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fgraphs\u002Fcontributors?from=2025-04-24&to=2025-06-04&type=c))\n\n[@dlqqq](https:\u002F\u002Fgithub.com\u002Fsearch?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3Adlqqq+updated%3A2025-04-24..2025-06-04&type=Issues) | [@krassowski](https:\u002F\u002Fgithub.com\u002Fsearch?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3Akrassowski+updated%3A2025-04-24..2025-06-04&type=Issues) | [@meeseeksmachine](https:\u002F\u002Fgithub.com\u002Fsearch?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3Ameeseeksmachine+updated%3A2025-04-24..2025-06-04&type=Issues)\n\n","2025-06-04T20:46:50",{"id":193,"version":194,"summary_zh":195,"released_at":196},162942,"v2.31.4","\n\n## 2.31.4\n\n([Full Changelog](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fcompare\u002F@jupyter-ai\u002Fcore@2.31.3...179a7c7b404df873207811aa31fef15e14cbeeb9))\n\n### Bugs fixed\n\n- Handle missing field in config.json on version upgrade [#1330](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1330) ([@srdas](https:\u002F\u002Fgithub.com\u002Fsrdas))\n\n### Contributors to this release\n\n([GitHub contributors page for this release](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fgraphs\u002Fcontributors?from=2025-04-15&to=2025-04-24&type=c))\n\n[@meeseeksmachine](https:\u002F\u002Fgithub.com\u002Fsearch?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3Ameeseeksmachine+updated%3A2025-04-15..2025-04-24&type=Issues)\n\n","2025-04-24T18:50:48",{"id":198,"version":199,"summary_zh":200,"released_at":201},162943,"v2.31.3","\n\n## 2.31.3\n\n([Full Changelog](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fcompare\u002F@jupyter-ai\u002Fcore@2.31.2...42ff451442ddbca940457d00b9981c7d5f5dc904))\n\n### Bugs fixed\n\n- [2.x] Expand edge case handling in ConfigManager [#1321](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1321) ([@dlqqq](https:\u002F\u002Fgithub.com\u002Fdlqqq))\n\n### Documentation improvements\n\n- Update documentation to show usage with OpenRouter API and URL [#1318](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1318) ([@srdas](https:\u002F\u002Fgithub.com\u002Fsrdas))\n\n### Contributors to this release\n\n([GitHub contributors page for this release](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fgraphs\u002Fcontributors?from=2025-04-03&to=2025-04-15&type=c))\n\n[@dlqqq](https:\u002F\u002Fgithub.com\u002Fsearch?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3Adlqqq+updated%3A2025-04-03..2025-04-15&type=Issues) | [@ellisonbg](https:\u002F\u002Fgithub.com\u002Fsearch?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3Aellisonbg+updated%3A2025-04-03..2025-04-15&type=Issues) | [@krassowski](https:\u002F\u002Fgithub.com\u002Fsearch?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3Akrassowski+updated%3A2025-04-03..2025-04-15&type=Issues) | [@meeseeksmachine](https:\u002F\u002Fgithub.com\u002Fsearch?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3Ameeseeksmachine+updated%3A2025-04-03..2025-04-15&type=Issues)\n\n","2025-04-15T20:18:09",{"id":203,"version":204,"summary_zh":205,"released_at":206},162944,"v2.31.2","\n\n## 2.31.2\n\n([Full Changelog](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fcompare\u002F@jupyter-ai\u002Fcore@2.31.1...5709d6e1fbc3dd8e82ba9bb04d86ee8e7ce11211))\n\n### Bugs fixed\n\n- Add `default_completions_model` trait [#1303](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1303) ([@srdas](https:\u002F\u002Fgithub.com\u002Fsrdas))\n- Pass `model_parameters` trait to embedding & completion models [#1298](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fpull\u002F1298) ([@srdas](https:\u002F\u002Fgithub.com\u002Fsrdas))\n\n### Contributors to this release\n\n([GitHub contributors page for this release](https:\u002F\u002Fgithub.com\u002Fjupyterlab\u002Fjupyter-ai\u002Fgraphs\u002Fcontributors?from=2025-03-26&to=2025-04-03&type=c))\n\n[@meeseeksmachine](https:\u002F\u002Fgithub.com\u002Fsearch?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3Ameeseeksmachine+updated%3A2025-03-26..2025-04-03&type=Issues) | [@srdas](https:\u002F\u002Fgithub.com\u002Fsearch?q=repo%3Ajupyterlab%2Fjupyter-ai+involves%3Asrdas+updated%3A2025-03-26..2025-04-03&type=Issues)\n\n","2025-04-03T22:19:58"]