Prerequisites
- macOS or Linux
- Node.js 18+ (for CLI)
- Lima (macOS only):
brew install lima
Step 1: Install
# Install Lima (if not already installed)
brew install lima
# Install CLI
npm install -g @orpheus/cli
# Start VM (first time takes ~3 min)
orpheus vm start
# Verify
orpheus status
# Download daemon
curl -fsSL https://get.orpheus.run | sh
# Start daemon
sudo systemctl start orpheusd
# Install CLI
npm install -g @orpheus/cli
# Verify
orpheus status
Step 2: Create Agent
Create a folder with two files:
agent.yaml
name: hello-agent
runtime: python3
module: agent.py
entrypoint: handler
memory: 512
timeout: 60
scaling:
min_workers: 1
max_workers: 3
agent.py
def handler(input_data):
name = input_data.get('name', 'World')
return {
'message': f'Hello, {name}!',
'status': 'success'
}
Step 3: Deploy
First deploy takes ~30s (builds runtime). Subsequent deploys take ~2s.
Step 4: Run
orpheus run hello-agent '{"name": "Orpheus"}'
Output:
{
"message": "Hello, Orpheus!",
"status": "success"
}
No cold start - worker was already warm!
Step 5: Verify
# List agents
orpheus list
# Check stats
orpheus stats hello-agent
# View execution history
orpheus runs hello-agent
What Just Happened
- Worker stayed warm - No cold start on second request
- Execution logged - Every request tracked in ExecLog
- Isolated container - Ran in sandboxed runc container
Next Steps