45e01834398859d2eadcca1abe1eb213e3ff629d
- src/api/keys.ts: QK singleton for all 20+ query key patterns - src/api/queries.ts: rewritten with QK + full mutation coverage: deleteWorkspace, updateWorkspace, scheduleDream, updatePeer, setPeerCard, searchPeer, deleteSession, updateSession, cloneSession, searchSession, createMessages, updateMessage, useSessionPeers, addPeersToSession, setSessionPeers, removePeersFromSession, setPeerConfig, createConclusion, deleteConclusion, useWebhooks, createWebhook, deleteWebhook, testWebhook, createKey Shared primitives (just-in-time): - ConfirmDialog: animated modal with keyboard/click-out dismiss - FormModal: reusable modal shell - InlineEditor: click-to-edit with commit/cancel New surfaces: - WorkspaceDetail: delete + schedule dream buttons - ScheduleDreamModal: Zod-validated observer/session form - WebhookManager: full CRUD + test emit (new /webhooks route) - SessionDetail: delete, clone, session search, peer membership tab - PeerDetail: editable peer card, semantic search tab - ConclusionBrowser: create conclusion modal (Zod), per-row delete
Honcho UI
A clean, fast frontend for browsing and chatting with a self-hosted Honcho instance.
Privacy-first: all connection details (base URL, optional token) are stored locally in your browser — never sent anywhere except directly to your Honcho instance.
Features
- Dashboard — workspace count and queue status at a glance, auto-refreshes every 10 s
- Workspaces — paginated list with per-workspace navigation
- Peers — browse peers, view representations, context, and peer cards
- Sessions — paginated message history with summaries and context
- Conclusions — semantic search across conclusions with observer/subject display
- Chat — conversational interface that sends messages through Honcho's chat endpoint with memory context
- Dark / light mode — persisted per browser, instant toggle
- Optional auth — token field is optional; a connection health check auto-detects whether auth is required
Quick Start
Prerequisites
- Node.js ≥ 20
- pnpm ≥ 9
- A running Honcho instance (local or remote)
Install & run
git clone https://github.com/offendingcommit/honcho-ui.git
cd honcho-ui
pnpm install
pnpm dev
Open http://localhost:5173 — you'll be prompted to enter your Honcho URL.
Connect to your instance
- Enter the base URL of your Honcho instance (e.g.
http://localhost:8000) - Optionally enter an API token if your instance requires auth
- Click Test connection — the UI will tell you if auth is needed
- Click Save — you're in
Build for production
pnpm build
# Output in dist/ — serve with any static host
Stack
| Layer | Library |
|---|---|
| Framework | React 19 + Vite 8 |
| Routing | TanStack Router v1 (file-based) |
| Data fetching | TanStack Query v5 |
| API client | openapi-fetch (typed from openapi.json) |
| Styling | Tailwind CSS v4 + CSS custom properties |
| Animation | framer-motion |
| Icons | lucide-react |
| Lint / format | Biome |
| Tests | Vitest + Testing Library |
Development
pnpm dev # dev server with HMR
pnpm lint:fix # Biome lint + format
pnpm test # run tests
pnpm generate:api # regenerate src/api/schema.d.ts from openapi.json
Regenerating API types
If your Honcho instance is updated, grab a fresh openapi.json and run:
curl http://your-honcho-url/openapi.json -o openapi.json
pnpm generate:api
Privacy
- Base URL and token are stored in
localStorageunderhoncho-ui:config - Theme preference is stored in
localStorageunderhoncho-ui:theme - No telemetry, no analytics, no external requests beyond your configured Honcho instance
Contributing
Issues and PRs welcome. Open an issue first for significant changes.
License
MIT
Languages
TypeScript
96.9%
CSS
2.1%
Makefile
0.5%
Rust
0.2%
HTML
0.2%