kimi-code/docs/en/guides/web.md
wenhua020201-arch db792c34ce
Some checks are pending
CI / test-windows (push) Waiting to run
CI / lint (push) Waiting to run
CI / typecheck (push) Waiting to run
CI / build (push) Waiting to run
CI / test (1) (push) Waiting to run
CI / test (2) (push) Waiting to run
CI / test (3) (push) Waiting to run
CI / test (4) (push) Waiting to run
CI / test (5) (push) Waiting to run
CI / test-pi-tui (push) Waiting to run
CI / test-vscode-legacy (push) Waiting to run
Nix Build / Check flake.nix workspace sync (push) Waiting to run
Nix Build / nix build .#kimi-code (push) Blocked by required conditions
Release / Release (push) Waiting to run
Release / Deploy docs (push) Blocked by required conditions
Release / Native release artifact (push) Blocked by required conditions
Release / Publish native release assets (push) Blocked by required conditions
docs: rework web guide, interaction and getting-started pages (#3260)
* docs: rework web guide, interaction and getting-started pages (zh/en)

* docs: rename guides/server to guides/web to match the reworked page

* docs: neutralize screenshot workspace names and sync en web guide to zh

* docs: trim web UI screenshot to a single neutral workspace
2026-08-26 17:00:57 +08:00

5 KiB

Using Kimi Code in the browser

Kimi Code Web is the browser-based graphical interface built into Kimi Code CLI: run kimi web in a terminal, and you can start sessions, chat, handle approvals, and review file changes in a browser — a friendlier interface, while sessions and data still live entirely on your machine.

Kimi Code Web UI

Getting started

1 Install Kimi Code CLI and log in

kimi web is a built-in CLI command — it isn't available without the CLI. See Getting started for installation and login.

2 Run kimi web in a terminal

If you're already in the CLI, you can also type /web to hand the current session off to the browser.

3 The web UI opens in your default browser once ready

The startup banner prints the access URL — if the browser doesn't open by itself, copy this URL and open it manually:

Local:   http://127.0.0.1:58627/#token=...
Token:   ...
Stop:    Ctrl+C

::: warning The #token= fragment is the access credential — don't share it. Stop the server with Ctrl+C in the terminal. :::

Common commands

Option Description
--port <port> Bind port; defaults to 58627, auto-increments when taken
--host [host] Let phones, tablets, or other computers on the same LAN access the web address; you can also specify an IP, e.g. --host 192.168.1.10
--no-open Don't open the browser when ready
--log-level <level> Enable server logs at the given level; off by default

Relationship with the CLI

The web UI and the CLI share the same login state, configuration (config.toml), and session data.

Note that the web UI supports only a subset of the CLI's slash commands — common ones like /new, /goal, and /compact all work. Everything else usually has a point-and-click equivalent in the UI (the settings page, the model picker, the account menu, the task panel).

How the two sides compare:

Feature CLI Web Notes
Streaming chat Web renders rich formats incrementally (tables, code highlighting, diffs, tool cards)
Session management Web lets you archive less-used sessions away; the archive page sorts them by time and you can restore them anytime; the Open / Done / Workspaces tabs are a Lab experiment (off by default) — enable them on the settings Lab page
Approvals Web handles them with clicks in the UI — no commands needed
Background tasks Web shows live progress in the task panel
Files and changes Web has a changed-files summary card and per-file diffs
Settings Web adds a settings UI (providers, account & usage, Lab experiments)
Global search Web searches across sessions and workspaces
Mobile layout With LAN sharing on (--host), it works in phone browsers on the same network

Security notes

  • Set a parallel credential: when binding a LAN address, also set the KIMI_CODE_PASSWORD environment variable; the server then rate-limits authentication failures automatically.
  • Don't disable authentication entirely: --dangerous-bypass-auth turns off all authentication — anyone who can reach the port can control your sessions, file system, and shell. Only use it on trusted networks or behind your own authenticating proxy. See the kimi command reference.

FAQ

The port is already taken

Nothing to do. kimi web automatically retries with the next port (58628, 58629, …) — just use the address printed in the startup banner.

The URL won't open in the browser

First check the server is still running in the terminal (it runs in the foreground there). Copy the full URL including the #token= part; opening only http://127.0.0.1:58627 lands on a token input page, where pasting the Token value from the banner also works.

How to recover from an invalid token

Run kimi web rotate-token to generate a new token, then open the new banner URL. All running instances switch to the new token automatically — no restart needed.

Other devices on the same Wi-Fi can't connect

Make sure you started with --host (bare is fine), and use the LAN URL from the banner (like http://192.168.x.x:58627/#token=...). If it still fails, check that the machine's firewall allows the port, and that both devices are really on the same network segment — guest Wi-Fi, VPNs, and switching to a 4G/5G hotspot all isolate devices.

Next steps

  • Server API — REST / WebSocket APIs for scripts and third-party integrations (experimental)
  • kimi command — all kimi web command-line options