Ekybot Connector
Bridge your local OpenClaw gateway to Ekybot — a remote command center for your AI agents.
CODEBLOCK0
What you get
📱 Chat with agents from phone (iOS & Android apps) + 🌐 Web dashboard at ekybot.com
💬 @mention inter-agent collaboration — agents talk to each other in shared channels
🧠 4-layer memory system
- -
SOUL.md — agent personality & identity - INLINECODE1 — long-term curated memory (survives session resets)
- INLINECODE2 — daily logs & raw context
- INLINECODE3 — shared Knowledge Base per project (editable from dashboard)
🤖 Full agent management from the app
- - Create, edit, delete agents from web or mobile
- Assign a different AI model per agent (Claude, GPT, Gemini, Ollama…)
- Set budgets & cost guards per agent
⏰ Cron & automation management
- - Create, edit, schedule cron jobs from the dashboard
- Heartbeat monitoring, reminders, periodic tasks
📊 Session monitoring & cost control
- - Real-time token usage per session
- Session size alerts & automatic summarization before reset
- Budget guards to prevent runaway API costs
📋 Project management & tracking
- - Roadmap with task assignment to agents
- Progress tracking per agent & project
- Status updates visible from dashboard
💻 Machine health visible from dashboard
Installation (automated)
The setup script handles everything: copy bundled runtime, install deps, enroll, verify, daemon. No git clone required — all runtime files are included in the skill package.
⚠️ Before you start — Backup
Before installing, back up your OpenClaw config:
CODEBLOCK1
Prerequisites
The user needs:
- 1. Node.js ≥ 18 installed (
node --version) - npm installed (
npm --version) - An Ekybot account — sign up at https://www.ekybot.com
- A temporary enrollment token — see "Getting the enrollment token" below
Getting the enrollment token
Guide the user step by step:
- 1. Log in at https://www.ekybot.com
- Click on the Agents page in the sidebar
- Click Companion (or go directly to https://www.ekybot.com/companion)
- Click "Generate enrollment token"
- Copy the token (starts with
ekrt_)
⚠️ The token expires after a few minutes — generate it right before running setup.
Run setup
CODEBLOCK2
The script will:
- 1. Copy the bundled runtime files to INLINECODE7
- Install npm dependencies (production only — no linting)
- Prompt for (or read) the enrollment token
- Connect to Ekybot cloud and register the machine
- Run doctor checks to verify
- Install the background daemon (auto-detects OS)
⚠️ Installation is NOT complete until the daemon is running
After setup, verify the daemon is actually running:
CODEBLOCK3
If no process is found, the daemon failed to start. Start it manually:
CODEBLOCK4
On Linux, install as a systemd service for auto-restart:
CODEBLOCK5
On macOS, install as a LaunchAgent:
CODEBLOCK6
First live test
⚠️ Do NOT consider the installation successful until this test passes.
From the Ekybot app (web or mobile):
- 1. Send
@YourAgent test in any channel - Verify: you get a single reply (not duplicated), and it persists after page reload
- If no reply within 30 seconds, check troubleshooting below
Verify
CODEBLOCK7
Updating the connector
When a new skill version is available, re-run the setup script — it preserves your .env.ekybot_companion config:
CODEBLOCK8
Then restart the daemon:
CODEBLOCK9
Post-install commands
All commands run from ~/.openclaw/ekybot-connector/:
CODEBLOCK10
Telemetry & Privacy
The connector collects minimal data for the dashboard health view:
Collected: OS platform (darwin/linux), OS arch, OS release, hostname (machine name — displayed in dashboard), Node.js version, connector uptime, connector heap usage, agent count, active session count.
NOT collected: CPU usage, disk usage, IP address, file contents, message contents, API keys, user activity.
Opt-out: Set EKYBOT_COMPANION_POLL_INTERVAL_MS=0 to disable all telemetry reporting. The companion daemon will still function for relay dispatch.
Full details in _meta.json → telemetry section.
Memory Sync — What is uploaded
The memory sync feature keeps your EkyBot dashboard in sync with local agent workspace files. Here is exactly what is sent and what is NOT sent:
Uploaded to EkyBot cloud (full content):
- -
MEMORY.md — curated long-term memory (synced both ways) - INLINECODE15 ,
facts.md, rules.md, history.md — root-level and per-project memory files - INLINECODE19 — auto-generated metadata (agent name, project ID, active sources, timestamps)
- INLINECODE20 — last 3 session summaries
- INLINECODE21 — last 3 daily log files
NEVER uploaded:
- -
SOUL.md — stays local (your agent personality is private) - INLINECODE23 ,
USER.md, TOOLS.md — workspace config files stay local - Files outside the agent workspace (
~/.openclaw/managed/, system files) - API keys, tokens, or credentials
- Conversation history or raw prompts (only the curated memory files listed above)
Opt-out: Set in your .env.ekybot_companion:
EKYBOT_COMPANION_MEMORY_SYNC=false
When disabled, the dashboard will show agent names and status but not workspace file contents.
Configuration
Config file: INLINECODE28
CODEBLOCK12
Troubleshooting
npm install shows eslint/lint errors
These are code style warnings, not real errors. The connector works fine. Fix:
CODEBLOCK13
The --production flag skips dev dependencies (eslint, prettier) that cause these warnings.
"setup-enrollment.js" not found
This script does not exist. Use the correct enrollment command:
CODEBLOCK14
Or the full setup:
CODEBLOCK15
"Ekybot integration not configured" when running setup.js
INLINECODE30 is NOT the enrollment script. Use companion-connect.js for enrollment:
CODEBLOCK16
Missing .env.ekybot_companion (credentials lost)
If the .env file is missing, the daemon cannot start. Re-enroll:
- 1. Generate a new token at https://www.ekybot.com/companion
- Run:
CODEBLOCK17
"Not a git repository" when updating
The connector is installed by copying bundled files (not via git clone). To update, re-run the setup script — it copies the latest runtime files over the existing installation while preserving your .env.ekybot_companion config.
Daemon killed by SIGTERM immediately
Another process manager (systemd, supervisor, cron) may be conflicting. Check:
CODEBLOCK18
If a systemd service exists, restart it instead:
CODEBLOCK19
Agent replies appear twice (duplicate messages)
Usually caused by running an outdated connector version. Update by re-running the setup script:
bash <SKILL_DIR>/scripts/setup.sh
Then restart the daemon. Also verify only
one daemon instance is running:
CODEBLOCK21
Machine not visible in Ekybot dashboard
Re-run enrollment with a fresh token:
CODEBLOCK22
No reply from agent after @mention
- 1. Is the daemon running? INLINECODE34
- Run doctor: INLINECODE35
- Check logs: INLINECODE36
- Is OpenClaw gateway running? INLINECODE37
References
- - Troubleshooting details: INLINECODE38
- API reference: INLINECODE39
- Security model: INLINECODE40