notebook-intelligence  by notebook-intelligence

AI coding assistant and framework for JupyterLab

Created 1 year ago
250 stars

Top 100.0% on SourcePulse

GitHubView on GitHub
1 Expert Loves This Project
Project Summary

Notebook Intelligence (NBI) is an AI coding assistant and extensible framework for JupyterLab, designed to significantly boost user productivity. It supports a wide range of AI models from providers like GitHub Copilot, Ollama (for local models), and any other LLM provider. NBI offers advanced features such as a dedicated Claude Mode for enhanced AI agent interactions and inline coding assistance, alongside an autonomous Agent Mode capable of creating, editing, and executing notebooks.

How It Works

NBI integrates into JupyterLab via Python server and NPM frontend extensions. Its core innovation lies in its flexibility, allowing users to connect various LLM providers and models. The "Claude Mode" specifically leverages Claude Code for a sophisticated AI Agent Chat UI and inline chat/auto-complete, bringing features like built-in tools and custom commands to JupyterLab. The "Agent Mode" enables AI to interactively manage notebooks—creating, editing, and executing cells—while also detecting and fixing potential issues. Code generation and suggestions are accessible via inline chat popovers and automatic typing completions.

Quick Start & Requirements

  • Installation: pip install notebook-intelligence
  • Prerequisites: Requires JupyterLab version 4.0.0 or higher. API keys and base URLs may be needed for specific LLM providers (e.g., Claude).
  • Configuration: Settings are managed via the JupyterLab Settings menu or the NBI Chat UI.

Highlighted Details

  • Provider Agnostic: Integrates with GitHub Copilot, Ollama, and any LLM provider.
  • Claude Mode: Dedicated integration with Claude Code for advanced agent chat, tools, and inline suggestions.
  • Agent Mode: Autonomous AI agent for notebook creation, editing, execution, and issue resolution.
  • Built-in Tools: Includes utilities for notebook/file editing, file reading, and shell command execution within JupyterLab.
  • MCP Support: Seamless integration with Model Context Protocol (MCP) servers via stdio or SSE transports.
  • Ruleset System: Allows defining custom coding guidelines and project-specific conventions via markdown files, automatically applied based on context.

Maintenance & Community

No specific details regarding contributors, sponsorships, or community channels (e.g., Discord, Slack) were found in the provided README.

Licensing & Compatibility

The license type and compatibility notes for commercial use or closed-source linking are not specified in the provided README.

Limitations & Caveats

  • Security: Storing GitHub Copilot tokens requires careful handling; default encryption is weak, necessitating the use of NBI_GH_ACCESS_TOKEN_PASSWORD environment variable for enhanced security. The user-data.json file contains sensitive tokens and should not be shared.
  • MCP Server Risks: Users must ensure MCP servers are from trusted sources, as they can potentially access private data or make irreversible system changes.
  • Configuration Updates: Manual changes to config.json require a JupyterLab restart to become effective.
Health Check
Last Commit

1 month ago

Responsiveness

Inactive

Pull Requests (30d)
2
Issues (30d)
4
Star History
24 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.