mirror of
https://github.com/wu736139669/hapi.git
synced 2026-08-05 06:24:37 +00:00
a665386f05601b1bec5208535dcc7b4bfd5603b8
This fixes an issue where viewport-fit=cover and black-translucent statusbar configuration allowed content to extend under the iOS statusbar. Added env(safe-area-inset-top) CSS handling to all main layout components: - SessionHeader with pt-[env(safe-area-inset-top)] - SessionsPage, MachinesPage, SpawnPage with safe-area padding - FilesPage and FilePage headers with safe-area padding
hapi
HAPI means "哈皮," a Chinese transliteration of happy, great credit to the original Happy project.
Run Claude Code / Codex / Coding Agent sessions locally and control them remotely through a Web / PWA / Telegram mini App.
Quickstart (single executable)
-
Download the prebuilt
hapibinary for your platform and put it on your PATH. -
Start the server on a machine you control:
export TELEGRAM_BOT_TOKEN="..."
export ALLOWED_CHAT_IDS="12345678"
export CLI_API_TOKEN="shared-secret"
export WEBAPP_URL="https://your-domain.example" # required for Telegram Mini App
hapi server
- If the server has no public IP, expose it over HTTPS:
- Cloudflare Tunnel docs: https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/
- Tailscale docs: https://tailscale.com/kb/
- Telegram Mini Apps require HTTPS.
- Run the CLI on the machine where you want sessions:
# If the server is not on localhost:3006
export HAPI_BOT_URL="https://your-domain.example"
hapi
The CLI will prompt for CLI_API_TOKEN and save it locally.
- Open the UI:
- In Telegram, run
/appin the bot chat. - In a browser, open
WEBAPP_URLand log in withCLI_API_TOKEN.
CLI config file
You can store the token in ~/.config/hapi/settings.json instead of an env var.
Environment variables take priority over the file.
Example:
{
"cliApiToken": "shared-secret"
}
Requirements
- Claude CLI installed and logged in (
claudeon PATH). - A Telegram bot token from @BotFather (for Mini App access).
- Bun if building from source.
Build from source
bun install
bun run build
Build a single binary with embedded web assets:
bun run build:single-exe
Build CLI-only binaries:
bun run build:cli:exe
bun run build:cli:exe:all
Docs
cli/README.md- CLI usage and configserver/README.md- server setup and architectureweb/README.md- web app behavior and dev workflow
Languages
TypeScript
99.5%
CSS
0.2%
JavaScript
0.2%
HTML
0.1%