A CLI, TUI, dashboard, and native desktop app for AI agent orchestration
- π€ AI Agent Orchestration - Deploy and manage AI agents across different environments
- π― Customizable AI Models - Configure different AI providers and models for each task type (chat, PRD generation, insight extraction, etc.)
- π¦ AI-Powered Sandboxes - Isolated execution environments with multi-provider support (Docker, Beam, E2B, Modal, Fly.io, and more)
- π Real-time Dashboard - Web-based interface for monitoring and management
- π₯οΈ Terminal Interface - Rich TUI for interactive command-line workflows
- πΌοΈ Native Desktop App - Tauri-based desktop application with system tray integration
- π§ CLI Tools - Command-line interface for configuration and control
- π Workflow Coordination - Orchestrate complex multi-agent workflows
- π Enterprise Security - OAuth authentication, JWT validation, and Row Level Security
- π HTTPS/TLS Support - Secure connections with auto-generated or custom certificates
- πΎ Local-First Architecture - SQLite-based storage for fast, reliable data management
This is a Turborepo monorepo containing:
orkee/
βββ packages/
β βββ cli/ # Rust Axum HTTP server providing REST API endpoints
β βββ dashboard/ # React SPA with Vite, Shadcn/ui, and Tailwind CSS
β β βββ src-tauri/ # Tauri desktop app wrapper with system tray
β βββ tui/ # Ratatui-based standalone terminal interface
β βββ projects/ # Shared Rust library for core functionality (used by CLI and TUI)
β βββ preview/ # Development server management with registry
β βββ agents/ # AI agent registry and definitions
β βββ sandbox/ # Sandbox infrastructure with multi-provider support
β βββ mcp-server/ # MCP (Model Context Protocol) server for Claude integration
βββ deployment/ # Production deployment configurations
βββ scripts/ # Build and release automation scripts
Orkee provides multiple interfaces for AI agent orchestration:
- CLI Server - REST API backend (default port 4001, configurable)
- Dashboard - React web interface (default port 5173, configurable)
- Desktop App - Native Tauri application with system tray (bundles CLI server as sidecar)
- TUI - Standalone terminal interface with rich interactive features
- Projects Library - Core SQLite-based project management (used by CLI and TUI)
- Preview Library - Development server management with central registry
The Dashboard and Desktop App require the CLI server to be running. The TUI works independently.
Download the native desktop application for your platform:
- Apple Silicon: Orkee_0.0.9_aarch64.dmg (12 MB)
- Intel: Orkee_0.0.9_x64.dmg (12 MB)
Installation (IMPORTANT):
- Double-click the .dmg file and drag Orkee to your Applications folder
- Remove quarantine attributes (REQUIRED):
This command is necessary because the app is unsigned. macOS Gatekeeper will block the app without this step.
sudo xattr -cr /Applications/Orkee.app
- Launch Orkee from Applications folder or Spotlight
- Installer (recommended): Orkee_0.0.9_x64_en-US.msi (10 MB)
- Setup EXE: Orkee_0.0.9_x64-setup.exe (7 MB)
Installation: Download and run the installer. You may see a Windows SmartScreen warning - click "More info" and then "Run anyway" (app is unsigned).
- Debian/Ubuntu: Orkee_0.0.9_amd64.deb (12 MB)
sudo dpkg -i Orkee_0.0.9_amd64.deb
- Fedora/RHEL: Orkee-0.0.9-1.x86_64.rpm (12 MB)
sudo rpm -i Orkee-0.0.9-1.x86_64.rpm
- Universal (AppImage): Orkee_0.0.9_amd64.AppImage (86 MB)
chmod +x Orkee_0.0.9_amd64.AppImage ./Orkee_0.0.9_amd64.AppImage
The desktop app includes:
- π₯οΈ Native desktop application with system tray
- π» Full CLI access (
orkeecommand) - π¨ Terminal UI (
orkee tui) - π Web dashboard in native window
# Install globally via npm
npm install -g orkee
# Verify installation
orkee --version
# Start the dashboard
orkee dashboard
# Or use the terminal interface
orkee tuiThe npm package automatically downloads the appropriate binary for your platform (macOS, Linux, Windows).
git clone https://github.com/OrkeeAI/orkee.git
cd orkee
bun install
turbo build# Install dependencies
bun install
# Choose your interface:
# 1. Native Desktop App with system tray (recommended)
turbo dev:tauri
# 2. Web-based dashboard
turbo dev # Start both CLI server and dashboard
turbo dev:web # Alternative: web-only development
# 3. CLI + Dashboard (manual)
cargo run --bin orkee -- dashboard # Default ports: API 4001, UI 5173
cargo run --bin orkee -- dashboard --api-port 8080 --ui-port 3000 # Custom ports
ORKEE_API_PORT=9000 ORKEE_UI_PORT=3333 cargo run --bin orkee -- dashboard # Via env vars
# 4. Terminal interface (standalone, no server required)
cargo run --bin orkee -- tui
# Explore CLI capabilities
cargo run --bin orkee -- --help# Create .env file and enable TLS
echo "TLS_ENABLED=true" > .env
# Start with HTTPS (auto-generates development certificates)
cargo run --bin orkee -- dashboard
# Dashboard will be available at https://localhost:4001
# HTTP requests to port 4000 automatically redirect to HTTPSOrkee supports authentication with AI providers, allowing you to use your subscription accounts instead of API keys.
- β Use Claude Pro/Max subscriptions - No API costs, leverage your existing subscription
- β Secure token management - Encrypted storage in local SQLite database
- β Simple setup - Import tokens generated by provider CLIs
- β Backward compatible - Works alongside existing API key authentication
# Authenticate with Claude (uses Claude CLI to generate token)
orkee auth login claude
# Or import a token from file
orkee auth login claude --file ~/claude-token.txt
# Check authentication status
orkee auth status
# Logout from a provider
orkee auth logout claude
# Logout from all providers
orkee auth logout all| Provider | Status | Implementation |
|---|---|---|
| Claude (Anthropic) | β Available | Token import via Claude CLI |
| OpenAI | β³ Planned | OAuth flow |
| Google (Vertex AI) | β³ Planned | OAuth flow |
| xAI (Grok) | β³ Planned | OAuth flow |
| Docker Hub | β Available | Docker CLI wrapper |
- Login: Run
orkee auth login claudeto import a token - Token generation: The Claude CLI (
claude setup-token) opens your browser for authentication - Token import: Orkee captures and imports the generated OAuth token
- Token storage: Tokens are encrypted and stored in
~/.orkee/orkee.db - Use in apps: Dashboard and CLI use the token transparently
Token Characteristics:
- Format:
sk-ant-oat01-...(OAuth Access Token) - Validity: 1 year from creation
- Refresh: Not supported - re-authenticate when expired
β οΈ IMPORTANT: By default, Orkee uses machine-based encryption which provides transport encryption only.With machine-based encryption:
- β Tokens are protected during backup/sync operations
- β Anyone with access to
~/.orkee/orkee.dbon your machine can decrypt the tokens- β This is NOT true at-rest encryption
For production use or shared machines, upgrade to password-based encryption:
orkee security set-password # Enable password-based encryption orkee security status # Check current encryption modePassword-based encryption provides:
- β True at-rest encryption - tokens cannot be decrypted without your password
- β Suitable for shared machines and production environments
β οΈ Password cannot be recovered if lost
Claude CLI Required: The Claude authentication flow requires the Claude CLI to be installed:
# Install Claude CLI (requires Node.js)
npm install -g @anthropic-ai/claude-code
# Verify installation
claude --versionOrkee maintains full backward compatibility with API keys stored in Settings. You can use both authentication methods simultaneously:
# Check current authentication status
orkee auth status
# Add Claude OAuth token alongside existing API keys
orkee auth login claude
# Your API keys in Settings continue to work as before
# OAuth tokens and API keys can coexistAuthentication status can be viewed in the dashboard:
- Navigate to Settings β Authentication
- View authentication status for all providers
- See token expiry times
- Manage authentication via CLI commands
Orkee provides simple Docker Hub authentication for building and pushing sandbox container images.
# Authenticate with Docker Hub
orkee auth login docker
# Verify authentication
docker info # Should show your username- Simple wrapper: Runs
docker loginas a subprocess - Native credential storage: Docker CLI handles credentials in system keychain
- No database storage: Credentials managed by Docker, not Orkee
- Standard workflow: Use normal
docker buildanddocker pushcommands
- β Simple: No custom credential management needed
- β Secure: Leverages Docker's system keychain integration
- β Standard: Uses Docker's native authentication flow
- β Rate limits: Authenticated users get 200 pulls/6 hours vs 100 unauthenticated
If you encounter authentication errors:
- Run
orkee auth login docker - Follow Docker's authentication prompts
- Verify credentials:
docker infoshould display your username
For more details, see docker.md.
Orkee provides isolated execution environments where AI agents can safely execute code and perform tasks.
- π¦ Multi-Provider Support - Local Docker + 7 cloud providers (Beam, E2B, Modal, Fly.io, Cloudflare, Daytona, Northflank)
- π€ Agent Integration - Works with Claude, Codex, Gemini, Grok, and OpenCode agents
- π Resource Monitoring - Real-time CPU, memory, disk, and network tracking
- π° Cost Tracking - Full token usage and cost calculation per execution
- π Security - Encrypted credentials, resource limits, non-root user enforcement
- π¨ Terminal UI - Interactive terminal with xterm.js for command execution
- π File Operations - Upload/download files to/from sandboxes
- βοΈ Configurable - All settings managed via Dashboard UI
# Authenticate with Docker Hub (for local provider)
orkee auth login docker
# Set default sandbox image
orkee sandbox config set-image orkee/sandbox:latest
# Create a sandbox via CLI
orkee sandbox create --provider local --cpu 2 --memory 4096
# Or use the Dashboard UI
# Navigate to: Dashboard > Sandboxes > Create Sandbox# Sandbox Management
orkee sandbox list # List all sandboxes
orkee sandbox create [--provider] [--cpu] [--memory] # Create sandbox
orkee sandbox start <id> # Start sandbox
orkee sandbox stop <id> # Stop sandbox
orkee sandbox restart <id> # Restart sandbox
orkee sandbox delete <id> # Delete sandbox
orkee sandbox exec <id> <command> # Execute command
orkee sandbox logs <id> [--follow] # View logs
# Image Management
orkee sandbox build <name> [--tag] [--dockerfile] # Build custom image
orkee sandbox push <image> # Push to Docker Hub
orkee sandbox images # List built images
# Configuration
orkee sandbox config show # Show current settings
orkee sandbox config set-image <image> # Set default image
orkee sandbox config set-username <name> # Set Docker Hub usernameFor complete documentation, see sandboxes.md.
The Orkee Desktop App is a native application built with Tauri that provides:
- π― System Tray Integration - Native menu bar icon with live server monitoring
- π Automatic Server Management - Launches and manages the CLI server automatically
- π Quick Access - Open servers in browser directly from tray menu
- π URL Copying - Copy server URLs to clipboard with one click
- β‘ Server Controls - Start, stop, and restart development servers from the tray
- π¨ Theme Adaptation - macOS template icons automatically adapt to light/dark mode
- π» Cross-Platform - Supports macOS, Windows, and Linux
The tray provides:
- Show Orkee Dashboard - Opens the main dashboard window
- Dev Servers - Lists all running development servers with:
- Open in Browser
- Copy URL
- Restart Server
- Stop Server
- Refresh - Manually refresh server list (also polls automatically every 5 seconds)
- Quit Orkee - Gracefully stops all servers and exits
# Start the Tauri dev app (from repository root)
turbo dev:tauri
# Or from the dashboard directory
cd packages/dashboard
pnpm tauri dev# Build the desktop app for your platform
cd packages/dashboard
pnpm tauri build
# The built app will be in:
# - macOS: src-tauri/target/release/bundle/macos/
# - Windows: src-tauri/target/release/bundle/msi/
# - Linux: src-tauri/target/release/bundle/appimage/The desktop app supports the following environment variables:
# Customize tray polling interval (default: 5 seconds, min: 1, max: 60)
ORKEE_TRAY_POLL_INTERVAL_SECS=10
# UI port for the dashboard (default: 5173)
ORKEE_UI_PORT=3000The desktop app is designed to run in the background:
- Closing the window hides the app to the system tray (it doesn't quit)
- Access the app via the menu bar/system tray icon
- Quit from the tray menu to fully exit and stop all servers
- macOS: Runs as an Accessory app (menu bar only, no Dock icon by default)
Note: The Tauri app bundles the Orkee CLI binary as a sidecar process. It will automatically start the API server on an available port when launched.
Orkee provides AI-powered PRD (Product Requirements Document) ideation and Chat-Based Collaborative Project Management:
π‘ Ideate β π PRD β π Epic β β
Tasks
Ideation Modes:
- π Quick Mode - Generate complete PRDs instantly from a description
- π― Guided Mode - Step-by-step section building with AI assistance
- π Template-Based - Use customizable templates for different project types
PRD Features:
- π Structured Sections - Overview, UX, Technical, Roadmap, Dependencies, Risks, Research
- π€ AI-Powered Generation - Complete PRD generation or section-by-section expansion
- πΎ Version Tracking - Full PRD history with soft delete support
- π¨ Custom Templates - Create and manage reusable PRD templates
CCPM (Chat-Based Collaborative Project Management):
- π¬ Epic Generation - Convert PRDs into actionable epics with AI
- π Iterative Refinement - Chat-based workflow for epic improvement
- π― Task Decomposition - Break down epics into executable tasks
- π Research Tools - Competitor analysis, similar projects, and technical specs
Orkee provides comprehensive tracking of all AI operations, including token usage, costs, and tool invocations:
- π Automatic Tracking - All AI SDK calls are tracked automatically (zero manual logging required)
- π° Cost Monitoring - Real-time cost tracking across different AI providers and models
- π§ Tool Call Analytics - Track which tools are invoked, success rates, and performance
- π Usage Dashboard - Visual analytics with charts for tokens, costs, and tool usage over time
- π― Per-Operation Metrics - Track specific operations like PRD generation, chat responses, etc.
For every AI operation, Orkee tracks:
- Tokens: Input, output, and total token counts
- Cost: Estimated cost based on provider pricing
- Duration: Actual request duration (not 0ms!)
- Tool Calls: Which tools were invoked, arguments, results, and success/failure
- Model/Provider: Which AI model and provider was used
- Metadata: Finish reason, response ID, and provider-specific metadata
Access the Usage tab in the Orkee dashboard to view:
- Overview - Key metrics cards with totals for requests, tokens, costs, and tool calls
- Model Breakdown - Token usage distribution across different AI models
- Provider Breakdown - Cost distribution across providers (Anthropic, OpenAI, etc.)
- Tool Analytics - Most used tools with success rates and performance metrics
- Charts & Analytics - Time-series visualizations for requests, tokens, and costs
All AI operations are automatically wrapped with telemetry tracking. When adding new AI functionality:
Using the telemetry wrapper:
import { trackAIOperation } from '@/lib/ai/telemetry';
// Wrap your AI SDK call
const result = await trackAIOperation(
'operation_name', // e.g., 'generate_prd', 'chat_response'
projectId, // Project ID or null for global operations
() => generateText({ // Your AI SDK call
model: anthropic('claude-3-opus'),
prompt: 'Your prompt here',
tools: { search, calculate }
})
);The wrapper automatically:
- Tracks token usage and costs
- Measures actual duration with high precision
- Extracts tool calls from responses
- Handles streaming responses via
onFinishcallback - Sends telemetry to backend without blocking the operation
- Logs errors without breaking the AI operation
Tool call data structure:
interface ToolCall {
name: string; // Tool name (e.g., 'search', 'calculate')
arguments: Record<string, any>; // Tool arguments
result?: any; // Tool result (if available)
durationMs?: number; // Tool execution time
error?: string; // Error message if tool failed
}- Frontend Telemetry -
packages/dashboard/src/lib/ai/telemetry.tswraps AI SDK calls - Backend Endpoint -
POST /api/ai-usageaccepts telemetry data with validation - Database Storage - SQLite table
ai_usage_logswith full-text search support - Analytics Endpoints - Stats, tool usage, and time-series data for charts
All telemetry is asynchronous to ensure zero performance impact on AI operations.
- Configuration & Architecture - Complete development guide and architecture details
- Environment Variables & Configuration - Environment variables, security, and operational configuration
- Production Deployment - Docker, Nginx, TLS/SSL, and security setup
- Security Guidelines - Security policies and vulnerability reporting
- AI Usage Implementation Plan - Detailed implementation plan for AI tracking features
# Clone and install
git clone https://github.com/OrkeeAI/orkee.git
cd orkee && bun install
# Start development (all interfaces)
turbo dev # Web dashboard + CLI server
turbo dev:tauri # Native desktop app
# Or start specific interfaces
cargo run --bin orkee -- dashboard --dev # Web dashboard with hot reload
cargo run --bin orkee -- tui # Terminal interfaceturbo build # Build all packages
turbo test # Run all tests
turbo lint # Lint all packages
cargo test # Run Rust testsFor detailed development instructions, see CLAUDE.md
We welcome contributions! Please see our Contributing Guide for details.
- π Documentation
- π¬ Discussions
- π Issues
Made with β€οΈ by the Orkee team