Skip to main content

jupyterlab_kimi_code_extension

GitHub Actions npm version PyPI version Total PyPI downloads JupyterLab 4 Brought To You By KOLOMOLO Donate PayPal

A Kimi Code launcher and manager for JupyterLab. Start, resume, fork, switch, and clean up Kimi Code CLI sessions from a side panel - one click lands you in the right terminal with Kimi already running, no duplicate tabs, no session-id hunting. Companion to jupyterlab_claude_code_extension, built to the same design.

Why this extension

One principle: Moonshot knows best how to build the agent harness; we know best how to make it work in JupyterLab.

Chat-panel extensions re-implement the agent loop and trail the real tool. This one runs the genuine, unmodified Kimi Code CLI in JupyterLab terminals - skills, subagents, MCP, every release the day it lands. The extension owns the JupyterLab side:

  • Launching - new or resumed sessions, normal or YOLO mode, no wrapper shell, correctly sized before Kimi draws its first frame
  • Finding - every Kimi project in one panel: favourites, search, live activity
  • Reusing - clicking a session focuses its existing terminal, never a duplicate
  • Managing - parallel conversations: switch, fork with a name, delete - no -S pickers, no raw UUIDs

Features

  • Three-section side panel - Favorites, Recent, and All projects, each scrolling independently
  • One-click resume - click a row to jump back into that session in a terminal (kimi -S <session-id>). If a terminal already runs that exact conversation, it's reused instead of duplicated
  • YOLO mode - every launch action has a (YOLO) variant that starts Kimi with --yolo, auto-approving regular tool calls; a yoloMode setting makes it the default
  • Branch session - fork the current conversation into a new named session via the right-click menu (normal or YOLO). Kimi has no fork CLI flag, so the extension forks server-side: the session directory is copied with a fresh id and title, and the fork opens in a new terminal with kimi -S
  • Conversation switcher - a right-click "Switch and Manage Sessions" submenu lists a project's parallel conversations by title and short session id with last-activity time; pick one and it becomes the row's current conversation. "Manage Sessions..." opens a searchable popup - scrollable table, current conversation pinned at top, multi-select delete to trash
  • Open branched conversation - open any parallel conversation directly in its own terminal, so several branches of one project run side by side
  • Copy session id - right-click copies the row's current conversation id to the clipboard; the Manage Sessions popup adds a copy button on every row
  • Favorites - star projects you keep coming back to via the right-click menu
  • Remove and clean up - drop a project's Kimi history (moved to trash, honouring JupyterLab's "move files to trash" setting), or clean up parallel sessions keeping only the main one; both ask for confirmation first
  • Coloured terminal tabs - each conversation's terminal tab is tinted with a colour derived deterministically from its session id (Kimi has no /color command, so the tint is stable per conversation instead of user-set); needs the companion jupyterlab_colourful_tab_extension (installed automatically). On by default; turn it off with the "Coloured terminal tabs" setting
  • Activity at a glance - each row shows its last activity (now, 5m ago, 2h ago, 3d ago) in an aligned column; rows active within the last minute light up in the theme's brand colour, rows idle for over a week dim
  • Search - fuzzy filter toggled by the funnel button next to refresh, with a clear button
  • Presentation modes - label rows by name (the session title Kimi records, falling back to the folder name) or by path relative to the JupyterLab root
  • Hover tooltip with project path, last activity, message count, conversation count, git branch, and session id
  • Auto-disabled when the Kimi Code CLI is not installed

Requirements

  • JupyterLab >= 4.0.0
  • Python >= 3.10
  • kimi CLI on PATH

Install

Developers must install via the project Makefile (which orchestrates clean, build, and pip install of the resulting wheel):

make install

End-users can install the published package from PyPI:

pip install jupyterlab_kimi_code_extension

[!WARNING] package.json pins webpack: 5.106.0 and chalk: 4.1.2 in both resolutions and overrides. Do not remove these. webpack >= 5.106.1 changed its module-federation share identifier format and crashes the unmaintained license-webpack-plugin (split('=')[1].trim()) that @jupyterlab/builder injects into every production build; the duplicate chalk@2.4.2 pulled by duplicate-package-checker-webpack-plugin crashes on Node 24+ in the build-isolation install. Without the pins, make publish and CI fail on python -m build.

Kimi statusline

The package ships a companion CLI that installs a powerline-style status line (context %, model, effort, git, env, pwd) into ~/.kimi-code and points status_line.command in tui.toml at it - after asking for confirmation:

jupyterlab_kimi_code install-kimi-statusline

Uninstall

pip uninstall jupyterlab_kimi_code_extension

Metadata

Release files for jupyterlab-kimi-code-extension 0.7.8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jupyterlab-kimi-code-extension 0.7.8
File Size Uploaded
jupyterlab_kimi_code_extension-0.7.8.tar.gz 472.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for jupyterlab-kimi-code-extension 0.7.8
File Interpreter ABI Platform
jupyterlab_kimi_code_extension-0.7.8-py3-none-any.whl Python 3 none any Details

Total release size: 587.1 kB

Release files / jupyterlab_kimi_code_extension-0.7.8.tar.gz

Download URL jupyterlab_kimi_code_extension-0.7.8.tar.gz
Size 472.5 kB
Tags Source
SHA-256 checksum
How to use checksums
8752c80fa3f8c2abaa84fcb92e5ed9f3c0005e237af9088d1993df01713abd74
BLAKE2b-256 checksum
How to use checksums
b02ddda9f189005c871770dae96ca8f2260f495256056cd64df24c3e68ac2a37
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / jupyterlab_kimi_code_extension-0.7.8-py3-none-any.whl

Download URL jupyterlab_kimi_code_extension-0.7.8-py3-none-any.whl
Size 114.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
641480e9123e39b51e8fa56564a60de91aa4d5ebd1fe31f39ffd4415fb78481b
BLAKE2b-256 checksum
How to use checksums
9454c4fa4bb8747ccc3ec8d0efc715bd77532d7cfc29481df6dfabeb1059a73e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

0.7.8 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page