mirror of
https://github.com/wu736139669/hapi.git
synced 2026-08-06 06:41:56 +00:00
4f25fa2da47cf32cf5aa9dcd3a6eb158c7ef6913
* feat: expand terminal quick keys Add navigation keys plus ctrl/alt modifiers for the web terminal. * feat: make terminal modifiers sticky Keep Ctrl/Alt active until toggled off, Termux-style. * style: improve terminal quick key buttons Boost active contrast and adjust sizing for mobile. * feat: add terminal key popups Use long-press popups for / and - keys. * fix: make terminal modifiers mutually exclusive * fix(web): keep soft keyboard open on terminal buttons * fix(web): allow mouse clicks on terminal quick keys * refactor(web): simplify terminal quick input modifier handling Remove the applyModifiers callback and inline modifier state application. Add automatic modifier reset after quick input when appropriate. * refactor(web): extract dispatchSequence helper for terminal input handling Create a reusable dispatchSequence callback to handle modifier application and reset logic for both terminal data input and quick input handlers. --------- Co-authored-by: weishu <twsxtd@gmail.com>
HAPI
Run official Claude Code / Codex / Gemini sessions locally and control them remotely through a Web / PWA / Telegram Mini App.
Why HAPI? HAPI is a local-first alternative to Happy. See Why Not Happy? for the key differences.
Features
- Seamless Handoff - Work locally, switch to remote when needed, switch back anytime. No context loss, no session restart.
- Native First - HAPI wraps your AI agent instead of replacing it. Same terminal, same experience, same muscle memory.
- AFK Without Stopping - Step away from your desk? Approve AI requests from your phone with one tap.
- Your AI, Your Choice - Claude Code, Codex, Gemini—different models, one unified workflow.
- Terminal Anywhere - Run commands from your phone or browser, directly connected to the working machine.
Getting Started
npx @twsxtd/hapi server --relay # start server with E2E encrypted relay
npx @twsxtd/hapi # run claude code
The terminal will display a URL and QR code. Scan the QR code with your phone or open the URL to access.
The relay uses WireGuard + TLS for end-to-end encryption. Your data is encrypted from your device to your machine.
For self-hosted options (Cloudflare Tunnel, Tailscale), see Installation
Docs
Build from source
bun install
bun run build:single-exe
Credits
HAPI means "哈皮" a Chinese transliteration of Happy. Great credit to the original project.
Languages
TypeScript
99.5%
CSS
0.2%
JavaScript
0.2%
HTML
0.1%