weishu 365728aed7 refactor(store): introduce schema versioning and remove compatibility migrations
Replace legacy migration logic (ALTER TABLE, missing column checks) with explicit
schema version tracking. This prevents silent schema mismatches and simplifies the
database lifecycle—users must rebuild or offline-migrate on version mismatch.

Changes:
- Add SCHEMA_VERSION and REQUIRED_TABLES constants
- Refactor initSchema() to check version and table presence
- Extract createSchema() and helper methods (getUserVersion, setUserVersion, etc)
- Add compound indexes for better query performance (tag+namespace, platform+namespace)
- Store dbPath for better error messages
2026-01-03 15:52:29 +08:00
2026-01-03 11:05:14 +08:00
2026-01-03 14:43:59 +08:00
2026-01-03 14:43:59 +08:00
2026-01-03 14:57:00 +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%