Duplex
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
> **Listed in** awesome-mcp-servers · awesome-mcp-list · TensorBlock · Awesome-MCP-ZH · freemcp.space · Glama
**One browser shared by a human and an AI** — the human sees the rendered page, the AI reads the DOM and page source. Same tabs, same live session, at the same time.
**English** | 中文
*Duplex start page (dark theme). A light theme is also included.*
Demo
*The AI drives: it searches Bilibili, opens the video and starts playback — the side panel streams every step.*
**Full demo — 3 min, bilingual subtitles, with music:**
*One continuous walkthrough: Act 1 — the built-in agent searches Bilibili and plays a paper-explainer video; Act 2 — Kimi browses to Claude and asks what CUDA is, then summarizes the answer; feature highlights — multi-model APIs, skills, external agents, emergency stop; and where to get it.*
*Controlling Microsoft Excel for the web — no dedicated spreadsheet-editing skill installed; only the stock API and a few simple automation skills*
> **A feasibility demo, not a recommended workflow.** With no task-specific skill to lean on, Duplex worked with the stock API plus a few simple automation skills alone — improvising clipboard read/write channels, DOM probing and the like to push a whole grade sheet into Excel for the web. It got there, but the process wasted a lot of time and tokens. 😅
⚠️ Usage notes
- **Security boundaries (high stakes — please read).** Duplex lets the AI drive your **real browser session**, including login state, cookies and local data. Under this architecture, a wrong AI move can touch real accounts and data (sending messages, submitting forms, modifying or deleting content), potentially with serious consequences. Don't leave the agent running unattended in environments where sensitive accounts are signed in. The emergency-stop hotkeys (default F2 / Ctrl+Shift+K, customizable in settings) are a last-resort human brake — they are **no substitute for your own judgement about what the AI should be allowed to touch**.
- **You and the AI share one page — and you come first.** While you are scrolling, typing or interacting, the AI keeps observing but pauses its own modifications on that page instead of fighting you for the same input. A status bar lists the pages under human control, each with a one-click resume for when you're ready. The emergency stop remains the hard brake: one key cuts every AI action, the CLI processes it started, and all queued messages.
What's new in v0.2.9
- **Human-first collaboration** — the AI yields to you. When you scroll, type, tap or focus something, it keeps reading and thinking but pauses its own modifications on that page; a status bar shows which pages are under human control and hands each one back with a click. Your scroll position and focus are preserved even while the AI acts.
- **Playwright under the hood** — page actions now drive the browser's own Chromium through the debugging protocol: Playwright locators survive DOM changes, iframes and open shadow DOM work, waits and script execution are cancellable, and AI input is marked so the app can tell it apart from yours.
- **Task-tab binding & message integrity** — each AI task is bound to its tab: switching tabs no longer redirects the AI, and closing the task tab reports an error instead of silently acting on another page. Panel messages and annotations carry their source tab / document / target session; injections are claimed once (60 s lease + renew + ACK), so nothing leaks to the wrong session and retries don't duplicate.
- **Session restore** — on exit Duplex saves your tabs, their order and the active page; the next launch brings them back (blank pages included; local file: / data: pages are not persisted).
- **Sharper stops** — stopping a built-in task cancels its model run, tools and pending confirmations; the emergency stop additionally terminates CLI children started by the app and clears queued injections.
*Also in this build (from the 0.2.6 batch): fully customizable shortcuts, the complete bookmark manager, native context menus, the in-flow find bar, the F2 / Ctrl+Shift+K emergency stop, and honest annotation delivery.*
How Duplex compares
| | **Duplex** | browser-use | Browser MCP | Playwright MCP | AI browsers (Atlas / Comet) |