zylos-ai/zylos-core
π Give your AI a life β open-source agent infrastructure for team collaboration.
LLMs are geniuses β but they wake up with amnesia every session. No memory of yesterday, no way to reach you, no ability to act on their own.
Zylos gives it a life. Memory that survives restarts. A scheduler that works while you sleep. Communication through Telegram, Lark, or a web console. Self-maintenance that keeps everything running. And because it can program, it can evolve β building new skills, integrating new services, growing alongside you.
Supports Claude Code (Anthropic) and Codex (OpenAI).
Quick Start
Prerequisites: A Linux server (or Mac), a Claude subscription (or OpenAI Codex as an alternative runtime).
curl -fsSL https://raw.githubusercontent.com/zylos-ai/zylos-core/main/scripts/install.sh | bashThis installs everything you need (git, tmux, Node.js, zylos CLI) and automatically runs zylos init to set up your agent.
Non-interactive install (Docker, CI/CD, headless servers)
All zylos init flags can be passed directly through the install script. The script installs dependencies, then runs zylos init with the flags you provide.
Full example:
curl -fsSL https://raw.githubusercontent.com/zylos-ai/zylos-core/main/scripts/install.sh | bash -s -- \
-y \
--setup-token sk-ant-oat01-xxx \
--timezone Asia/Shanghai \
--domain agent.example.com \
--https \
--caddy \
--web-password MySecurePass123When is non-interactive mode active?
Automatically when no TTY is available β e.g. Docker containers (without -it), CI runners, or cron jobs. Also when CI=true or NONINTERACTIVE=1 is set. Note: curl | bash in a terminal is still interactive (the install script redirects from /dev/tty). Use -y to force non-interactive in a terminal.
Flags:
| Flag | Description | Default |
|---|---|---|
-y, --yes |
Force non-interactive mode (skip all prompts) | Auto-detected |
-q, --quiet |
Minimal output | Off |
--runtime <name> |
AI runtime: claude or codex |
claude |
--setup-token <token> |
Claude setup token (starts with sk-ant-oat) |
β |
--api-key <key> |
Anthropic API key (starts with sk-ant-) |
β |
--codex-api-key <key> |
OpenAI API key for Codex runtime (starts with sk-) |
β |
--timezone <tz> |
IANA timezone, e.g. Asia/Shanghai, America/New_York, Europe/London |
System default |
--domain <domain> |
Domain for Caddy reverse proxy, e.g. agent.example.com |
None |
--https / --no-https |
Enable or disable HTTPS | --https when domain is set |
--caddy / --no-caddy |
Install or skip Caddy web server | Install |
--web-password <pass> |
Web console password | Auto-generated |
Environment variables:
Flags can also be set via environment variables. Resolution order: CLI flag > env var > existing .env > interactive prompt.
| Environment Variable | Equivalent Flag |
|---|---|
ZYLOS_RUNTIME |
--runtime |
CLAUDE_CODE_OAUTH_TOKEN |
--setup-token |
ANTHROPIC_API_KEY |
--api-key |
OPENAI_API_KEY |
--codex-api-key (stored in ~/.codex/auth.json, not .env) |
ZYLOS_DOMAIN |
--domain |
ZYLOS_PROTOCOL (https or http) |
--https / --no-https |
ZYLOS_WEB_PASSWORD |
--web-password |
Exit codes: 0 = success, 1 = fatal error (e.g. invalid token), 2 = partial success (e.g. Caddy download failed but everything else succeeded).
Install without running init
curl -fsSL https://raw.githubusercontent.com/zylos-ai/zylos-core/main/scripts/install.sh | bash -s -- --no-initInstalls dependencies and the zylos CLI, but skips zylos init. Run zylos init separately when ready.
Install from a specific branch (for testing)
curl -fsSL https://raw.githubusercontent.com/zylos-ai/zylos-core/main/scripts/install.sh | bash -s -- --branch <branch-name>Manual install (if you already have Node.js >= 20)
npm install -g --install-links https://github.com/zylos-ai/zylos-core
zylos initDocker deployment
docker run -d --name zylos \
-e CLAUDE_CODE_OAUTH_TOKEN=YOUR_TOKEN_HERE \
-p 3456:3456 \
-v zylos-data:/home/zylos/zylos \
-v claude-config:/home/zylos/.claude \
ghcr.io/zylos-ai/zylos-core:latestOpen http://localhost:3456 to access the web console. Find your password with docker logs zylos | grep -A2 "Web Console". See the Docker Deployment Guide for Docker Compose setup, environment variables, Synology NAS instructions, and more.
Unsupported platforms (Windows, NAS, etc.) β install via SSH
On platforms without native support, use Claude Code's SSH feature to install Zylos on a remote Linux/macOS machine:
# From your local machine (any OS that runs Claude Code)
claude --ssh user@your-linux-serverOnce connected, Claude is running on the remote machine. Ask it to install Zylos:
> Install Zylos on this machine
Or run the installer directly in the SSH session:
curl -fsSL https://raw.githubusercontent.com/zylos-ai/zylos-core/main/scripts/install.sh | bashThis works from Windows, ChromeOS, or any platform that can run Claude Code locally. The AI handles the setup on the remote server β no need for native platform support.
zylos init is idempotent and supports both interactive and non-interactive modes. It will:
- Install missing tools (tmux, git, PM2, Claude Code or Codex)
- Set up authentication (Claude: browser login, API key, or setup token; Codex: API key or device auth)
- Create the
~/zylos/directory with memory, skills, and services - Start all background services and launch your AI agent in a tmux session
Talk to your agent:
# Interactive CLI β the simplest way to chat
zylos shell
# Or attach to the Claude tmux session (Ctrl+B d to detach)
zylos attach
# Or add a messaging channel
zylos add telegram
zylos add larkArchitecture
graph TB
subgraph Channels["π‘ Communication Channels"]
TG["Telegram"]
LK["Lark"]
WC["Web Console"]
end
subgraph Zylos["𧬠Zylos β The Life System"]
C4["C4 Comm Bridge<br/>(unified gateway Β· SQLite audit)"]
MEM["Memory<br/>(Inside Out architecture)"]
SCH["Scheduler<br/>(autonomous task dispatch)"]
AM["Activity Monitor<br/>(guardian Β· heartbeat Β· auto-recovery)"]
HTTP["HTTP Layer<br/>(Caddy Β· file sharing Β· HTTPS)"]
end
subgraph Brain["π§ AI Runtime β The Brain"]
CC["Claude Code / Codex<br/>(in tmux session)"]
end
TG & LK & WC --> C4
C4 <--> CC
MEM <--> CC
SCH --> CC
AM --> CC
HTTP <--> CC
| Component | Role | Key Tech |
|---|---|---|
| C4 Comm Bridge | Unified message gateway with audit trail | SQLite, priority queue |
| Memory | Persistent identity and context across restarts | Inside Out tiered architecture |
| Scheduler | Autonomous task dispatch while you are away | Cron, NL input, idle-gating |
| Activity Monitor | Crash recovery, heartbeat, health checks | PM2, multi-layer protection |
| HTTP Layer | Web access, file sharing, component routes | Caddy, auto-HTTPS |
Features
One AI, One Consciousness
Most agent frameworks isolate sessions per channel β your AI on Telegram doesn't know what you said on Slack. Zylos is agent-centric: your AI is one person across every channel. The C4 communication bridge routes all messages through a single gateway β one conversation, one memory, one personality. Every message persisted to SQLite and fully queryable.
Your Context, Guaranteed
Other frameworks lose your AI's memory during context compaction β silently, without warning. Zylos prevents this with a two-step safeguard: when context reaches 75%, the system automatically saves all memory before compaction runs. Five-layer Inside Out memory (identity β state β references β sessions β archive) ensures the AI always knows what to keep and what to compress. Your AI never wakes up with amnesia.
Self-Healing by Default
No third-party monitoring tools needed. Zylos includes native crash recovery, heartbeat liveness probes, health monitoring, context window management, and automatic upgrades β all built in. Your AI detects its own problems and fixes them. It stays alive while you sleep.
$20/month, Not $3,600
Other frameworks charge per API token. Community reports show monthly bills of $500β$3,600 for always-on agents. Zylos runs on your Claude subscription β flat rate, no per-token billing. Same AI capabilities, a fraction of the cost.
Powered by Best-in-Class AI Runtimes
Zylos supports Claude Code (Anthropic) and Codex (OpenAI) as interchangeable AI runtimes. Start with one, switch to the other anytime with zylos runtime codex β your memory, skills, and channels are preserved. When AI providers ship new capabilities, your agent benefits automatically. And because both runtimes can program, your AI writes new skills, integrates services, and evolves with your needs.
Communication Channels
Built-in
- Web Console β Browser-based chat interface. No external accounts needed. Included with
zylos init.
Official Channels
Install with one command:
zylos add telegram
zylos add larkBuild Your Own
All channels connect through the C4 communication bridge. To add a new channel (Slack, Discord, WhatsApp, etc.), implement the C4 protocol β a simple HTTP interface that pushes messages into the unified gateway. Your custom channel gets the same unified session, audit trail, and memory as every other channel.
CLI
zylos init # Set up Zylos environment
zylos attach # Attach to the agent tmux session
zylos runtime <name> # Switch AI runtime (claude or codex)
zylos doctor # Diagnose and auto-repair installation
zylos status # Check running services
zylos logs [service] # View service logs
zylos add <component> # Install a channel or capability
zylos upgrade <component> # Upgrade a component
zylos uninstall --self # Uninstall zylos entirely
zylos list # List installed components
zylos search [keyword] # Search component registryUninstall
zylos uninstall --selfThis will stop all services, remove the zylos npm package, delete ~/zylos/, and clean shell PATH entries. You'll be prompted to optionally remove PM2 and Claude CLI.
Use --force to skip all prompts (only performs core removal, no optional cleanup).
Node.js and nvm are not touched.
Built by Coco
Zylos is the open-source core of Coco β the AI employee platform.
We built Zylos because we needed it ourselves: a reliable infrastructure to keep AI running 24/7 for real work. Everything in Zylos is battle-tested in production at Coco, serving teams that depend on AI employees every day.
Want a managed experience? Coco gives you a ready-to-work AI employee β with persistent memory, multi-channel communication, and skill packages β deployed in 5 minutes.





