weishu 9a28e6e0a1 refactor: unify MCP bridge setup and system prompt delivery
Extract duplicate MCP bridge initialization code from codexLocalLauncher and
codexRemoteLauncher into a new buildHapiMcpBridge utility. This ensures both
modes use identical server setup logic and provides a single source of truth
for MCP configuration.

Update codexStartConfig to deliver system prompt via developer_instructions
instead of appending to the user message. This ensures consistent behavior
between local and remote modes and properly separates system guidance from
user intent.
2026-01-05 18:38:58 +08:00
2026-01-04 20:45:15 +08:00
2026-01-04 20:45:15 +08:00
2026-01-04 20:45:15 +08:00
2026-01-03 22:54:52 +08:00
2026-01-04 20:45:15 +08:00
2026-01-03 14:43:59 +08:00
2026-01-02 16:26:40 +08:00
2025-12-16 15:03:50 +08:00

HAPI

HAPI means "哈皮" a Chinese transliteration of Happy. Great credit to the original project.

Run 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 with native Claude Code or Codex, switch to remote when needed, switch back anytime.
  • Start AI coding sessions from any machine.
  • Monitor and control sessions from your phone or browser.
  • Approve or deny tool permissions remotely.
  • Browse files and view git diffs.
  • Track session progress with todo lists.
  • Supports multiple AI backends: Claude Code, Codex, and Gemini.

Getting Started

npx @twsxtd/hapi server # start the server locally
npx @twsxtd/hapi # run claude code 

Open http://<server-ip>:3006 and login with the token, if you need to access it remotely, see Remote access

More options: Quick Start | Installation

Docs

Build from source

bun install
bun run build:single-exe
S
Description
GitHub 镜像: wu736139669/hapi(每日自动同步)
Readme AGPL-3.0
103 MiB
Languages
TypeScript 99.5%
CSS 0.2%
JavaScript 0.2%
HTML 0.1%