Are you the author? Sign in to claim
AI employees with self-improving context that actually get stuff done
Build AI coworkers that work alongside your team.
OpenHuman lets teams create AI coworkers that work alongside them, gather context from company knowledge, generate memory over time, and handle the grunt work that slows teams down. Each coworker can be scoped to a role, trained on relevant documents and conversations, backed by long-term memory through supermemory, and connected to MCP tools so it can take action across the systems your team already uses.

OpenHuman is designed around memory, not one-off chat context. Coworkers can remember prior questions, resolved issues, organizational relationships, and decisions made over time.
.
├── apps
│ ├── api # FastAPI backend, workers, gateways, database models
│ └── web # Next.js dashboard
├── packages
│ └── api-client # Generated TypeScript client from the OpenAPI spec
├── supermemory # Local supermemory container build context
├── docker-compose.yml # Postgres, supermemory, backend, and web services
├── package.json # Bun workspaces and Turborepo scripts
└── turbo.json # Monorepo task pipeline
git clone https://github.com/icyzh/openhuman.git
cd openhuman
bun install
Create a .env file in the repository root. If an .env.example file is available in your checkout, copy it first; otherwise create .env manually and start with:
DATABASE_URL=postgresql+asyncpg://postgres:postgres@localhost:5432/openhuman
FRONTEND_URL=http://localhost:3000
SUPERMEMORY_URL=http://localhost:6767
OPENAI_API_KEY=
OPENAI_BASE_URL=
OPENAI_MODEL=gpt-4o-mini
JWT_SECRET_KEY=change-me-in-development
ENCRYPTION_KEY=
GATEWAY_ENABLED=false
For production, set a strong JWT_SECRET_KEY and a 64-character hex ENCRYPTION_KEY.
docker compose up --build
Services:
http://localhost:3000http://localhost:8000http://localhost:8000/readyhttp://localhost:6767localhost:5432The backend container runs Alembic migrations before starting the API.
Install workspace dependencies:
bun install
Run all monorepo development tasks:
bun run dev
Run only the web app:
bun --filter @openhuman/web dev
Run backend dependencies with Docker:
docker compose up postgres supermemory
Run the API locally from apps/api:
cd apps/api
uv sync
uv run alembic upgrade head
uv run uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
# Build all workspaces
bun run build
# Typecheck all workspaces
bun run typecheck
# Lint all workspaces
bun run lint
# Generate OpenAPI spec and TypeScript API client
bun run generate
# Generate only the backend OpenAPI spec
bun --filter @openhuman/api generate:spec
# Generate only the TypeScript API client
bun --filter @openhuman/api-client generate
From apps/api:
uv sync --extra dev
uv run pytest
Common API settings:
| Variable | Purpose | Default |
|---|---|---|
DATABASE_URL | Async PostgreSQL connection string | postgresql+asyncpg://postgres:postgres@localhost:5432/openhuman |
FRONTEND_URL | Public frontend origin for redirects and CORS | http://localhost:3000 |
SUPERMEMORY_URL | supermemory service URL | http://localhost:6767 |
SUPERMEMORY_API_KEY_FILE | Optional file path for the supermemory API key | empty |
OPENAI_API_KEY | API key for agent model calls | empty |
OPENAI_BASE_URL | Optional OpenAI-compatible base URL | empty |
OPENAI_MODEL | Model used by the agent | gpt-4o-mini |
JWT_SECRET_KEY | Secret used for JWT signing | change-me-in-production |
ENCRYPTION_KEY | 32-byte hex key for encrypted bot tokens | empty |
GATEWAY_ENABLED | Enables Slack and Discord gateway workers | false |
Integration settings include Slack OAuth, fixed Slack bot credentials, Discord gateway configuration, and MCP OAuth credentials for providers such as Gmail, Notion, Vercel, GitHub, and Canva.
The TypeScript client in packages/api-client is generated from apps/api/openapi.json with Orval. When backend routes or schemas change, regenerate the spec and client:
bun run generate
Frontend code imports the generated client through the workspace package:
import { ... } from "@openhuman/api-client";
The included Docker setup builds:
apps/api as the FastAPI serviceapps/web as a standalone Next.js servicesupermemory as the local memory serviceSet production secrets through your deployment platform, not in source control. At minimum, production requires secure values for JWT_SECRET_KEY, ENCRYPTION_KEY, database credentials, model provider keys, and any integration OAuth credentials.
No license file is currently included in this repository.
Run Claude Code as an MCP server so any agent can delegate coding tasks to it
Browser automation using accessibility snapshots instead of screenshots
Google's universal MCP server supporting PostgreSQL, MySQL, MongoDB, Redis, and 10+ databases
Official GitHub integration for repos, issues, PRs, and CI/CD workflows