mirror of
https://github.com/wu736139669/hapi.git
synced 2026-08-05 06:24:37 +00:00
Consolidate CLI and server runtime directories from ~/.config/hapi/ (CLI) and ~/.hapi-server/ (Server) to a single ~/.hapi/ directory. Unify environment variables from HAPI_HOME_DIR (CLI) and HAPI_BOT_DATA_DIR (Server) to a single HAPI_HOME variable across both applications. Update all documentation and configuration references accordingly. Bump bun-types to 1.3.5.
70 lines
2.1 KiB
Markdown
70 lines
2.1 KiB
Markdown
# hapi CLI
|
|
|
|
Run Claude Code or Codex sessions from your terminal and control them remotely through the hapi server.
|
|
|
|
## What it does
|
|
- Starts Claude Code sessions and registers them with hapi-server.
|
|
- Starts Codex mode for OpenAI-based sessions.
|
|
- Provides an MCP stdio bridge for external tools.
|
|
- Manages a background daemon for long-running sessions.
|
|
- Includes diagnostics and auth helpers.
|
|
|
|
## Typical flow
|
|
1. Start the server and set env vars (see ../server/README.md).
|
|
2. Set the same CLI_API_TOKEN on this machine or run `hapi auth login`.
|
|
3. Run `hapi` to start a session.
|
|
4. Use the web app or Telegram Mini App to monitor and control.
|
|
|
|
## Quickstart
|
|
```bash
|
|
# Point to the server if it is not on localhost:3006
|
|
export HAPI_BOT_URL="https://your-server-domain"
|
|
|
|
hapi # prompts for CLI_API_TOKEN and saves it locally
|
|
```
|
|
|
|
## Commands
|
|
- `hapi` - start a Claude Code session (passes through Claude CLI flags)
|
|
- `hapi codex` - start Codex mode
|
|
- `hapi mcp` - start MCP stdio bridge
|
|
- `hapi auth` - login/status/logout for CLI_API_TOKEN
|
|
- `hapi server` - start the bundled server (single binary workflow)
|
|
- `hapi daemon` - manage background service
|
|
- `hapi doctor` - diagnostics and cleanup
|
|
|
|
## Configuration
|
|
Required:
|
|
- `CLI_API_TOKEN` - shared secret; must match the server
|
|
- `HAPI_BOT_URL` - server base URL (default: http://localhost:3006)
|
|
|
|
`CLI_API_TOKEN` can be set via env or stored in `~/.hapi/settings.json` (env wins).
|
|
|
|
Optional:
|
|
- `HAPI_HOME` - config/data directory (default: ~/.hapi)
|
|
- `HAPI_EXPERIMENTAL` - enable experimental features (true/1/yes)
|
|
- `HAPI_HTTP_MCP_URL` - default MCP target for `hapi mcp`
|
|
- `HAPI_CLAUDE_PATH` - path to a specific `claude` executable
|
|
- `HAPI_USE_BUNDLED_CLAUDE` - set to 1 to prefer node_modules claude
|
|
- `HAPI_USE_GLOBAL_CLAUDE` - set to 1 to prefer global claude
|
|
|
|
## Requirements
|
|
- Claude CLI installed and logged in (`claude` on PATH).
|
|
- Bun for building from source.
|
|
|
|
## Build from source
|
|
From the repo root:
|
|
```bash
|
|
bun install
|
|
bun run build:cli
|
|
bun run build:cli:exe
|
|
```
|
|
|
|
For an all-in-one binary that also embeds the web app:
|
|
```bash
|
|
bun run build:single-exe
|
|
```
|
|
|
|
## Related docs
|
|
- `../server/README.md`
|
|
- `../web/README.md`
|