opendray
Self-hosted gateway for Claude Code, Codex, Antigravity, Grok Build, OpenCode with shared local-first memory layer. Run AI coding agents on your own infrastructure via web, mobile, or chat channels.
Ficha actualizada 23 sept 2026, 3:28 · upstream 23 sept 2026, 3:07 · release v2.17.5
Qué es opendray
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
opendray is a self-hosted agent orchestration platform that runs multiple AI code assistants simultaneously from a single host. Unlike traditional CLI tools that require SSH access and die when the laptop sleeps, opendray keeps sessions alive across client disconnects, host reboots, and sleep states by running agents on a persistent local server. It provides a unified REST + WebSocket API with scoped keys, per-call audit logging, reverse-proxy mounts, and encrypted PostgreSQL storage for project databases.
The platform supports five first-class AI coding CLIs (Claude Code, Codex, Antigravity, Grok Build, OpenCode) plus arbitrary shell commands through JSON descriptor injection. Sessions can be attached from web interfaces, Flutter mobile apps, Telegram, Slack, Discord, Feishu, DingTalk, WeCom, or any custom transport via a Bridge adapter. Each session maintains its own PTY with full tool use capabilities including file writing, terminal access, and network calls.
Memory is handled through three scopes: user (global), project (per-project), and session (per-session). Cross-session recall preserves conversation state across restarts using embeddings from ONNX, Ollama, or LM Studio models. The database layer supports PostgreSQL, MySQL, MariaDB, SQLite with per-project isolation. Channels allow bidirectional communication between sessions via Telegram, Slack, Discord, Feishu, DingTalk, WeCom, and custom transports.
Security is built in with hashed session keys, per-call audit logs, reverse-proxy mounts for sensitive endpoints, and Cosign-signed releases. The single Go binary requires no cloud account, no telemetry, and no subscription model.
- Keep a Claude Code agent running on a Mac mini or NAS even when the laptop sleeps, allowing reattachment from a phone or chat app later
- Run multiple AI coding agents simultaneously (Claude, Codex, Antigravity) with shared memory and project isolation across different developers
- Build a Flutter mobile client that connects to opendray via WebSocket to send prompts and receive agent responses without requiring an App Store submission
- Create a Telegram bot or Slack channel where team members can attach files and ask the agent to execute code, with full audit trail of tool calls
- Deploy a self-hosted AI assistant on a VPS that survives server reboots, maintaining session state across restarts without cloud-based infrastructure
- Run Grok Build or OpenCode for GitHub Actions automation alongside Claude Code, all from the same local host with shared memory context
- Sessions survive client disconnect and host reboot by running on a persistent local server rather than requiring SSH reconnection
- Supports five first-class AI coding CLIs plus arbitrary shell commands through JSON descriptor injection without reimplementing session lifecycle logic
- Provides bidirectional communication channels (Telegram, Slack, Discord, Feishu, DingTalk, WeCom) where sessions can notify each other and reply to prompts in real time
- Offers three memory scopes (user, project, session) with cross-session recall using embeddings from ONNX, Ollama, or LM Studio models
- Supports encrypted PostgreSQL databases for storing project data, with per-project isolation and Web/Mobile access via REST + WebSocket API
- Delivers a single self-hosted binary with no cloud account, no telemetry, no subscription model, and Apache 2.0 license
- Docker is not supported for deployment; the agent must run on bare metal, VMs, or LXC containers as it shares process state (claude home directory, ssh-agent) with spawned CLIs which conflicts with container isolation
- Session persistence across restarts requires a persistent host filesystem and systemd/launchd service management rather than ephemeral container-like behavior
- Cross-session memory sharing may cause data leakage between different projects or users if not properly scoped at the database level, requiring careful configuration of project-level isolation settings
- The single binary architecture means any bug in opendray affects all connected sessions simultaneously; there is no per-agent versioning or rollback capability
- Custom channel adapters require manual implementation and testing since the framework only provides a Bridge adapter for known transports
Perfil de infraestructura
Estimación inicial derivada del repositorio y de los servicios detectados.
Despliegue detectado
Qué señales reales de instalación hemos encontrado.
Install via one-line script: curl -fsSL https://raw.githubusercontent.com/Opendray/opendray/main/scripts/install.sh | bash (Linux/macOS/WSL2) or iex irm ... (Windows). For production, use systemd service with ProtectSystem=strict and NoNewPrivileges=true. Configure database connection in config.toml under [database].url. Enable auto-restart on failure via systemctl enable --now opendray. For macOS, configure LaunchDaemon or use OpenRC supervisor. Always back up the Postgres database before updates. The binary is self-contained with no external dependencies beyond Go 1.25+ and a local PostgreSQL instance.
Stack y dependencias
Componentes inferidos a partir de manifests, configuración y documentación.
Puede sustituir a
Relaciones detectadas por el análisis del repositorio y su categoría.
Experiencia real de la comunidad
Ayuda a contrastar la estimación automática con instalaciones reales.
Todavía no hay datos comunitarios para este proyecto.