Overview
This guide shows you how to connect Ollama to iMessage using OpenClaw. You'll configure the messaging channel, set up AI provider authentication, and deploy your assistant.
iMessage Capabilities
- Direct messages
- Group chats
- Media support
Ollama Features
- Completely local
- No API costs
- Privacy-focused
- Many model options
Step 1: Configure iMessage
- Ensure you're running macOS with Messages app
- Grant Full Disk Access to Terminal/Node
- Enable imessage in openclaw.json
- Start the gateway
- Send a test message to trigger pairing
Step 2: Configure Ollama
No authentication required for local instance
- Install Ollama from ollama.ai
- Run 'ollama pull llama3.3'
- Start Ollama service
- Configure baseUrl in OpenClaw
Step 3: Combined Configuration
Add both configurations to your openclaw.json:
{
"agents": {
"defaults": {
"model": {
"primary": "ollama/llama3.3"
}
}
},
"models": {
"providers": {
"ollama": {
"models": {
"providers": {
"ollama": {
"baseUrl": "http://localhost:11434"
}
}
},
"channels": {
"imessage": {
"enabled": true,
"dmPolicy": "pairing",
"allowFrom": ["friend@icloud.com"]
}
}
}
} Step 4: Start and Test
# Start the gateway
openclaw gateway start
# Check connection status
openclaw status
# View real-time logs
openclaw logs --follow Access Control
iMessage supports the following access control policies:
DM Policies
| Policy | Description |
|---|---|
allowlist | Only senders in allowFrom list are processed |
pairing | Unknown senders receive a pairing code; admin must approve |
open | All DMs are processed (requires allowFrom: ["*"]) |
Group Policies
| Policy | Description |
|---|---|
allowlist | Only groups in groupAllowFrom are processed |
open | All groups are processed |
Deploy Options
Choose how to deploy your iMessage + Ollama setup:
Local Deployment
Run on your personal machine with local-only access
View Guide →VPS Deployment
Always-on deployment on a Linux VPS
View Guide →Cloud Deployment
Managed container deployment on Fly.io or similar
View Guide →Docker Deployment
Containerized deployment with Docker
View Guide →