Repository files navigation

Codehive

Persistent AI coding agent workspace with sub-agent orchestration. Agents live in projects, execute tasks autonomously, create sub-agents, and are accessible from web, mobile, Telegram, and terminal. Not a chat -- an operating system for agent sessions.

How It Works

Codehive is a self-hosted tool that runs on your own server or computer. There is no hosted version -- you own your instance entirely.

  1. Install codehive on your server (or laptop, or home machine)
  2. SSH in and run codehive serve to start the backend
  3. Connect from your clients via SSH port forwarding:
    ssh -L 7433:localhost:7433 yourserver
  4. Open http://localhost:7433 in your browser, or point the mobile app at it

One user, one instance. Your code and agent data never leave your machine. The backend only listens on 127.0.0.1 — remote access is handled by SSH tunnels on the client side, not by the backend.

Architecture

Monorepo with three top-level directories:

backend/ Python 3.13, FastAPI, SQLAlchemy, Redis
web/ React 19, Vite, TypeScript, Tailwind CSS
mobile/ (planned)

Prerequisites

  • Python 3.12+
  • Node.js 20+
  • uv (Python package manager)
  • Git

Quick Start (SQLite — zero infrastructure)

No Docker, no PostgreSQL, no Redis needed. Just Python and Node.

Codehive supports multiple LLM providers:

ProviderTypeSetup
ClaudeCLIInstall claude CLI -- no API key needed
CodexCLIInstall codex CLI -- no API key needed
OpenAI APIAPISet CODEHIVE_OPENAI_API_KEY in .env
Z.aiAPISet CODEHIVE_ZAI_API_KEY in .env
# 1. Clone and enter the repo
git clone <repo-url>&&cd codehive
# 2. Copy and edit environment config
cp .env.example .env
# If using Claude CLI (default), no API keys needed.# For Z.ai: uncomment and set CODEHIVE_ZAI_API_KEY in .env# For OpenAI API: uncomment and set CODEHIVE_OPENAI_API_KEY in .env# 3. Install dependenciescd backend && uv sync --dev &&cd ..
cd web && npm install &&cd ..
# 4. Start both servers with a single commandcd backend
uv run codehive dev

This starts the backend (uvicorn with auto-reload on http://127.0.0.1:7433) and the frontend dev server (http://localhost:5173) together. Press Ctrl+C to stop both. You can also start them separately:

uv run codehive dev --no-frontend # backend only
uv run codehive dev --no-backend # frontend only

Data is stored in backend/data/codehive.db (SQLite, auto-created on first run).

Quick Start with PostgreSQL + Redis (optional)

For production or multi-process deployments:

# Start infrastructure
docker compose up -d
# Set database URL in .envecho"CODEHIVE_DATABASE_URL=postgresql+asyncpg://codehive:codehive@localhost:5432/codehive">> .env
echo"CODEHIVE_REDIS_URL=redis://localhost:6379/0">> .env
# Start the backendcd backend && uv sync --dev && uv run codehive serve

Terminal-only mode (no web server needed)

cd backend
uv run codehive code # start agent in current directory
uv run codehive code ~/myapp # start agent in a specific directory

This launches a Textual TUI with streaming, markdown rendering, and tool approval prompts. If the backend is running, sessions are shared with the web UI. If not, it runs standalone with a local engine.

Default Login

On first run the server creates an admin user. Credentials are controlled by environment variables:

VariableDefault
CODEHIVE_ADMIN_USERNAMEadmin
CODEHIVE_ADMIN_PASSWORDrandom (printed to server logs)

Set CODEHIVE_ADMIN_PASSWORD=admin in your .env for a known password. If the admin was already created and you forgot the password, reset the DB:

docker exec codehive-postgres-1 psql -U codehive -d codehive \
-c "DELETE FROM workspace_members; DELETE FROM users; DELETE FROM workspaces;"

Then restart uv run codehive serve — it will re-seed with your configured credentials.

Backend

cd backend
uv sync --dev # Install dependencies
uv run codehive serve # Start the API server

Options:

--host HOST Bind address (default: 127.0.0.1)
--port PORT Bind port (default: 7433)
--reload Enable auto-reload for development

The server can also be configured via environment variables (see below).

Database Migrations

cd backend
uv run alembic upgrade head # Apply migrations
uv run alembic revision -m "description" --autogenerate # Create a new migration

Web App

cd web
npm install # Install dependencies
npm run dev # Start dev server (http://localhost:5173)
npm run build # Production build
npm run preview # Preview production build
npm run lint # Run ESLint

TUI (Terminal Interface)

Interactive terminal dashboard, designed to work over SSH and on small screens.

cd backend
uv run codehive tui # Full interactive dashboard
uv run codehive rescue # Rescue mode (emergency controls)

Rescue mode provides emergency access to stop runaway sessions, kill agents, rollback checkpoints, and toggle maintenance mode.

Telegram Bot

Lightweight client for monitoring sessions, answering questions, and approving actions.

# Set the bot tokenexport CODEHIVE_TELEGRAM_BOT_TOKEN=your-token-here
cd backend
uv run codehive telegram

Create a bot via @BotFather on Telegram to get your token.

CLI Commands

All commands are available via codehive (or uv run codehive from the backend/ directory).

CommandDescription
codehive devStart backend + frontend dev servers together
codehive code [directory]Start a lightweight coding agent session
codehive serveStart the API server
codehive tuiLaunch interactive terminal dashboard
codehive rescueLaunch rescue mode (emergency TUI)
codehive telegramStart the Telegram bot
codehive projects listList all projects
codehive projects create NAME --workspace IDCreate a project
codehive sessions list --project IDList sessions for a project
codehive sessions create PROJECT_ID --name NAMECreate a session
codehive sessions status SESSION_IDShow session details
codehive sessions chat SESSION_IDInteractive chat with a session
codehive sessions pause SESSION_IDPause a session
codehive sessions rollback SESSION_ID --checkpoint IDRollback to checkpoint
codehive questions listList pending questions
codehive questions answer QUESTION_ID "answer"Answer a question
codehive system healthShow system health status
codehive system maintenance on|offToggle maintenance mode

Use --base-url URL on any command to point at a different server (default: http://127.0.0.1:7433). This can also be set via CODEHIVE_BASE_URL.

Running Tests

Backend

cd backend
uv run pytest tests/ -v # Run all tests
uv run pytest --cov=codehive --cov-report=term-missing # With coverage
uv run ruff check # Lint
uv run ruff format --check # Check formatting

Web

cd web
npx vitest # Run tests
npm run lint # Lint

Environment Variables

Copy .env.example to .env and fill in your values. DB and Redis defaults match docker-compose.yml -- no changes needed for local dev.

CODEHIVE_HOST=127.0.0.1 # API bind address
CODEHIVE_PORT=7433 # API bind port
CODEHIVE_DEBUG=false # Auto-reload
CODEHIVE_DATABASE_URL=postgresql+asyncpg://codehive:codehive@localhost:5432/codehive
CODEHIVE_REDIS_URL=redis://localhost:6379/0
# LLM Providers (set the ones you use)
CODEHIVE_OPENAI_API_KEY= # For OpenAI API provider
CODEHIVE_OPENAI_BASE_URL= # Optional custom OpenAI API URL
CODEHIVE_ZAI_API_KEY= # For Z.ai provider
CODEHIVE_ZAI_BASE_URL= # Optional custom Z.ai API URL# Other integrations
CODEHIVE_TELEGRAM_BOT_TOKEN= # For `codehive telegram`
CODEHIVE_TELEGRAM_CHAT_ID= # For Telegram notifications
CODEHIVE_GITHUB_DEFAULT_TOKEN= # For GitHub integration

Infrastructure

Start and stop PostgreSQL and Redis via Docker Compose:

docker compose up -d # Start
docker compose down # Stop
docker compose ps # Status

Or from the backend directory using Make:

cd backend
make infra-up # Start
make infra-down # Stop
make infra-status # Status

License

WTFPL

About

Multi-platform autonomous coding agent with sub-agent orchestration

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

Codehive

Persistent AI coding agent workspace with sub-agent orchestration. Agents live in projects, execute tasks autonomously, create sub-agents, and are accessible from web, mobile, Telegram, and terminal. Not a chat -- an operating system for agent sessions.

How It Works

Codehive is a self-hosted tool that runs on your own server or computer. There is no hosted version -- you own your instance entirely.

  1. Install codehive on your server (or laptop, or home machine)
  2. SSH in and run codehive serve to start the backend
  3. Connect from your clients via SSH port forwarding:
    ssh -L 7433:localhost:7433 yourserver
  4. Open http://localhost:7433 in your browser, or point the mobile app at it

One user, one instance. Your code and agent data never leave your machine. The backend only listens on 127.0.0.1 — remote access is handled by SSH tunnels on the client side, not by the backend.

Architecture

Monorepo with three top-level directories:

backend/ Python 3.13, FastAPI, SQLAlchemy, Redis
web/ React 19, Vite, TypeScript, Tailwind CSS
mobile/ (planned)

Prerequisites

  • Python 3.12+
  • Node.js 20+
  • uv (Python package manager)
  • Git

Quick Start (SQLite — zero infrastructure)

No Docker, no PostgreSQL, no Redis needed. Just Python and Node.

Codehive supports multiple LLM providers:

ProviderTypeSetup
ClaudeCLIInstall claude CLI -- no API key needed
CodexCLIInstall codex CLI -- no API key needed
OpenAI APIAPISet CODEHIVE_OPENAI_API_KEY in .env
Z.aiAPISet CODEHIVE_ZAI_API_KEY in .env
# 1. Clone and enter the repo
git clone <repo-url>&&cd codehive
# 2. Copy and edit environment config
cp .env.example .env
# If using Claude CLI (default), no API keys needed.# For Z.ai: uncomment and set CODEHIVE_ZAI_API_KEY in .env# For OpenAI API: uncomment and set CODEHIVE_OPENAI_API_KEY in .env# 3. Install dependenciescd backend && uv sync --dev &&cd ..
cd web && npm install &&cd ..
# 4. Start both servers with a single commandcd backend
uv run codehive dev

This starts the backend (uvicorn with auto-reload on http://127.0.0.1:7433) and the frontend dev server (http://localhost:5173) together. Press Ctrl+C to stop both. You can also start them separately:

uv run codehive dev --no-frontend # backend only
uv run codehive dev --no-backend # frontend only

Data is stored in backend/data/codehive.db (SQLite, auto-created on first run).

Quick Start with PostgreSQL + Redis (optional)

For production or multi-process deployments:

# Start infrastructure
docker compose up -d
# Set database URL in .envecho"CODEHIVE_DATABASE_URL=postgresql+asyncpg://codehive:codehive@localhost:5432/codehive">> .env
echo"CODEHIVE_REDIS_URL=redis://localhost:6379/0">> .env
# Start the backendcd backend && uv sync --dev && uv run codehive serve

Terminal-only mode (no web server needed)

cd backend
uv run codehive code # start agent in current directory
uv run codehive code ~/myapp # start agent in a specific directory

This launches a Textual TUI with streaming, markdown rendering, and tool approval prompts. If the backend is running, sessions are shared with the web UI. If not, it runs standalone with a local engine.

Default Login

On first run the server creates an admin user. Credentials are controlled by environment variables:

VariableDefault
CODEHIVE_ADMIN_USERNAMEadmin
CODEHIVE_ADMIN_PASSWORDrandom (printed to server logs)

Set CODEHIVE_ADMIN_PASSWORD=admin in your .env for a known password. If the admin was already created and you forgot the password, reset the DB:

docker exec codehive-postgres-1 psql -U codehive -d codehive \
-c "DELETE FROM workspace_members; DELETE FROM users; DELETE FROM workspaces;"

Then restart uv run codehive serve — it will re-seed with your configured credentials.

Backend

cd backend
uv sync --dev # Install dependencies
uv run codehive serve # Start the API server

Options:

--host HOST Bind address (default: 127.0.0.1)
--port PORT Bind port (default: 7433)
--reload Enable auto-reload for development

The server can also be configured via environment variables (see below).

Database Migrations

cd backend
uv run alembic upgrade head # Apply migrations
uv run alembic revision -m "description" --autogenerate # Create a new migration

Web App

cd web
npm install # Install dependencies
npm run dev # Start dev server (http://localhost:5173)
npm run build # Production build
npm run preview # Preview production build
npm run lint # Run ESLint

TUI (Terminal Interface)

Interactive terminal dashboard, designed to work over SSH and on small screens.

cd backend
uv run codehive tui # Full interactive dashboard
uv run codehive rescue # Rescue mode (emergency controls)

Rescue mode provides emergency access to stop runaway sessions, kill agents, rollback checkpoints, and toggle maintenance mode.

Telegram Bot

Lightweight client for monitoring sessions, answering questions, and approving actions.

# Set the bot tokenexport CODEHIVE_TELEGRAM_BOT_TOKEN=your-token-here
cd backend
uv run codehive telegram

Create a bot via @BotFather on Telegram to get your token.

CLI Commands

All commands are available via codehive (or uv run codehive from the backend/ directory).

CommandDescription
codehive devStart backend + frontend dev servers together
codehive code [directory]Start a lightweight coding agent session
codehive serveStart the API server
codehive tuiLaunch interactive terminal dashboard
codehive rescueLaunch rescue mode (emergency TUI)
codehive telegramStart the Telegram bot
codehive projects listList all projects
codehive projects create NAME --workspace IDCreate a project
codehive sessions list --project IDList sessions for a project
codehive sessions create PROJECT_ID --name NAMECreate a session
codehive sessions status SESSION_IDShow session details
codehive sessions chat SESSION_IDInteractive chat with a session
codehive sessions pause SESSION_IDPause a session
codehive sessions rollback SESSION_ID --checkpoint IDRollback to checkpoint
codehive questions listList pending questions
codehive questions answer QUESTION_ID "answer"Answer a question
codehive system healthShow system health status
codehive system maintenance on|offToggle maintenance mode

Use --base-url URL on any command to point at a different server (default: http://127.0.0.1:7433). This can also be set via CODEHIVE_BASE_URL.

Running Tests

Backend

cd backend
uv run pytest tests/ -v # Run all tests
uv run pytest --cov=codehive --cov-report=term-missing # With coverage
uv run ruff check # Lint
uv run ruff format --check # Check formatting

Web

cd web
npx vitest # Run tests
npm run lint # Lint

Environment Variables

Copy .env.example to .env and fill in your values. DB and Redis defaults match docker-compose.yml -- no changes needed for local dev.

CODEHIVE_HOST=127.0.0.1 # API bind address
CODEHIVE_PORT=7433 # API bind port
CODEHIVE_DEBUG=false # Auto-reload
CODEHIVE_DATABASE_URL=postgresql+asyncpg://codehive:codehive@localhost:5432/codehive
CODEHIVE_REDIS_URL=redis://localhost:6379/0
# LLM Providers (set the ones you use)
CODEHIVE_OPENAI_API_KEY= # For OpenAI API provider
CODEHIVE_OPENAI_BASE_URL= # Optional custom OpenAI API URL
CODEHIVE_ZAI_API_KEY= # For Z.ai provider
CODEHIVE_ZAI_BASE_URL= # Optional custom Z.ai API URL# Other integrations
CODEHIVE_TELEGRAM_BOT_TOKEN= # For `codehive telegram`
CODEHIVE_TELEGRAM_CHAT_ID= # For Telegram notifications
CODEHIVE_GITHUB_DEFAULT_TOKEN= # For GitHub integration

Infrastructure

Start and stop PostgreSQL and Redis via Docker Compose:

docker compose up -d # Start
docker compose down # Stop
docker compose ps # Status

Or from the backend directory using Make:

cd backend
make infra-up # Start
make infra-down # Stop
make infra-status # Status

License

WTFPL

About

Multi-platform autonomous coding agent with sub-agent orchestration

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Codehive

Persistent AI coding agent workspace with sub-agent orchestration. Agents live in projects, execute tasks autonomously, create sub-agents, and are accessible from web, mobile, Telegram, and terminal. Not a chat -- an operating system for agent sessions.

How It Works

Codehive is a self-hosted tool that runs on your own server or computer. There is no hosted version -- you own your instance entirely.

  1. Install codehive on your server (or laptop, or home machine)
  2. SSH in and run codehive serve to start the backend
  3. Connect from your clients via SSH port forwarding:
    ssh -L 7433:localhost:7433 yourserver
  4. Open http://localhost:7433 in your browser, or point the mobile app at it

One user, one instance. Your code and agent data never leave your machine. The backend only listens on 127.0.0.1 — remote access is handled by SSH tunnels on the client side, not by the backend.

Architecture

Monorepo with three top-level directories:

backend/ Python 3.13, FastAPI, SQLAlchemy, Redis
web/ React 19, Vite, TypeScript, Tailwind CSS
mobile/ (planned)

Prerequisites

  • Python 3.12+
  • Node.js 20+
  • uv (Python package manager)
  • Git

Quick Start (SQLite — zero infrastructure)

No Docker, no PostgreSQL, no Redis needed. Just Python and Node.

Codehive supports multiple LLM providers:

ProviderTypeSetup
ClaudeCLIInstall claude CLI -- no API key needed
CodexCLIInstall codex CLI -- no API key needed
OpenAI APIAPISet CODEHIVE_OPENAI_API_KEY in .env
Z.aiAPISet CODEHIVE_ZAI_API_KEY in .env
# 1. Clone and enter the repo
git clone <repo-url>&&cd codehive
# 2. Copy and edit environment config
cp .env.example .env
# If using Claude CLI (default), no API keys needed.# For Z.ai: uncomment and set CODEHIVE_ZAI_API_KEY in .env# For OpenAI API: uncomment and set CODEHIVE_OPENAI_API_KEY in .env# 3. Install dependenciescd backend && uv sync --dev &&cd ..
cd web && npm install &&cd ..
# 4. Start both servers with a single commandcd backend
uv run codehive dev

This starts the backend (uvicorn with auto-reload on http://127.0.0.1:7433) and the frontend dev server (http://localhost:5173) together. Press Ctrl+C to stop both. You can also start them separately:

uv run codehive dev --no-frontend # backend only
uv run codehive dev --no-backend # frontend only

Data is stored in backend/data/codehive.db (SQLite, auto-created on first run).

Quick Start with PostgreSQL + Redis (optional)

For production or multi-process deployments:

# Start infrastructure
docker compose up -d
# Set database URL in .envecho"CODEHIVE_DATABASE_URL=postgresql+asyncpg://codehive:codehive@localhost:5432/codehive">> .env
echo"CODEHIVE_REDIS_URL=redis://localhost:6379/0">> .env
# Start the backendcd backend && uv sync --dev && uv run codehive serve

Terminal-only mode (no web server needed)

cd backend
uv run codehive code # start agent in current directory
uv run codehive code ~/myapp # start agent in a specific directory

This launches a Textual TUI with streaming, markdown rendering, and tool approval prompts. If the backend is running, sessions are shared with the web UI. If not, it runs standalone with a local engine.

Default Login

On first run the server creates an admin user. Credentials are controlled by environment variables:

VariableDefault
CODEHIVE_ADMIN_USERNAMEadmin
CODEHIVE_ADMIN_PASSWORDrandom (printed to server logs)

Set CODEHIVE_ADMIN_PASSWORD=admin in your .env for a known password. If the admin was already created and you forgot the password, reset the DB:

docker exec codehive-postgres-1 psql -U codehive -d codehive \
-c "DELETE FROM workspace_members; DELETE FROM users; DELETE FROM workspaces;"

Then restart uv run codehive serve — it will re-seed with your configured credentials.

Backend

cd backend
uv sync --dev # Install dependencies
uv run codehive serve # Start the API server

Options:

--host HOST Bind address (default: 127.0.0.1)
--port PORT Bind port (default: 7433)
--reload Enable auto-reload for development

The server can also be configured via environment variables (see below).

Database Migrations

cd backend
uv run alembic upgrade head # Apply migrations
uv run alembic revision -m "description" --autogenerate # Create a new migration

Web App

cd web
npm install # Install dependencies
npm run dev # Start dev server (http://localhost:5173)
npm run build # Production build
npm run preview # Preview production build
npm run lint # Run ESLint

TUI (Terminal Interface)

Interactive terminal dashboard, designed to work over SSH and on small screens.

cd backend
uv run codehive tui # Full interactive dashboard
uv run codehive rescue # Rescue mode (emergency controls)

Rescue mode provides emergency access to stop runaway sessions, kill agents, rollback checkpoints, and toggle maintenance mode.

Telegram Bot

Lightweight client for monitoring sessions, answering questions, and approving actions.

# Set the bot tokenexport CODEHIVE_TELEGRAM_BOT_TOKEN=your-token-here
cd backend
uv run codehive telegram

Create a bot via @BotFather on Telegram to get your token.

CLI Commands

All commands are available via codehive (or uv run codehive from the backend/ directory).

CommandDescription
codehive devStart backend + frontend dev servers together
codehive code [directory]Start a lightweight coding agent session
codehive serveStart the API server
codehive tuiLaunch interactive terminal dashboard
codehive rescueLaunch rescue mode (emergency TUI)
codehive telegramStart the Telegram bot
codehive projects listList all projects
codehive projects create NAME --workspace IDCreate a project
codehive sessions list --project IDList sessions for a project
codehive sessions create PROJECT_ID --name NAMECreate a session
codehive sessions status SESSION_IDShow session details
codehive sessions chat SESSION_IDInteractive chat with a session
codehive sessions pause SESSION_IDPause a session
codehive sessions rollback SESSION_ID --checkpoint IDRollback to checkpoint
codehive questions listList pending questions
codehive questions answer QUESTION_ID "answer"Answer a question
codehive system healthShow system health status
codehive system maintenance on|offToggle maintenance mode

Use --base-url URL on any command to point at a different server (default: http://127.0.0.1:7433). This can also be set via CODEHIVE_BASE_URL.

Running Tests

Backend

cd backend
uv run pytest tests/ -v # Run all tests
uv run pytest --cov=codehive --cov-report=term-missing # With coverage
uv run ruff check # Lint
uv run ruff format --check # Check formatting

Web

cd web
npx vitest # Run tests
npm run lint # Lint

Environment Variables

Copy .env.example to .env and fill in your values. DB and Redis defaults match docker-compose.yml -- no changes needed for local dev.

CODEHIVE_HOST=127.0.0.1 # API bind address
CODEHIVE_PORT=7433 # API bind port
CODEHIVE_DEBUG=false # Auto-reload
CODEHIVE_DATABASE_URL=postgresql+asyncpg://codehive:codehive@localhost:5432/codehive
CODEHIVE_REDIS_URL=redis://localhost:6379/0
# LLM Providers (set the ones you use)
CODEHIVE_OPENAI_API_KEY= # For OpenAI API provider
CODEHIVE_OPENAI_BASE_URL= # Optional custom OpenAI API URL
CODEHIVE_ZAI_API_KEY= # For Z.ai provider
CODEHIVE_ZAI_BASE_URL= # Optional custom Z.ai API URL# Other integrations
CODEHIVE_TELEGRAM_BOT_TOKEN= # For `codehive telegram`
CODEHIVE_TELEGRAM_CHAT_ID= # For Telegram notifications
CODEHIVE_GITHUB_DEFAULT_TOKEN= # For GitHub integration

Infrastructure

Start and stop PostgreSQL and Redis via Docker Compose:

docker compose up -d # Start
docker compose down # Stop
docker compose ps # Status

Or from the backend directory using Make:

cd backend
make infra-up # Start
make infra-down # Stop
make infra-status # Status

License

WTFPL

About

Multi-platform autonomous coding agent with sub-agent orchestration

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Codehive

Persistent AI coding agent workspace with sub-agent orchestration. Agents live in projects, execute tasks autonomously, create sub-agents, and are accessible from web, mobile, Telegram, and terminal. Not a chat -- an operating system for agent sessions.

How It Works

Codehive is a self-hosted tool that runs on your own server or computer. There is no hosted version -- you own your instance entirely.

  1. Install codehive on your server (or laptop, or home machine)
  2. SSH in and run codehive serve to start the backend
  3. Connect from your clients via SSH port forwarding:
    ssh -L 7433:localhost:7433 yourserver
  4. Open http://localhost:7433 in your browser, or point the mobile app at it

One user, one instance. Your code and agent data never leave your machine. The backend only listens on 127.0.0.1 — remote access is handled by SSH tunnels on the client side, not by the backend.

Architecture

Monorepo with three top-level directories:

backend/ Python 3.13, FastAPI, SQLAlchemy, Redis
web/ React 19, Vite, TypeScript, Tailwind CSS
mobile/ (planned)

Prerequisites

  • Python 3.12+
  • Node.js 20+
  • uv (Python package manager)
  • Git

Quick Start (SQLite — zero infrastructure)

No Docker, no PostgreSQL, no Redis needed. Just Python and Node.

Codehive supports multiple LLM providers:

ProviderTypeSetup
ClaudeCLIInstall claude CLI -- no API key needed
CodexCLIInstall codex CLI -- no API key needed
OpenAI APIAPISet CODEHIVE_OPENAI_API_KEY in .env
Z.aiAPISet CODEHIVE_ZAI_API_KEY in .env
# 1. Clone and enter the repo
git clone <repo-url>&&cd codehive
# 2. Copy and edit environment config
cp .env.example .env
# If using Claude CLI (default), no API keys needed.# For Z.ai: uncomment and set CODEHIVE_ZAI_API_KEY in .env# For OpenAI API: uncomment and set CODEHIVE_OPENAI_API_KEY in .env# 3. Install dependenciescd backend && uv sync --dev &&cd ..
cd web && npm install &&cd ..
# 4. Start both servers with a single commandcd backend
uv run codehive dev

This starts the backend (uvicorn with auto-reload on http://127.0.0.1:7433) and the frontend dev server (http://localhost:5173) together. Press Ctrl+C to stop both. You can also start them separately:

uv run codehive dev --no-frontend # backend only
uv run codehive dev --no-backend # frontend only

Data is stored in backend/data/codehive.db (SQLite, auto-created on first run).

Quick Start with PostgreSQL + Redis (optional)

For production or multi-process deployments:

# Start infrastructure
docker compose up -d
# Set database URL in .envecho"CODEHIVE_DATABASE_URL=postgresql+asyncpg://codehive:codehive@localhost:5432/codehive">> .env
echo"CODEHIVE_REDIS_URL=redis://localhost:6379/0">> .env
# Start the backendcd backend && uv sync --dev && uv run codehive serve

Terminal-only mode (no web server needed)

cd backend
uv run codehive code # start agent in current directory
uv run codehive code ~/myapp # start agent in a specific directory

This launches a Textual TUI with streaming, markdown rendering, and tool approval prompts. If the backend is running, sessions are shared with the web UI. If not, it runs standalone with a local engine.

Default Login

On first run the server creates an admin user. Credentials are controlled by environment variables:

VariableDefault
CODEHIVE_ADMIN_USERNAMEadmin
CODEHIVE_ADMIN_PASSWORDrandom (printed to server logs)

Set CODEHIVE_ADMIN_PASSWORD=admin in your .env for a known password. If the admin was already created and you forgot the password, reset the DB:

docker exec codehive-postgres-1 psql -U codehive -d codehive \
-c "DELETE FROM workspace_members; DELETE FROM users; DELETE FROM workspaces;"

Then restart uv run codehive serve — it will re-seed with your configured credentials.

Backend

cd backend
uv sync --dev # Install dependencies
uv run codehive serve # Start the API server

Options:

--host HOST Bind address (default: 127.0.0.1)
--port PORT Bind port (default: 7433)
--reload Enable auto-reload for development

The server can also be configured via environment variables (see below).

Database Migrations

cd backend
uv run alembic upgrade head # Apply migrations
uv run alembic revision -m "description" --autogenerate # Create a new migration

Web App

cd web
npm install # Install dependencies
npm run dev # Start dev server (http://localhost:5173)
npm run build # Production build
npm run preview # Preview production build
npm run lint # Run ESLint

TUI (Terminal Interface)

Interactive terminal dashboard, designed to work over SSH and on small screens.

cd backend
uv run codehive tui # Full interactive dashboard
uv run codehive rescue # Rescue mode (emergency controls)

Rescue mode provides emergency access to stop runaway sessions, kill agents, rollback checkpoints, and toggle maintenance mode.

Telegram Bot

Lightweight client for monitoring sessions, answering questions, and approving actions.

# Set the bot tokenexport CODEHIVE_TELEGRAM_BOT_TOKEN=your-token-here
cd backend
uv run codehive telegram

Create a bot via @BotFather on Telegram to get your token.

CLI Commands

All commands are available via codehive (or uv run codehive from the backend/ directory).

CommandDescription
codehive devStart backend + frontend dev servers together
codehive code [directory]Start a lightweight coding agent session
codehive serveStart the API server
codehive tuiLaunch interactive terminal dashboard
codehive rescueLaunch rescue mode (emergency TUI)
codehive telegramStart the Telegram bot
codehive projects listList all projects
codehive projects create NAME --workspace IDCreate a project
codehive sessions list --project IDList sessions for a project
codehive sessions create PROJECT_ID --name NAMECreate a session
codehive sessions status SESSION_IDShow session details
codehive sessions chat SESSION_IDInteractive chat with a session
codehive sessions pause SESSION_IDPause a session
codehive sessions rollback SESSION_ID --checkpoint IDRollback to checkpoint
codehive questions listList pending questions
codehive questions answer QUESTION_ID "answer"Answer a question
codehive system healthShow system health status
codehive system maintenance on|offToggle maintenance mode

Use --base-url URL on any command to point at a different server (default: http://127.0.0.1:7433). This can also be set via CODEHIVE_BASE_URL.

Running Tests

Backend

cd backend
uv run pytest tests/ -v # Run all tests
uv run pytest --cov=codehive --cov-report=term-missing # With coverage
uv run ruff check # Lint
uv run ruff format --check # Check formatting

Web

cd web
npx vitest # Run tests
npm run lint # Lint

Environment Variables

Copy .env.example to .env and fill in your values. DB and Redis defaults match docker-compose.yml -- no changes needed for local dev.

CODEHIVE_HOST=127.0.0.1 # API bind address
CODEHIVE_PORT=7433 # API bind port
CODEHIVE_DEBUG=false # Auto-reload
CODEHIVE_DATABASE_URL=postgresql+asyncpg://codehive:codehive@localhost:5432/codehive
CODEHIVE_REDIS_URL=redis://localhost:6379/0
# LLM Providers (set the ones you use)
CODEHIVE_OPENAI_API_KEY= # For OpenAI API provider
CODEHIVE_OPENAI_BASE_URL= # Optional custom OpenAI API URL
CODEHIVE_ZAI_API_KEY= # For Z.ai provider
CODEHIVE_ZAI_BASE_URL= # Optional custom Z.ai API URL# Other integrations
CODEHIVE_TELEGRAM_BOT_TOKEN= # For `codehive telegram`
CODEHIVE_TELEGRAM_CHAT_ID= # For Telegram notifications
CODEHIVE_GITHUB_DEFAULT_TOKEN= # For GitHub integration

Infrastructure

Start and stop PostgreSQL and Redis via Docker Compose:

docker compose up -d # Start
docker compose down # Stop
docker compose ps # Status

Or from the backend directory using Make:

cd backend
make infra-up # Start
make infra-down # Stop
make infra-status # Status

License

WTFPL

About

Multi-platform autonomous coding agent with sub-agent orchestration

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

Codehive

Persistent AI coding agent workspace with sub-agent orchestration. Agents live in projects, execute tasks autonomously, create sub-agents, and are accessible from web, mobile, Telegram, and terminal. Not a chat -- an operating system for agent sessions.

How It Works

Codehive is a self-hosted tool that runs on your own server or computer. There is no hosted version -- you own your instance entirely.

  1. Install codehive on your server (or laptop, or home machine)
  2. SSH in and run codehive serve to start the backend
  3. Connect from your clients via SSH port forwarding:
    ssh -L 7433:localhost:7433 yourserver
  4. Open http://localhost:7433 in your browser, or point the mobile app at it

One user, one instance. Your code and agent data never leave your machine. The backend only listens on 127.0.0.1 — remote access is handled by SSH tunnels on the client side, not by the backend.

Architecture

Monorepo with three top-level directories:

backend/ Python 3.13, FastAPI, SQLAlchemy, Redis
web/ React 19, Vite, TypeScript, Tailwind CSS
mobile/ (planned)

Prerequisites

  • Python 3.12+
  • Node.js 20+
  • uv (Python package manager)
  • Git

Quick Start (SQLite — zero infrastructure)

No Docker, no PostgreSQL, no Redis needed. Just Python and Node.

Codehive supports multiple LLM providers:

ProviderTypeSetup
ClaudeCLIInstall claude CLI -- no API key needed
CodexCLIInstall codex CLI -- no API key needed
OpenAI APIAPISet CODEHIVE_OPENAI_API_KEY in .env
Z.aiAPISet CODEHIVE_ZAI_API_KEY in .env
# 1. Clone and enter the repo
git clone <repo-url>&&cd codehive
# 2. Copy and edit environment config
cp .env.example .env
# If using Claude CLI (default), no API keys needed.# For Z.ai: uncomment and set CODEHIVE_ZAI_API_KEY in .env# For OpenAI API: uncomment and set CODEHIVE_OPENAI_API_KEY in .env# 3. Install dependenciescd backend && uv sync --dev &&cd ..
cd web && npm install &&cd ..
# 4. Start both servers with a single commandcd backend
uv run codehive dev

This starts the backend (uvicorn with auto-reload on http://127.0.0.1:7433) and the frontend dev server (http://localhost:5173) together. Press Ctrl+C to stop both. You can also start them separately:

uv run codehive dev --no-frontend # backend only
uv run codehive dev --no-backend # frontend only

Data is stored in backend/data/codehive.db (SQLite, auto-created on first run).

Quick Start with PostgreSQL + Redis (optional)

For production or multi-process deployments:

# Start infrastructure
docker compose up -d
# Set database URL in .envecho"CODEHIVE_DATABASE_URL=postgresql+asyncpg://codehive:codehive@localhost:5432/codehive">> .env
echo"CODEHIVE_REDIS_URL=redis://localhost:6379/0">> .env
# Start the backendcd backend && uv sync --dev && uv run codehive serve

Terminal-only mode (no web server needed)

cd backend
uv run codehive code # start agent in current directory
uv run codehive code ~/myapp # start agent in a specific directory

This launches a Textual TUI with streaming, markdown rendering, and tool approval prompts. If the backend is running, sessions are shared with the web UI. If not, it runs standalone with a local engine.

Default Login

On first run the server creates an admin user. Credentials are controlled by environment variables:

VariableDefault
CODEHIVE_ADMIN_USERNAMEadmin
CODEHIVE_ADMIN_PASSWORDrandom (printed to server logs)

Set CODEHIVE_ADMIN_PASSWORD=admin in your .env for a known password. If the admin was already created and you forgot the password, reset the DB:

docker exec codehive-postgres-1 psql -U codehive -d codehive \
-c "DELETE FROM workspace_members; DELETE FROM users; DELETE FROM workspaces;"

Then restart uv run codehive serve — it will re-seed with your configured credentials.

Backend

cd backend
uv sync --dev # Install dependencies
uv run codehive serve # Start the API server

Options:

--host HOST Bind address (default: 127.0.0.1)
--port PORT Bind port (default: 7433)
--reload Enable auto-reload for development

The server can also be configured via environment variables (see below).

Database Migrations

cd backend
uv run alembic upgrade head # Apply migrations
uv run alembic revision -m "description" --autogenerate # Create a new migration

Web App

cd web
npm install # Install dependencies
npm run dev # Start dev server (http://localhost:5173)
npm run build # Production build
npm run preview # Preview production build
npm run lint # Run ESLint

TUI (Terminal Interface)

Interactive terminal dashboard, designed to work over SSH and on small screens.

cd backend
uv run codehive tui # Full interactive dashboard
uv run codehive rescue # Rescue mode (emergency controls)

Rescue mode provides emergency access to stop runaway sessions, kill agents, rollback checkpoints, and toggle maintenance mode.

Telegram Bot

Lightweight client for monitoring sessions, answering questions, and approving actions.

# Set the bot tokenexport CODEHIVE_TELEGRAM_BOT_TOKEN=your-token-here
cd backend
uv run codehive telegram

Create a bot via @BotFather on Telegram to get your token.

CLI Commands

All commands are available via codehive (or uv run codehive from the backend/ directory).

CommandDescription
codehive devStart backend + frontend dev servers together
codehive code [directory]Start a lightweight coding agent session
codehive serveStart the API server
codehive tuiLaunch interactive terminal dashboard
codehive rescueLaunch rescue mode (emergency TUI)
codehive telegramStart the Telegram bot
codehive projects listList all projects
codehive projects create NAME --workspace IDCreate a project
codehive sessions list --project IDList sessions for a project
codehive sessions create PROJECT_ID --name NAMECreate a session
codehive sessions status SESSION_IDShow session details
codehive sessions chat SESSION_IDInteractive chat with a session
codehive sessions pause SESSION_IDPause a session
codehive sessions rollback SESSION_ID --checkpoint IDRollback to checkpoint
codehive questions listList pending questions
codehive questions answer QUESTION_ID "answer"Answer a question
codehive system healthShow system health status
codehive system maintenance on|offToggle maintenance mode

Use --base-url URL on any command to point at a different server (default: http://127.0.0.1:7433). This can also be set via CODEHIVE_BASE_URL.

Running Tests

Backend

cd backend
uv run pytest tests/ -v # Run all tests
uv run pytest --cov=codehive --cov-report=term-missing # With coverage
uv run ruff check # Lint
uv run ruff format --check # Check formatting

Web

cd web
npx vitest # Run tests
npm run lint # Lint

Environment Variables

Copy .env.example to .env and fill in your values. DB and Redis defaults match docker-compose.yml -- no changes needed for local dev.

CODEHIVE_HOST=127.0.0.1 # API bind address
CODEHIVE_PORT=7433 # API bind port
CODEHIVE_DEBUG=false # Auto-reload
CODEHIVE_DATABASE_URL=postgresql+asyncpg://codehive:codehive@localhost:5432/codehive
CODEHIVE_REDIS_URL=redis://localhost:6379/0
# LLM Providers (set the ones you use)
CODEHIVE_OPENAI_API_KEY= # For OpenAI API provider
CODEHIVE_OPENAI_BASE_URL= # Optional custom OpenAI API URL
CODEHIVE_ZAI_API_KEY= # For Z.ai provider
CODEHIVE_ZAI_BASE_URL= # Optional custom Z.ai API URL# Other integrations
CODEHIVE_TELEGRAM_BOT_TOKEN= # For `codehive telegram`
CODEHIVE_TELEGRAM_CHAT_ID= # For Telegram notifications
CODEHIVE_GITHUB_DEFAULT_TOKEN= # For GitHub integration

Infrastructure

Start and stop PostgreSQL and Redis via Docker Compose:

docker compose up -d # Start
docker compose down # Stop
docker compose ps # Status

Or from the backend directory using Make:

cd backend
make infra-up # Start
make infra-down # Stop
make infra-status # Status

License

WTFPL

About

Multi-platform autonomous coding agent with sub-agent orchestration

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Codehive

Persistent AI coding agent workspace with sub-agent orchestration. Agents live in projects, execute tasks autonomously, create sub-agents, and are accessible from web, mobile, Telegram, and terminal. Not a chat -- an operating system for agent sessions.

How It Works

Codehive is a self-hosted tool that runs on your own server or computer. There is no hosted version -- you own your instance entirely.

  1. Install codehive on your server (or laptop, or home machine)
  2. SSH in and run codehive serve to start the backend
  3. Connect from your clients via SSH port forwarding:
    ssh -L 7433:localhost:7433 yourserver
  4. Open http://localhost:7433 in your browser, or point the mobile app at it

One user, one instance. Your code and agent data never leave your machine. The backend only listens on 127.0.0.1 — remote access is handled by SSH tunnels on the client side, not by the backend.

Architecture

Monorepo with three top-level directories:

backend/ Python 3.13, FastAPI, SQLAlchemy, Redis
web/ React 19, Vite, TypeScript, Tailwind CSS
mobile/ (planned)

Prerequisites

  • Python 3.12+
  • Node.js 20+
  • uv (Python package manager)
  • Git

Quick Start (SQLite — zero infrastructure)

No Docker, no PostgreSQL, no Redis needed. Just Python and Node.

Codehive supports multiple LLM providers:

ProviderTypeSetup
ClaudeCLIInstall claude CLI -- no API key needed
CodexCLIInstall codex CLI -- no API key needed
OpenAI APIAPISet CODEHIVE_OPENAI_API_KEY in .env
Z.aiAPISet CODEHIVE_ZAI_API_KEY in .env
# 1. Clone and enter the repo
git clone <repo-url>&&cd codehive
# 2. Copy and edit environment config
cp .env.example .env
# If using Claude CLI (default), no API keys needed.# For Z.ai: uncomment and set CODEHIVE_ZAI_API_KEY in .env# For OpenAI API: uncomment and set CODEHIVE_OPENAI_API_KEY in .env# 3. Install dependenciescd backend && uv sync --dev &&cd ..
cd web && npm install &&cd ..
# 4. Start both servers with a single commandcd backend
uv run codehive dev

This starts the backend (uvicorn with auto-reload on http://127.0.0.1:7433) and the frontend dev server (http://localhost:5173) together. Press Ctrl+C to stop both. You can also start them separately:

uv run codehive dev --no-frontend # backend only
uv run codehive dev --no-backend # frontend only

Data is stored in backend/data/codehive.db (SQLite, auto-created on first run).

Quick Start with PostgreSQL + Redis (optional)

For production or multi-process deployments:

# Start infrastructure
docker compose up -d
# Set database URL in .envecho"CODEHIVE_DATABASE_URL=postgresql+asyncpg://codehive:codehive@localhost:5432/codehive">> .env
echo"CODEHIVE_REDIS_URL=redis://localhost:6379/0">> .env
# Start the backendcd backend && uv sync --dev && uv run codehive serve

Terminal-only mode (no web server needed)

cd backend
uv run codehive code # start agent in current directory
uv run codehive code ~/myapp # start agent in a specific directory

This launches a Textual TUI with streaming, markdown rendering, and tool approval prompts. If the backend is running, sessions are shared with the web UI. If not, it runs standalone with a local engine.

Default Login

On first run the server creates an admin user. Credentials are controlled by environment variables:

VariableDefault
CODEHIVE_ADMIN_USERNAMEadmin
CODEHIVE_ADMIN_PASSWORDrandom (printed to server logs)

Set CODEHIVE_ADMIN_PASSWORD=admin in your .env for a known password. If the admin was already created and you forgot the password, reset the DB:

docker exec codehive-postgres-1 psql -U codehive -d codehive \
-c "DELETE FROM workspace_members; DELETE FROM users; DELETE FROM workspaces;"

Then restart uv run codehive serve — it will re-seed with your configured credentials.

Backend

cd backend
uv sync --dev # Install dependencies
uv run codehive serve # Start the API server

Options:

--host HOST Bind address (default: 127.0.0.1)
--port PORT Bind port (default: 7433)
--reload Enable auto-reload for development

The server can also be configured via environment variables (see below).

Database Migrations

cd backend
uv run alembic upgrade head # Apply migrations
uv run alembic revision -m "description" --autogenerate # Create a new migration

Web App

cd web
npm install # Install dependencies
npm run dev # Start dev server (http://localhost:5173)
npm run build # Production build
npm run preview # Preview production build
npm run lint # Run ESLint

TUI (Terminal Interface)

Interactive terminal dashboard, designed to work over SSH and on small screens.

cd backend
uv run codehive tui # Full interactive dashboard
uv run codehive rescue # Rescue mode (emergency controls)

Rescue mode provides emergency access to stop runaway sessions, kill agents, rollback checkpoints, and toggle maintenance mode.

Telegram Bot

Lightweight client for monitoring sessions, answering questions, and approving actions.

# Set the bot tokenexport CODEHIVE_TELEGRAM_BOT_TOKEN=your-token-here
cd backend
uv run codehive telegram

Create a bot via @BotFather on Telegram to get your token.

CLI Commands

All commands are available via codehive (or uv run codehive from the backend/ directory).

CommandDescription
codehive devStart backend + frontend dev servers together
codehive code [directory]Start a lightweight coding agent session
codehive serveStart the API server
codehive tuiLaunch interactive terminal dashboard
codehive rescueLaunch rescue mode (emergency TUI)
codehive telegramStart the Telegram bot
codehive projects listList all projects
codehive projects create NAME --workspace IDCreate a project
codehive sessions list --project IDList sessions for a project
codehive sessions create PROJECT_ID --name NAMECreate a session
codehive sessions status SESSION_IDShow session details
codehive sessions chat SESSION_IDInteractive chat with a session
codehive sessions pause SESSION_IDPause a session
codehive sessions rollback SESSION_ID --checkpoint IDRollback to checkpoint
codehive questions listList pending questions
codehive questions answer QUESTION_ID "answer"Answer a question
codehive system healthShow system health status
codehive system maintenance on|offToggle maintenance mode

Use --base-url URL on any command to point at a different server (default: http://127.0.0.1:7433). This can also be set via CODEHIVE_BASE_URL.

Running Tests

Backend

cd backend
uv run pytest tests/ -v # Run all tests
uv run pytest --cov=codehive --cov-report=term-missing # With coverage
uv run ruff check # Lint
uv run ruff format --check # Check formatting

Web

cd web
npx vitest # Run tests
npm run lint # Lint

Environment Variables

Copy .env.example to .env and fill in your values. DB and Redis defaults match docker-compose.yml -- no changes needed for local dev.

CODEHIVE_HOST=127.0.0.1 # API bind address
CODEHIVE_PORT=7433 # API bind port
CODEHIVE_DEBUG=false # Auto-reload
CODEHIVE_DATABASE_URL=postgresql+asyncpg://codehive:codehive@localhost:5432/codehive
CODEHIVE_REDIS_URL=redis://localhost:6379/0
# LLM Providers (set the ones you use)
CODEHIVE_OPENAI_API_KEY= # For OpenAI API provider
CODEHIVE_OPENAI_BASE_URL= # Optional custom OpenAI API URL
CODEHIVE_ZAI_API_KEY= # For Z.ai provider
CODEHIVE_ZAI_BASE_URL= # Optional custom Z.ai API URL# Other integrations
CODEHIVE_TELEGRAM_BOT_TOKEN= # For `codehive telegram`
CODEHIVE_TELEGRAM_CHAT_ID= # For Telegram notifications
CODEHIVE_GITHUB_DEFAULT_TOKEN= # For GitHub integration

Infrastructure

Start and stop PostgreSQL and Redis via Docker Compose:

docker compose up -d # Start
docker compose down # Stop
docker compose ps # Status

Or from the backend directory using Make:

cd backend
make infra-up # Start
make infra-down # Stop
make infra-status # Status

License

WTFPL

About

Multi-platform autonomous coding agent with sub-agent orchestration

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Codehive

Persistent AI coding agent workspace with sub-agent orchestration. Agents live in projects, execute tasks autonomously, create sub-agents, and are accessible from web, mobile, Telegram, and terminal. Not a chat -- an operating system for agent sessions.

How It Works

Codehive is a self-hosted tool that runs on your own server or computer. There is no hosted version -- you own your instance entirely.

  1. Install codehive on your server (or laptop, or home machine)
  2. SSH in and run codehive serve to start the backend
  3. Connect from your clients via SSH port forwarding:
    ssh -L 7433:localhost:7433 yourserver
  4. Open http://localhost:7433 in your browser, or point the mobile app at it

One user, one instance. Your code and agent data never leave your machine. The backend only listens on 127.0.0.1 — remote access is handled by SSH tunnels on the client side, not by the backend.

Architecture

Monorepo with three top-level directories:

backend/ Python 3.13, FastAPI, SQLAlchemy, Redis
web/ React 19, Vite, TypeScript, Tailwind CSS
mobile/ (planned)

Prerequisites

  • Python 3.12+
  • Node.js 20+
  • uv (Python package manager)
  • Git

Quick Start (SQLite — zero infrastructure)

No Docker, no PostgreSQL, no Redis needed. Just Python and Node.

Codehive supports multiple LLM providers:

ProviderTypeSetup
ClaudeCLIInstall claude CLI -- no API key needed
CodexCLIInstall codex CLI -- no API key needed
OpenAI APIAPISet CODEHIVE_OPENAI_API_KEY in .env
Z.aiAPISet CODEHIVE_ZAI_API_KEY in .env
# 1. Clone and enter the repo
git clone <repo-url>&&cd codehive
# 2. Copy and edit environment config
cp .env.example .env
# If using Claude CLI (default), no API keys needed.# For Z.ai: uncomment and set CODEHIVE_ZAI_API_KEY in .env# For OpenAI API: uncomment and set CODEHIVE_OPENAI_API_KEY in .env# 3. Install dependenciescd backend && uv sync --dev &&cd ..
cd web && npm install &&cd ..
# 4. Start both servers with a single commandcd backend
uv run codehive dev

This starts the backend (uvicorn with auto-reload on http://127.0.0.1:7433) and the frontend dev server (http://localhost:5173) together. Press Ctrl+C to stop both. You can also start them separately:

uv run codehive dev --no-frontend # backend only
uv run codehive dev --no-backend # frontend only

Data is stored in backend/data/codehive.db (SQLite, auto-created on first run).

Quick Start with PostgreSQL + Redis (optional)

For production or multi-process deployments:

# Start infrastructure
docker compose up -d
# Set database URL in .envecho"CODEHIVE_DATABASE_URL=postgresql+asyncpg://codehive:codehive@localhost:5432/codehive">> .env
echo"CODEHIVE_REDIS_URL=redis://localhost:6379/0">> .env
# Start the backendcd backend && uv sync --dev && uv run codehive serve

Terminal-only mode (no web server needed)

cd backend
uv run codehive code # start agent in current directory
uv run codehive code ~/myapp # start agent in a specific directory

This launches a Textual TUI with streaming, markdown rendering, and tool approval prompts. If the backend is running, sessions are shared with the web UI. If not, it runs standalone with a local engine.

Default Login

On first run the server creates an admin user. Credentials are controlled by environment variables:

VariableDefault
CODEHIVE_ADMIN_USERNAMEadmin
CODEHIVE_ADMIN_PASSWORDrandom (printed to server logs)

Set CODEHIVE_ADMIN_PASSWORD=admin in your .env for a known password. If the admin was already created and you forgot the password, reset the DB:

docker exec codehive-postgres-1 psql -U codehive -d codehive \
-c "DELETE FROM workspace_members; DELETE FROM users; DELETE FROM workspaces;"

Then restart uv run codehive serve — it will re-seed with your configured credentials.

Backend

cd backend
uv sync --dev # Install dependencies
uv run codehive serve # Start the API server

Options:

--host HOST Bind address (default: 127.0.0.1)
--port PORT Bind port (default: 7433)
--reload Enable auto-reload for development

The server can also be configured via environment variables (see below).

Database Migrations

cd backend
uv run alembic upgrade head # Apply migrations
uv run alembic revision -m "description" --autogenerate # Create a new migration

Web App

cd web
npm install # Install dependencies
npm run dev # Start dev server (http://localhost:5173)
npm run build # Production build
npm run preview # Preview production build
npm run lint # Run ESLint

TUI (Terminal Interface)

Interactive terminal dashboard, designed to work over SSH and on small screens.

cd backend
uv run codehive tui # Full interactive dashboard
uv run codehive rescue # Rescue mode (emergency controls)

Rescue mode provides emergency access to stop runaway sessions, kill agents, rollback checkpoints, and toggle maintenance mode.

Telegram Bot

Lightweight client for monitoring sessions, answering questions, and approving actions.

# Set the bot tokenexport CODEHIVE_TELEGRAM_BOT_TOKEN=your-token-here
cd backend
uv run codehive telegram

Create a bot via @BotFather on Telegram to get your token.

CLI Commands

All commands are available via codehive (or uv run codehive from the backend/ directory).

CommandDescription
codehive devStart backend + frontend dev servers together
codehive code [directory]Start a lightweight coding agent session
codehive serveStart the API server
codehive tuiLaunch interactive terminal dashboard
codehive rescueLaunch rescue mode (emergency TUI)
codehive telegramStart the Telegram bot
codehive projects listList all projects
codehive projects create NAME --workspace IDCreate a project
codehive sessions list --project IDList sessions for a project
codehive sessions create PROJECT_ID --name NAMECreate a session
codehive sessions status SESSION_IDShow session details
codehive sessions chat SESSION_IDInteractive chat with a session
codehive sessions pause SESSION_IDPause a session
codehive sessions rollback SESSION_ID --checkpoint IDRollback to checkpoint
codehive questions listList pending questions
codehive questions answer QUESTION_ID "answer"Answer a question
codehive system healthShow system health status
codehive system maintenance on|offToggle maintenance mode

Use --base-url URL on any command to point at a different server (default: http://127.0.0.1:7433). This can also be set via CODEHIVE_BASE_URL.

Running Tests

Backend

cd backend
uv run pytest tests/ -v # Run all tests
uv run pytest --cov=codehive --cov-report=term-missing # With coverage
uv run ruff check # Lint
uv run ruff format --check # Check formatting

Web

cd web
npx vitest # Run tests
npm run lint # Lint

Environment Variables

Copy .env.example to .env and fill in your values. DB and Redis defaults match docker-compose.yml -- no changes needed for local dev.

CODEHIVE_HOST=127.0.0.1 # API bind address
CODEHIVE_PORT=7433 # API bind port
CODEHIVE_DEBUG=false # Auto-reload
CODEHIVE_DATABASE_URL=postgresql+asyncpg://codehive:codehive@localhost:5432/codehive
CODEHIVE_REDIS_URL=redis://localhost:6379/0
# LLM Providers (set the ones you use)
CODEHIVE_OPENAI_API_KEY= # For OpenAI API provider
CODEHIVE_OPENAI_BASE_URL= # Optional custom OpenAI API URL
CODEHIVE_ZAI_API_KEY= # For Z.ai provider
CODEHIVE_ZAI_BASE_URL= # Optional custom Z.ai API URL# Other integrations
CODEHIVE_TELEGRAM_BOT_TOKEN= # For `codehive telegram`
CODEHIVE_TELEGRAM_CHAT_ID= # For Telegram notifications
CODEHIVE_GITHUB_DEFAULT_TOKEN= # For GitHub integration

Infrastructure

Start and stop PostgreSQL and Redis via Docker Compose:

docker compose up -d # Start
docker compose down # Stop
docker compose ps # Status

Or from the backend directory using Make:

cd backend
make infra-up # Start
make infra-down # Stop
make infra-status # Status

License

WTFPL

About

Multi-platform autonomous coding agent with sub-agent orchestration

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

Codehive

Persistent AI coding agent workspace with sub-agent orchestration. Agents live in projects, execute tasks autonomously, create sub-agents, and are accessible from web, mobile, Telegram, and terminal. Not a chat -- an operating system for agent sessions.

How It Works

Codehive is a self-hosted tool that runs on your own server or computer. There is no hosted version -- you own your instance entirely.

  1. Install codehive on your server (or laptop, or home machine)
  2. SSH in and run codehive serve to start the backend
  3. Connect from your clients via SSH port forwarding:
    ssh -L 7433:localhost:7433 yourserver
  4. Open http://localhost:7433 in your browser, or point the mobile app at it

One user, one instance. Your code and agent data never leave your machine. The backend only listens on 127.0.0.1 — remote access is handled by SSH tunnels on the client side, not by the backend.

Architecture

Monorepo with three top-level directories:

backend/ Python 3.13, FastAPI, SQLAlchemy, Redis
web/ React 19, Vite, TypeScript, Tailwind CSS
mobile/ (planned)

Prerequisites

  • Python 3.12+
  • Node.js 20+
  • uv (Python package manager)
  • Git

Quick Start (SQLite — zero infrastructure)

No Docker, no PostgreSQL, no Redis needed. Just Python and Node.

Codehive supports multiple LLM providers:

ProviderTypeSetup
ClaudeCLIInstall claude CLI -- no API key needed
CodexCLIInstall codex CLI -- no API key needed
OpenAI APIAPISet CODEHIVE_OPENAI_API_KEY in .env
Z.aiAPISet CODEHIVE_ZAI_API_KEY in .env
# 1. Clone and enter the repo
git clone <repo-url>&&cd codehive
# 2. Copy and edit environment config
cp .env.example .env
# If using Claude CLI (default), no API keys needed.# For Z.ai: uncomment and set CODEHIVE_ZAI_API_KEY in .env# For OpenAI API: uncomment and set CODEHIVE_OPENAI_API_KEY in .env# 3. Install dependenciescd backend && uv sync --dev &&cd ..
cd web && npm install &&cd ..
# 4. Start both servers with a single commandcd backend
uv run codehive dev

This starts the backend (uvicorn with auto-reload on http://127.0.0.1:7433) and the frontend dev server (http://localhost:5173) together. Press Ctrl+C to stop both. You can also start them separately:

uv run codehive dev --no-frontend # backend only
uv run codehive dev --no-backend # frontend only

Data is stored in backend/data/codehive.db (SQLite, auto-created on first run).

Quick Start with PostgreSQL + Redis (optional)

For production or multi-process deployments:

# Start infrastructure
docker compose up -d
# Set database URL in .envecho"CODEHIVE_DATABASE_URL=postgresql+asyncpg://codehive:codehive@localhost:5432/codehive">> .env
echo"CODEHIVE_REDIS_URL=redis://localhost:6379/0">> .env
# Start the backendcd backend && uv sync --dev && uv run codehive serve

Terminal-only mode (no web server needed)

cd backend
uv run codehive code # start agent in current directory
uv run codehive code ~/myapp # start agent in a specific directory

This launches a Textual TUI with streaming, markdown rendering, and tool approval prompts. If the backend is running, sessions are shared with the web UI. If not, it runs standalone with a local engine.

Default Login

On first run the server creates an admin user. Credentials are controlled by environment variables:

VariableDefault
CODEHIVE_ADMIN_USERNAMEadmin
CODEHIVE_ADMIN_PASSWORDrandom (printed to server logs)

Set CODEHIVE_ADMIN_PASSWORD=admin in your .env for a known password. If the admin was already created and you forgot the password, reset the DB:

docker exec codehive-postgres-1 psql -U codehive -d codehive \
-c "DELETE FROM workspace_members; DELETE FROM users; DELETE FROM workspaces;"

Then restart uv run codehive serve — it will re-seed with your configured credentials.

Backend

cd backend
uv sync --dev # Install dependencies
uv run codehive serve # Start the API server

Options:

--host HOST Bind address (default: 127.0.0.1)
--port PORT Bind port (default: 7433)
--reload Enable auto-reload for development

The server can also be configured via environment variables (see below).

Database Migrations

cd backend
uv run alembic upgrade head # Apply migrations
uv run alembic revision -m "description" --autogenerate # Create a new migration

Web App

cd web
npm install # Install dependencies
npm run dev # Start dev server (http://localhost:5173)
npm run build # Production build
npm run preview # Preview production build
npm run lint # Run ESLint

TUI (Terminal Interface)

Interactive terminal dashboard, designed to work over SSH and on small screens.

cd backend
uv run codehive tui # Full interactive dashboard
uv run codehive rescue # Rescue mode (emergency controls)

Rescue mode provides emergency access to stop runaway sessions, kill agents, rollback checkpoints, and toggle maintenance mode.

Telegram Bot

Lightweight client for monitoring sessions, answering questions, and approving actions.

# Set the bot tokenexport CODEHIVE_TELEGRAM_BOT_TOKEN=your-token-here
cd backend
uv run codehive telegram

Create a bot via @BotFather on Telegram to get your token.

CLI Commands

All commands are available via codehive (or uv run codehive from the backend/ directory).

CommandDescription
codehive devStart backend + frontend dev servers together
codehive code [directory]Start a lightweight coding agent session
codehive serveStart the API server
codehive tuiLaunch interactive terminal dashboard
codehive rescueLaunch rescue mode (emergency TUI)
codehive telegramStart the Telegram bot
codehive projects listList all projects
codehive projects create NAME --workspace IDCreate a project
codehive sessions list --project IDList sessions for a project
codehive sessions create PROJECT_ID --name NAMECreate a session
codehive sessions status SESSION_IDShow session details
codehive sessions chat SESSION_IDInteractive chat with a session
codehive sessions pause SESSION_IDPause a session
codehive sessions rollback SESSION_ID --checkpoint IDRollback to checkpoint
codehive questions listList pending questions
codehive questions answer QUESTION_ID "answer"Answer a question
codehive system healthShow system health status
codehive system maintenance on|offToggle maintenance mode

Use --base-url URL on any command to point at a different server (default: http://127.0.0.1:7433). This can also be set via CODEHIVE_BASE_URL.

Running Tests

Backend

cd backend
uv run pytest tests/ -v # Run all tests
uv run pytest --cov=codehive --cov-report=term-missing # With coverage
uv run ruff check # Lint
uv run ruff format --check # Check formatting

Web

cd web
npx vitest # Run tests
npm run lint # Lint

Environment Variables

Copy .env.example to .env and fill in your values. DB and Redis defaults match docker-compose.yml -- no changes needed for local dev.

CODEHIVE_HOST=127.0.0.1 # API bind address
CODEHIVE_PORT=7433 # API bind port
CODEHIVE_DEBUG=false # Auto-reload
CODEHIVE_DATABASE_URL=postgresql+asyncpg://codehive:codehive@localhost:5432/codehive
CODEHIVE_REDIS_URL=redis://localhost:6379/0
# LLM Providers (set the ones you use)
CODEHIVE_OPENAI_API_KEY= # For OpenAI API provider
CODEHIVE_OPENAI_BASE_URL= # Optional custom OpenAI API URL
CODEHIVE_ZAI_API_KEY= # For Z.ai provider
CODEHIVE_ZAI_BASE_URL= # Optional custom Z.ai API URL# Other integrations
CODEHIVE_TELEGRAM_BOT_TOKEN= # For `codehive telegram`
CODEHIVE_TELEGRAM_CHAT_ID= # For Telegram notifications
CODEHIVE_GITHUB_DEFAULT_TOKEN= # For GitHub integration

Infrastructure

Start and stop PostgreSQL and Redis via Docker Compose:

docker compose up -d # Start
docker compose down # Stop
docker compose ps # Status

Or from the backend directory using Make:

cd backend
make infra-up # Start
make infra-down # Stop
make infra-status # Status

License

WTFPL

About

Multi-platform autonomous coding agent with sub-agent orchestration

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages