diff --git a/README.md b/README.md index 682b45b0..e5eacfc4 100644 --- a/README.md +++ b/README.md @@ -56,26 +56,6 @@ The installer asks before every system change, and re-running the same line upda --- -## Zero-Lag Input Overlay - -

- Zerolag demo: instant local echo next to 600ms-2.7s server echo, side by side on two phones -

- -When accessing your coding agent remotely (VPN, Tailscale, SSH tunnel), every keystroke normally takes 200-300ms to round-trip. Codeman implements a **Mosh-inspired local echo system** that makes typing feel instant regardless of latency. - -A pixel-perfect DOM overlay inside xterm.js renders keystrokes at 0ms. Background forwarding silently sends every character to the PTY in 50ms debounced batches, so Tab completion, `Ctrl+R` history search, and all shell features work normally. When the server echo arrives 200-300ms later, the overlay seamlessly disappears and the real terminal text takes over — the transition is invisible. - -- **Ink-proof architecture** — lives as a `` at z-index 7 inside `.xterm-screen`, completely immune to Ink's constant screen redraws (two previous attempts using `terminal.write()` failed because Ink corrupts injected buffer content) -- **Font-matched rendering** — reads `fontFamily`, `fontSize`, `fontWeight`, and `letterSpacing` from xterm.js computed styles so overlay text is visually indistinguishable from real terminal output -- **Full editing** — backspace, retype, paste (multi-char), cursor tracking, multi-line wrap when input exceeds terminal width -- **Persistent across reconnects** — unsent input survives page reloads via localStorage -- **Enabled by default** — works on both desktop and mobile, during idle and busy sessions - -> Extracted as a standalone library: [`xterm-zerolag-input`](https://www.npmjs.com/package/xterm-zerolag-input) — see [Published Packages](#published-packages). - ---- - ## Quick Start - Installation ```bash @@ -332,6 +312,26 @@ Multi-agent Workflow runs ("ultracode") get the same treatment: a floating run w --- +## Zero-Lag Input Overlay + +

+ Zerolag demo: instant local echo next to 600ms-2.7s server echo, side by side on two phones +

+ +When accessing your coding agent remotely (VPN, Tailscale, SSH tunnel), every keystroke normally takes 200-300ms to round-trip. Codeman implements a **Mosh-inspired local echo system** that makes typing feel instant regardless of latency. + +A pixel-perfect DOM overlay inside xterm.js renders keystrokes at 0ms. Background forwarding silently sends every character to the PTY in 50ms debounced batches, so Tab completion, `Ctrl+R` history search, and all shell features work normally. When the server echo arrives 200-300ms later, the overlay seamlessly disappears and the real terminal text takes over — the transition is invisible. + +- **Ink-proof architecture** — lives as a `` at z-index 7 inside `.xterm-screen`, completely immune to Ink's constant screen redraws (two previous attempts using `terminal.write()` failed because Ink corrupts injected buffer content) +- **Font-matched rendering** — reads `fontFamily`, `fontSize`, `fontWeight`, and `letterSpacing` from xterm.js computed styles so overlay text is visually indistinguishable from real terminal output +- **Full editing** — backspace, retype, paste (multi-char), cursor tracking, multi-line wrap when input exceeds terminal width +- **Persistent across reconnects** — unsent input survives page reloads via localStorage +- **Enabled by default** — works on both desktop and mobile, during idle and busy sessions + +> Extracted as a standalone library: [`xterm-zerolag-input`](https://www.npmjs.com/package/xterm-zerolag-input) — see [Published Packages](#published-packages). + +--- + ## Respawn Controller The core of autonomous work. When the agent goes idle, the Respawn Controller detects it, sends a continue prompt, cycles context management commands for fresh context, and resumes — running **24+ hours** completely unattended. diff --git a/README.zh-CN.md b/README.zh-CN.md index b8d1ace2..35bfdc2f 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -47,26 +47,6 @@ codeman web --- -## 零延迟输入叠加层 - -

- Zerolag 演示:两台手机并排对比,即时本地回显与 600ms-2.7s 服务端回显 -

- -远程访问你的编程智能体时(VPN、Tailscale、SSH 隧道),每次按键通常需要 200–300 毫秒往返。Codeman 实现了一套**受 Mosh 启发的本地回显系统**,无论延迟多高,打字都感觉即时。 - -xterm.js 内部一个像素级精准的 DOM 叠加层以 0ms 渲染按键。后台转发会以 50ms 防抖批次静默地把每个字符送往 PTY,因此 Tab 补全、`Ctrl+R` 历史搜索以及所有 shell 特性都正常工作。当服务端回显在 200–300ms 后到达时,叠加层无缝消失、真实终端文本接管 —— 整个切换过程不可见。 - -- **抗 Ink 架构** —— 它作为 `.xterm-screen` 内 z-index 7 的一个 `` 存在,完全不受 Ink 持续重绘屏幕的影响(此前两次使用 `terminal.write()` 的尝试都失败了,因为 Ink 会破坏注入的缓冲区内容) -- **字体匹配渲染** —— 从 xterm.js 的计算样式读取 `fontFamily`、`fontSize`、`fontWeight` 与 `letterSpacing`,使叠加层文本与真实终端输出在视觉上无法区分 -- **完整编辑** —— 退格、重打、粘贴(多字符)、光标跟踪,输入超过终端宽度时多行换行 -- **重连后持久** —— 未发送的输入通过 localStorage 在页面刷新后保留 -- **默认启用** —— 桌面端与移动端均可用,会话空闲或繁忙时都生效 - -> 已抽取为独立库:[`xterm-zerolag-input`](https://www.npmjs.com/package/xterm-zerolag-input) —— 见[已发布的包](#已发布的包)。 - ---- - ## 快速开始 — 安装 ```bash @@ -322,6 +302,26 @@ codeman web --https --- +## 零延迟输入叠加层 + +

+ Zerolag 演示:两台手机并排对比,即时本地回显与 600ms-2.7s 服务端回显 +

+ +远程访问你的编程智能体时(VPN、Tailscale、SSH 隧道),每次按键通常需要 200–300 毫秒往返。Codeman 实现了一套**受 Mosh 启发的本地回显系统**,无论延迟多高,打字都感觉即时。 + +xterm.js 内部一个像素级精准的 DOM 叠加层以 0ms 渲染按键。后台转发会以 50ms 防抖批次静默地把每个字符送往 PTY,因此 Tab 补全、`Ctrl+R` 历史搜索以及所有 shell 特性都正常工作。当服务端回显在 200–300ms 后到达时,叠加层无缝消失、真实终端文本接管 —— 整个切换过程不可见。 + +- **抗 Ink 架构** —— 它作为 `.xterm-screen` 内 z-index 7 的一个 `` 存在,完全不受 Ink 持续重绘屏幕的影响(此前两次使用 `terminal.write()` 的尝试都失败了,因为 Ink 会破坏注入的缓冲区内容) +- **字体匹配渲染** —— 从 xterm.js 的计算样式读取 `fontFamily`、`fontSize`、`fontWeight` 与 `letterSpacing`,使叠加层文本与真实终端输出在视觉上无法区分 +- **完整编辑** —— 退格、重打、粘贴(多字符)、光标跟踪,输入超过终端宽度时多行换行 +- **重连后持久** —— 未发送的输入通过 localStorage 在页面刷新后保留 +- **默认启用** —— 桌面端与移动端均可用,会话空闲或繁忙时都生效 + +> 已抽取为独立库:[`xterm-zerolag-input`](https://www.npmjs.com/package/xterm-zerolag-input) —— 见[已发布的包](#已发布的包)。 + +--- + ## 重生控制器(Respawn Controller) 自主工作的核心。当智能体进入空闲,重生控制器会检测到,发送继续提示,循环执行上下文管理命令以获得全新上下文,然后恢复工作 —— 可完全无人值守运行 **24 小时以上**。