{"id":34742233,"url":"https://github.com/tiann/hapi","last_synced_at":"2026-03-01T05:13:52.907Z","repository":{"id":331217336,"uuid":"1122242121","full_name":"tiann/hapi","owner":"tiann","description":"App for Claude Code / Codex / Gemini / OpenCode, vibe coding anytime, anywhere","archived":false,"fork":false,"pushed_at":"2026-02-27T01:01:24.000Z","size":95349,"stargazers_count":1888,"open_issues_count":27,"forks_count":185,"subscribers_count":9,"default_branch":"main","last_synced_at":"2026-02-27T08:34:57.381Z","etag":null,"topics":["app","claude-code","codex","gemini-cli","opencode","remote-control"],"latest_commit_sha":null,"homepage":"https://hapi.run","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tiann.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null},"funding":{"github":"tiann","patreon":"weishu"}},"created_at":"2025-12-24T10:44:41.000Z","updated_at":"2026-02-27T08:33:06.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/tiann/hapi","commit_stats":null,"previous_names":["tiann/hapi"],"tags_count":34,"template":false,"template_full_name":null,"purl":"pkg:github/tiann/hapi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tiann%2Fhapi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tiann%2Fhapi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tiann%2Fhapi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tiann%2Fhapi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tiann","download_url":"https://codeload.github.com/tiann/hapi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tiann%2Fhapi/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29959284,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-01T01:47:18.291Z","status":"online","status_checked_at":"2026-03-01T02:00:07.437Z","response_time":124,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["app","claude-code","codex","gemini-cli","opencode","remote-control"],"created_at":"2025-12-25T04:20:40.912Z","updated_at":"2026-03-01T05:13:52.898Z","avatar_url":"https://github.com/tiann.png","language":"TypeScript","readme":"# HAPI\n\nRun official Claude Code / Codex / Gemini / OpenCode sessions locally and control them remotely through a Web / PWA / Telegram Mini App.\n\n\u003e **Why HAPI?** HAPI is a local-first alternative to Happy. See [Why Not Happy?](docs/guide/why-hapi.md) for the key differences.\n\n## Features\n\n- **Seamless Handoff** - Work locally, switch to remote when needed, switch back anytime. No context loss, no session restart.\n- **Native First** - HAPI wraps your AI agent instead of replacing it. Same terminal, same experience, same muscle memory.\n- **AFK Without Stopping** - Step away from your desk? Approve AI requests from your phone with one tap.\n- **Your AI, Your Choice** - Claude Code, Codex, Gemini, OpenCode—different models, one unified workflow.\n- **Terminal Anywhere** - Run commands from your phone or browser, directly connected to the working machine.\n- **Voice Control** - Talk to your AI agent hands-free using the built-in voice assistant.\n\n## Demo\n\nhttps://github.com/user-attachments/assets/38230353-94c6-4dbe-9c29-b2a2cc457546\n\n## Getting Started\n\n```bash\nnpx @twsxtd/hapi hub --relay     # start hub with E2E encrypted relay\nnpx @twsxtd/hapi                 # run claude code\n```\n\n`hapi server` remains supported as an alias.\n\nThe terminal will display a URL and QR code. Scan the QR code with your phone or open the URL to access.\n\n\u003e The relay uses WireGuard + TLS for end-to-end encryption. Your data is encrypted from your device to your machine.\n\nFor self-hosted options (Cloudflare Tunnel, Tailscale), see [Installation](docs/guide/installation.md)\n\n## Docs\n\n- [App](docs/guide/pwa.md)\n- [How it Works](docs/guide/how-it-works.md)\n- [Voice Assistant](docs/guide/voice-assistant.md)\n- [Why HAPI](docs/guide/why-hapi.md)\n- [FAQ](docs/guide/faq.md)\n\n## Build from source\n\n```bash\nbun install\nbun run build:single-exe\n```\n\n## Discussion\n\n- Telegram: [@veryhapi](https://t.me/veryhapi)\n\n## Credits\n\nHAPI means \"哈皮\" a Chinese transliteration of [Happy](https://github.com/slopus/happy). Great credit to the original project.\n","funding_links":["https://github.com/sponsors/tiann","https://patreon.com/weishu"],"categories":["GUI \u0026 IDE","TypeScript"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftiann%2Fhapi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftiann%2Fhapi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftiann%2Fhapi/lists"}