[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-93074":3},{"id":4,"name":5,"fullName":6,"owner":5,"repo":5,"description":7,"homepage":8,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":12,"openIssues":13,"contributorsCount":13,"subscribersCount":13,"size":13,"stars1d":13,"stars7d":13,"stars30d":14,"stars90d":13,"forks30d":13,"starsTrendScore":13,"compositeScore":15,"rankGlobal":9,"rankLanguage":9,"license":16,"archived":17,"fork":17,"defaultBranch":18,"hasWiki":19,"hasPages":17,"topics":20,"createdAt":9,"pushedAt":9,"updatedAt":31,"readmeContent":32,"aiSummary":33,"trendingCount":13,"starSnapshotCount":13,"syncStatus":34,"lastSyncTime":35,"discoverSource":36},93074,"handmux","handmux\u002Fhandmux","A mobile vibe-coding cockpit — built on tmux: drive your live session, Claude Code \u002F Codex — anything a terminal can run — from your phone. 移动 Vibe Coding 驾驶舱 —— 基于 tmux 实现，可在手机上驱动你的会话、Claude Code \u002F Codex、任何终端能实现的东西。","https:\u002F\u002Fhandmux.com\u002F",null,"JavaScript",59,1,0,3,41.2,"GNU Affero General Public License v3.0",false,"master",true,[21,22,23,24,25,26,27,28,29,30],"ai-agents","claude-code","mobile","pwa","react","remote","terminal","tmux","vibe-coding","xterm","2026-07-22 04:02:08","\u003Cp align=\"center\">\u003Cimg src=\"assets\u002Freadme-banner.png\" alt=\"handmux\" width=\"420\">\u003C\u002Fp>\n\n\u003Cp align=\"center\">🌐 \u003Cb>English\u003C\u002Fb> &nbsp;·&nbsp; 🇨🇳 \u003Ca href=\"README.zh-CN.md\">\u003Cb>中文\u003C\u002Fb>\u003C\u002Fa>\u003C\u002Fp>\n\n\u003Cp align=\"center\">\u003Ca href=\"https:\u002F\u002Fhandmux.com\">\u003Cb>handmux.com\u003C\u002Fb>\u003C\u002Fa>\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fhandmux\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002Fhandmux?color=cb3837&logo=npm\" alt=\"npm\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fhandmux\u002Fhandmux\u002Factions\u002Fworkflows\u002Ftest.yml\">\u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fhandmux\u002Fhandmux\u002Factions\u002Fworkflows\u002Ftest.yml\u002Fbadge.svg\" alt=\"CI\">\u003C\u002Fa>\n  \u003Ca href=\"LICENSE\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-AGPL--3.0-blue\" alt=\"license: AGPL-3.0\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fnodejs.org\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fnode-%E2%89%A518-339933?logo=node.js&logoColor=white\" alt=\"node\">\u003C\u002Fa>\n\u003C\u002Fp>\n\n> **One phone, a whole mobile vibe-coding cockpit.** Built on tmux — one command on your computer, scan a QR, and your live session, Claude Code, Codex, git, previews and docs are all in your hand, creativity ready wherever you are.\n\nhandmux is more than a terminal on your phone. It puts the *same* live **tmux** session running on your computer into your phone's browser (real panes, not a read-only mirror), then builds a whole **mobile vibe-coding cockpit** around it: **Claude Code \u002F Codex** push you the moment a pane needs a decision — approve with your thumb, or fire off a new instruction by voice; browse a full-screen colored **git** diff; **preview** a running site in one tap; hear a **doc** read aloud line by line; move files both ways. Nothing to install on the phone — open a link and you're in; \"Add to Home Screen\" and it runs full-screen as a **PWA**, basically a native app. Curl up on the couch or squeeze onto the train — the vibe coding never stops, your creativity stays in hand.\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"assets\u002Fhandmux-run.gif\" alt=\"handmux: say what you need, Claude Code writes it, then tap the filename to preview the result\" width=\"280\">\n  &nbsp;&nbsp;\n  \u003Cimg src=\"assets\u002Fhandmux-doc.gif\" alt=\"handmux: a push pings you when a pane needs you, and you review the git repo and each agent's usage\" width=\"280\">\n  \u003Cbr>\n  \u003Cem>Real phone browser, real panes — say what you need and Claude Code writes it, then tap a filename to preview (left); a push pings you when needed, and you review the git repo &amp; each agent's usage (right).\u003C\u002Fem>\n\u003C\u002Fp>\n\n**[📖 Docs](https:\u002F\u002Fhandmux.com\u002Fdocs)** · **[📝 Changelog](CHANGELOG.md)** · **[📦 npm](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fhandmux)**\n\n## Quick start · about a minute\n\nYour computer needs tmux and Node ≥ 18; the phone just needs a browser. Pick one:\n\n**Homebrew — macOS (recommended)** · installs Node + tmux for you:\n\n```bash\nbrew install handmux\u002Ftap\u002Fhandmux\n```\n\n**npm — any platform** · if you already have Node:\n\n```bash\nnpm i -g handmux\n```\n\nThen run it:\n\n```bash\nhandmux start        # local \u002F same-wifi, nothing exposed\n```\n\n`start` prints a **QR code** (plus a URL and token). **Scan it with your phone** — the token rides in the code, so you're signed in on first open. You'll see your real tmux session; tap one and start driving.\n\nWant to reach it from **anywhere**? Add one flag for a free public HTTPS link:\n\n```bash\nhandmux start --tunnel cloudflare   # instant public URL (cloudflared auto-installed)\n```\n\n> Tunnel types, self-hosting, Windows\u002FWSL2, and the full command & flag reference → see the **[docs](https:\u002F\u002Fhandmux.com\u002Fdocs)**.\n\n## Why handmux\n\n- **🧰 More than a terminal — a whole mobile vibe-coding cockpit in your pocket.** Full-screen colored git diffs, one-tap preview of a running site, docs read aloud line by line, files moved both ways — a whole dev kit in hand, no hopping between apps.\n- **🚀 One minute from zero to coding on your phone.** One `handmux start`, one scan, done — no sign-up, no App Store, no app to sideload; just a link. \"Add to Home Screen\" and it's a full-screen **PWA**, as smooth as a native app.\n- **🧶 Walk away, keep working.** Your phone drives the *one* live tmux pane on your desk (not a new shell, not a screenshot). Close the laptop and keep watching from your thumb — exact same state.\n- **🔔 When it needs you, your phone rings.** Claude Code \u002F Codex push the moment they need a decision; add it to your home screen and they come through as system notifications. An inbox tags each pane working \u002F needs-you \u002F done — many projects at a glance — and you approve permissions and plans with a tap, so you stop babysitting the screen.\n- **🔒 Your code goes through no middleman.** Free and fully open-source; we run no server in the middle — your data travels straight between your computer and your phone, so it stays secure.\n\n## Features\n\n- **Claude Code \u002F Codex, deeply** — an inbox status ledger, thumb-approve permissions & plans, per-agent usage bars.\n- **Command & chat modes** — one bottom bar, two modes: type straight into the terminal, or talk to the agent in natural language. Preset ESC\u002FTab\u002FCtrl+C, custom ⌃⇧⌥ key-combos, and saved\u002Frecent commands split global or per-window (slash-commands included).\n- **Git viewer** — changes \u002F commit history \u002F any branch \u002F full-screen colored diff, multi-repo tabs, read-only, never touches your tree.\n- **Site preview** — a static folder, or a running service by port (routing \u002F APIs \u002F live-reload intact), in a phone or desktop viewport.\n- **Docs** — tap a path in the terminal to open it; Markdown rendered, font zoom, sentence-by-sentence read-aloud.\n- **Files both ways** — multi-select upload from the chat box, download, share in, copy any absolute path.\n- **Ideas — catch every one** — a thought the moment it strikes: a per-window idea\u002Fto-do list, jot one by voice and drop it straight into the prompt.\n- **Built for flaky networks** — backoff reconnect, connection-lost banner, offline page, polling that pauses in the background; a reflow-safe cursor and drag-to-select copy.\n- **Zero-install PWA** — runs in the browser; add to home screen for full-screen. Multilingual — English, 简体 \u002F 繁體中文, 日本語, 한국어.\n\n## Networking: one decision\n\nNo tunnel by default — the phone connects **straight to your own computer**, nothing exposed and no middleman. To reach it from outside, just ask: **does your machine already have a public address?**\n\n- **Yes** (cloud box \u002F public IP \u002F forwarded port) — no tunnel needed, connect directly; fastest and most private.\n- **No** — open a tunnel. Each runs on **your own free third-party account** — handmux just wires it up and operates no relay of its own: `cloudflare` (zero-config, up in seconds, but its public edge can be slow or unreliable in some regions) · `cloudflare-named` (your own domain, steadier) · `natapp` \u002F `cpolar` (domestic providers that stay reachable inside mainland China) · `ssh` self-hosted (through your own server).\n\n> Tunnel config, server-side reverse proxy, autostart, voice\u002Fpush credentials, and port previews → see the **[docs](https:\u002F\u002Fhandmux.com\u002Fdocs)**.\n\n## Requirements\n\nYour computer needs **Node ≥ 18** and **tmux ≥ 3.0**; the phone just needs a browser. On **Windows**, run it inside **WSL2** (a real Linux kernel + real tmux) — see the [docs](https:\u002F\u002Fhandmux.com\u002Fdocs#windows).\n\n## Feedback & community\n\nHit a bug, or wish handmux did something? [**Open an issue**](https:\u002F\u002Fgithub.com\u002Fhandmux\u002Fhandmux\u002Fissues) — that's the channel that actually gets tracked (Chinese or English both welcome). Users in China can also join the [**WeChat user group**](https:\u002F\u002Fhandmux.com\u002F#community).\n\n## More\n\n**[📖 Docs](https:\u002F\u002Fhandmux.com\u002Fdocs)** · **[📝 Changelog](CHANGELOG.md)** · **[🔒 Security](SECURITY.md)** · License **AGPL-3.0**\n\nFound a security issue? Please report it privately (see [SECURITY.md](SECURITY.md)), not via a public issue.\n","handmux 是一款基于 tmux 的移动端终端协同工具，将本地运行的实时 tmux 会话（含多窗格、交互式进程）完整投射至手机浏览器，支持 PWA 全屏运行。核心功能包括：与 Claude Code \u002F Codex 等 AI 编程代理深度集成，支持语音指令、拇指确认、实时 git 差异浏览、网页预览、文档语音朗读及双向文件传输。无需手机端安装，扫码即连，适用于移动办公、通勤编码、远程协作等需要随时介入终端开发场景。",2,"2026-07-11 02:30:49","CREATED_QUERY"]