kimi-webbridge-fleet

by jeet-dhandha✓ Verified

Drive multiple Chrome profiles simultaneously through Kimi WebBridge — one daemon per profile, one router, deterministic ports.

0
Stars
0
Forks
JavaScript
Language
8/24/2026
Added
View on GitHubDownload ZIP

⚠️ Third-Party Software Notice

This skill is third-party open-source software developed and hosted independently on GitHub. SkillTip is an informational directory and does not control or maintain the underlying repository. Any security checks displayed are automated and limited in scope. Review the source code before installing.

Read the Terms of Service

Installation

Add to your Claude Code skills directory:

# Add to your Claude Code skills
git clone https://github.com/jeet-dhandha/kimi-webbridge-fleet

Getting Started

Guides for using skills like kimi-webbridge-fleet.

Security Report

Verified

Last scanned: —

{
  "status": "PASSED",
  "issues": []
}

README.md

kimi-webbridge-fleet

Let one AI agent drive several of your real Chrome profiles at once — each with its own Google login — instead of one at a time. A drop-in layer over Kimi WebBridge: no patching, your existing :10086 calls keep working — you just add a "profile" field.

Kimi WebBridge lets an AI agent drive your real Chrome with your real logins. By design it has a single connection slot: one daemon, one extension, one profile. If you have a work account and a personal account, only one can be driven at a time — the other is rejected until you quit its Chrome or toggle its extension off.

kimi-webbridge-fleet removes that limit without patching anything. It runs one stock daemon per profile on its own port, and puts a small router on the usual :10086 so your existing calls keep working — you just add a "profile" field.

Before / after

How it works

The stock daemon enforces two singletons:

  • Daemon singleton — kimi-webbridge start refuses to launch if anything answers http://127.0.0.1:10086/status (the probe is hardcoded to :10086, regardless of --addr).

  • Slot singleton — one daemon accepts exactly one extension connection.

The key observation: the daemon singleton only guards :10086. Leave :10086 empty and you can start as many daemons as you like on other ports — each its own independent slot. So fleet:

  • starts one stock daemon per profile on a deterministic port (10100 + hash(profileDir)), each with its own state dir;

  • runs a router on :10086 that proxies /command to the right daemon based on a top-level "profile" field;

  • leaves each profile's extension to connect to its own daemon's /ws directly (the router only proxies HTTP).

No binary patching, nothing that breaks on a Kimi WebBridge upgrade.

Implementing this natively? If you maintain Kimi WebBridge (or want to send a patch), docs/UPSTREAM-NATIVE-MULTIPROFILE.md is an explicit, agent-followable spec for adding multi-profile support inside the daemon + extension — grounded in the observed protocol, with acceptance tests. With those changes, fleet becomes unnecessary.

Platform & scope

macOS + Google Chrome only, right now. The implementation leans on macOS-specific commands and Chrome-specific paths:

Used for macOS command / path (this tool) Linux/Windows equivalent (not yet implemented)

Open a profile window / wake the extension "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" --profile-directory=… <urls> (binary direct, headful) google-chrome --profile-directory=… / start chrome …

Is Chrome running pgrep -x "Google Chrome" pgrep chrome / tasklist

Quit Chrome (to write storage.local) osascript … quit then pkill pkill chrome / taskkill

Force-install policy defaults write com.google.Chrome … policy JSON in /etc/opt/chrome/policies/… / registry

Profiles + sessions + extension registry ~/Library/Application Support/Google/Chrome ~/.config/google-chrome / %LOCALAPPDATA%\…\Chrome\User Data

Porting is mostly swapping those helpers (src/profiles.mjs, src/extension.mjs). PRs welcome. Chromium/Brave/Edge would also need their own paths and extension id.

Requirements

  • macOS + Google Chrome, and a working Kimi WebBridge install (see below).

  • Node.js ≥ 18 (no npm dependencies — pure built-ins; runs under bun too).

Installing Kimi WebBridge (prerequisite)

Two steps, straight from kimi.com/features/webbridge (the "With Local Agent" flow):

1. Get the Chrome extension — Kimi WebBridge on the Chrome Web Store.

2. Install the local daemon with the official bootstrap installer:

curl -fsSL https://cdn.kimi.com/webbridge/install.sh | bash

This downloads the binary to ~/.kimi-webbridge/bin/kimi-webbridge (the path fleet orchestrates), starts the daemon, and installs the WebBridge skill into detected AI-agent runtimes.

# verify it's installed and the stock daemon answers
~/.kimi-webbridge/bin/kimi-webbridge status
# keep it current
~/.kimi-webbridge/bin/kimi-webbridge upgrade

Install

As a Claude Code skill/plugin — so your agent can drive the fleet itself:

/plugin marketplace add jeet-dhandha/kimi-webbridge-fleet
/plugin install kimi-webbridge-fleet@kwb

As a CLI — via npm, no clone:

npx kimi-webbridge-fleet profiles      # one-off
npm i -g kimi-webbridge-fleet          # puts `kwb` on your PATH

From source — for hacking / PRs:

git clone https://github.com/jeet-dhandha/kimi-webbridge-fleet.git
cd kimi-webbridge-fleet
npm link        # optional: puts `kwb` on your PATH
# or just run:  node bin/kwb.mjs <cmd>

Quickstart

# 1. See your profiles, their assigned ports, and which have the extension
kwb profiles

# 2. Point each profile's extension at its OWN daemon — zero clicks (no popup).
#    This writes the extension's local_url on disk, which needs Chrome closed, so
#    kwb connect quits Chrome for you (your session is saved for restore).
kwb connect "Work" "Personal"

# 3. Bring up the daemons + router on :10086, reopen each window, WAKE each extension,
#    and poll until each reports "✓ connected". (If Chrome is already fully quit,
#    `kwb up` alone performs the connect write for you — step 2 is optional then.)
kwb up "Work" "Personal"

# 4. Drive any profile by name — same call, one extra field:
curl -s -X POST http://127.0.0.1:10086/command \
  -H 'Content-Type: application/json' \
  -d '{"action":"navigate","args":{"url":"https://search.google.com/search-console"},"session":"audit","profile":"Work"}'

# 5. When done
kwb down            # stops the fleet, restores the stock :10086 daemon

A request with no "profile" is routed to your default (last-used profile whose daemon is up, or KWB_DEFAULT_PROFILE).

Example — two live logins, no extension dance

You want a morning digest: unread Reddit DMs from your Personal account and unread Slack mentions from your Work email — pulled, cross-referenced, summarized. Stock Kimi WebBridge gives you one slot, so you'd drive one account, then quit Chrome or toggle its extension off to free the slot for the other — serial, and you lose the live session. Fleet keeps both connected at once; same call, you just name the profile:

# Reddit — Personal profile
curl -s -X POST http://127.0.0.1:10086/command -H 'Content-Type: application/json' \
  -d '{"action":"navigate","args":{"url":"https://www.reddit.com/message/unread/"},"session":"digest","profile":"Personal"}'

# Slack — Work profile, same instant, nothing toggled off
curl -s -X POST http://127.0.0.1:10086/command -H 'Content-Type: application/json' \
  -d '{"action":"navigate","args":{"url":"https://app.slack.com/client"},"session":"digest","profile":"Work"}'

Read both, merge, act — two real sessions, zero juggling. Same trick scales to many Google accounts (Gmail / Drive / Ads / Search Console) running side by side.

Zero-click connect (no popup)

Pointing a profile's extension at its own daemon port used to be a manual click in the extension popup. Fleet now does it for you, with no popup, no CDP, no dependencies — in two halves, both pure Node:

  • Write the URL. The extension's daemon URL is a plain local_url key in its chrome.storage.local LevelDB (which, unlike Secure Preferences, is not integrity-protected). kwb connect writes it directly while Chrome is closed (LevelDB is single-writer), replacing the popup's Connect click. The value persists, so later kwb up runs just reconnect.

  • Wake the worker. Writing the URL isn't enough on its own: the Kimi WebBridge MV3 service worker only re-reads local_url when it starts, but it registers no chrome.runtime.onStartup listener, so Chrome never auto-starts it on launch — on an already-set-up profile the write would otherwise sit unused. kwb up wakes the worker by opening the extension's own popup page (chrome-extension://<id>/popup.html) as a tab — the headful equivalent of clicking the toolbar icon. Chrome is launched via its binary directly (headful), since macOS open doesn't reliably forward a chrome-extension:// URL.

This works for both Chrome-Web-Store installs and unpacked / developer-mode builds (whose extension id Chrome assigns unpredictably — fleet identifies the extension by name and reads back whichever id it was given). To point a profile back at the stock single :10086 bridge: kwb connect "Work" --restore.

Why not CDP / --remote-debugging-port? Branded Chrome 136+ refuses remote debugging on the default user-data-dir where real profiles live, and --load-extension is ignored in Google Chrome 137+. The on-disk write + popup wake sidesteps both.

CLI

Command What it does

kwb profiles List profiles, hashed ports, e

Frequently Asked Questions

What is kimi-webbridge-fleet?⌄

kimi-webbridge-fleet is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by jeet-dhandha. Drive multiple Chrome profiles simultaneously through Kimi WebBridge — one daemon per profile, one router, deterministic ports. It has 0 GitHub stars.

Is kimi-webbridge-fleet safe to use?⌄

Yes. kimi-webbridge-fleet passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.

How do I install kimi-webbridge-fleet?⌄

Clone the repository with "git clone https://github.com/jeet-dhandha/kimi-webbridge-fleet" and add it to your Claude Code skills directory (see the Installation section above).

What programming language is kimi-webbridge-fleet written in?⌄

kimi-webbridge-fleet is primarily written in JavaScript. It is open-source under jeet-dhandha on GitHub, so you can review or fork the full source.

Are there alternatives to kimi-webbridge-fleet?⌄

Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh kimi-webbridge-fleet against similar tools.

Comments (0)

No comments yet. Be the first to share your thoughts!

ECC

by affaan-m

10

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

⭐ 242,219⑂ 36,702JavaScript
AI Agentsai-agentsanthropicclaude-code
View details →
15

An agentic skills framework & software development methodology that works.

⭐ 234,966⑂ 20,863Shell
AI Agentsai-agentsbrainstorming
View details →

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

⭐ 185,940⑂ 28,768JavaScript
AI Agentsai-agentsanthropicclaude-code
View details →

cc-switch

by farion1231

3

A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io

⭐ 128,868⑂ 8,826Rust
AI Agentsclaude-codeai-tools
View details →

claude-code

by anthropics

Claude Code is an agentic coding tool that lives in your terminal, understands your codebase, and helps you code faster by executing routine tasks, explaining complex code, and handling git workflows - all through natural language commands.

⭐ 120,031⑂ 19,897Shell
AI Agents
View details →

Developers Also Liked

Based on votes and bookmarks from developers who liked this skill

ECC

by affaan-m

10

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

⭐ 242,219⑂ 36,702JavaScript
AI Agentsai-agentsanthropicclaude-code
View details →
15

An agentic skills framework & software development methodology that works.

⭐ 234,966⑂ 20,863Shell
AI Agentsai-agentsbrainstorming
View details →

n8n

by n8n-io

12

Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.

⭐ 201,881⑂ 60,308TypeScript
MCP Serversapisai-tools
View details →

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

⭐ 185,940⑂ 28,768JavaScript
AI Agentsai-agentsanthropicclaude-code
View details →

cc-switch

by farion1231

3

A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io

⭐ 128,868⑂ 8,826Rust
AI Agentsclaude-codeai-tools
View details →