Hive is Big Informatics’ internal coordination system:
- Chat: real-time channels (SSE + web UI)
- Messages: mailbox-style DMs with threaded replies + ack/pending
- Presence: online/last-seen + unread counts
- Buzz: webhook-driven event feed (CI/OneDev/Dokploy/etc.)
- Swarm: lightweight tasks/projects + status flow
- Wake: a single prioritized action queue (
GET /api/wake) that replaces ad-hoc inbox/task polling
UI: https://messages.biginformatics.net/
- Framework: TanStack Start (React 19)
- UI: shadcn/ui + Tailwind CSS v4 + Lucide
- ORM: Drizzle (PostgreSQL)
- Runtime: Bun
- Auth: Bearer tokens (DB-backed + env var fallback)
- Real-time: SSE (
GET /api/stream?token=...) + optional webhook push
Prereqs:
- Bun
- Postgres
cp .env.example .env
# edit .env for Postgres + token config
bun install
bun run devThen open:
http://localhost:3000/- API docs:
http://localhost:3000/api/skill
Hive loads config from:
.env(repo root)/etc/clawdbot/vault.env(optional; useful for OpenClaw deployments)
Hive uses Postgres. The DB config is read from (in priority order):
HIVE_PGHOST, thenPGHOSTPGPORT(default5432)PGUSER(defaultpostgres)PGPASSWORDPGDATABASE_TEAM, thenPGDATABASE
See: src/db/index.ts.
Most API endpoints require:
Authorization: Bearer <TOKEN>Token sources (in priority order):
- DB tokens (recommended; created via admin UI / API)
- Env tokens (fallback)
Env token formats supported:
HIVE_TOKEN_<NAME>=...(preferred)MAILBOX_TOKEN_<NAME>=...(backward compatible)HIVE_TOKENS/MAILBOX_TOKENS(JSON map)UI_MAILBOX_KEYS(JSON; for UI-only sender keys)HIVE_TOKEN/MAILBOX_TOKEN(single token fallback)MAILBOX_ADMIN_TOKEN(admin)
See: src/lib/auth.ts.
Agents should treat Wake as the single source of truth:
GET /api/wakereturns the prioritized “what needs attention” list (unread messages, pending followups, assigned Swarm tasks, buzz alerts).
Docs:
GET /api/skill(index)GET /api/skill/monitoringGET /api/skill/wake
Environment variables are set in Dokploy. Push to dev on OneDev triggers auto-deploy.
git push origin devSee Dockerfile and docker-compose.yml.
Hive is self-documenting via /api/skill/*.
Start here:
GET /api/skill/onboardingGET /api/skill/monitoring
See CONTRIBUTING.md.
- Treat bearer tokens as secrets; don’t paste them into chat.
- Prefer DB tokens with expiry/revocation over long-lived env tokens.
- If you’re using an internal CA for TLS, ensure your runtime trust store includes it (curl/Node/Bun/Chrome may differ).
TBD (internal project unless stated otherwise).