Install
openclaw skills install ekybot-connectorConnect OpenClaw to Ekybot for remote agent control, Companion machine health, and project memory sync. Use when installing/configuring the connector, valida...
openclaw skills install ekybot-connectorBridge your local OpenClaw gateway to Ekybot — a remote command center for your AI agents.
OpenClaw (your machine) → Ekybot Connector → Ekybot Cloud → 📱 iOS / 🤖 Android / 🌐 Web
📱 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 & identityMEMORY.md — long-term curated memory (survives session resets)memory/YYYY-MM-DD.md — daily logs & raw contextKB.md — shared Knowledge Base per project (editable from dashboard)🤖 Full agent management from the app
⏰ Cron & automation management
📊 Session monitoring & cost control
📋 Project management & tracking
💻 Machine health visible from dashboard
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 installing, back up your OpenClaw config:
cp ~/.openclaw/openclaw.json ~/.openclaw/openclaw.json.bak
cp -r ~/.openclaw/managed/ ~/.openclaw/managed.bak/ 2>/dev/null || true
The user needs:
node --version)npm --version)Guide the user step by step:
ekrt_)⚠️ The token expires after a few minutes — generate it right before running setup.
# Run the automated setup (interactive — will prompt for enrollment token)
bash <SKILL_DIR>/scripts/setup.sh
# Or non-interactive with token as env var
EKYBOT_ENROLLMENT_TOKEN=ekrt_... bash <SKILL_DIR>/scripts/setup.sh
The script will:
~/.openclaw/ekybot-connector/After setup, verify the daemon is actually running:
ps aux | grep companion-daemon | grep -v grep
If no process is found, the daemon failed to start. Start it manually:
cd ~/.openclaw/ekybot-connector
nohup node scripts/companion-daemon.js > ~/.openclaw/logs/ekybot-companion.log 2>&1 &
mkdir -p ~/.openclaw/logs
sleep 3 && tail -10 ~/.openclaw/logs/ekybot-companion.log
On Linux, install as a systemd service for auto-restart:
cd ~/.openclaw/ekybot-connector && npm run companion:install-service
On macOS, install as a LaunchAgent:
cd ~/.openclaw/ekybot-connector && npm run companion:install-launchd
⚠️ Do NOT consider the installation successful until this test passes.
From the Ekybot app (web or mobile):
@YourAgent test in any channelcd ~/.openclaw/ekybot-connector
npm run companion:doctor # local state + API access
npm run companion:api-check # Ekybot API connectivity
When a new skill version is available, re-run the setup script — it preserves your .env.ekybot_companion config:
bash <SKILL_DIR>/scripts/setup.sh
Then restart the daemon:
# Linux systemd:
sudo systemctl restart ekybot-companion
# macOS LaunchAgent:
launchctl kickstart -k gui/$(id -u)/com.ekybot.companion
# Manual process:
pkill -f companion-daemon
cd ~/.openclaw/ekybot-connector
nohup node scripts/companion-daemon.js > ~/.openclaw/logs/ekybot-companion.log 2>&1 &
All commands run from ~/.openclaw/ekybot-connector/:
npm run companion:doctor # verify health
npm run companion:api-check # test API connectivity
npm run companion:memory-check # verify project memory sync
npm run companion:daemon # run daemon interactively
npm run companion:install-launchd # install macOS LaunchAgent
npm run companion:install-service # install Linux systemd service
npm run companion:reconcile # force agent config sync
npm run companion:disconnect # unenroll machine
npm run health # local checks
npm run logs # inspect logs
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.
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)working-memory.md, facts.md, rules.md, history.md — root-level and per-project memory filescontext-index.json — auto-generated metadata (agent name, project ID, active sources, timestamps)memory/summaries/*.md — last 3 session summariesmemory/daily/*.md — last 3 daily log filesNEVER uploaded:
SOUL.md — stays local (your agent personality is private)AGENTS.md, USER.md, TOOLS.md — workspace config files stay local~/.openclaw/managed/, system files)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.
Config file: ~/.openclaw/ekybot-connector/.env.ekybot_companion
EKYBOT_APP_URL="https://www.ekybot.com"
EKYBOT_COMPANION_MACHINE_ID="cmm..." # set by companion:connect
EKYBOT_COMPANION_TOKEN="..." # set by companion:connect
EKYBOT_COMPANION_POLL_INTERVAL_MS=30000 # relay poll interval
# Budget guard (optional)
EKYBOT_COMPANION_MAX_BUDGET_PER_SESSION_USD=5.00
EKYBOT_COMPANION_BUDGET_EXCEEDED_ACTION=log # or "block"
These are code style warnings, not real errors. The connector works fine. Fix:
cd ~/.openclaw/ekybot-connector
npm install --production
The --production flag skips dev dependencies (eslint, prettier) that cause these warnings.
This script does not exist. Use the correct enrollment command:
cd ~/.openclaw/ekybot-connector
EKYBOT_ENROLLMENT_TOKEN=ekrt_... EKYBOT_APP_URL=https://www.ekybot.com node scripts/companion-connect.js
Or the full setup:
EKYBOT_ENROLLMENT_TOKEN=ekrt_... bash <SKILL_DIR>/scripts/setup.sh
setup.js is NOT the enrollment script. Use companion-connect.js for enrollment:
cd ~/.openclaw/ekybot-connector
EKYBOT_ENROLLMENT_TOKEN=ekrt_... node scripts/companion-connect.js
If the .env file is missing, the daemon cannot start. Re-enroll:
cd ~/.openclaw/ekybot-connector
EKYBOT_ENROLLMENT_TOKEN=ekrt_... EKYBOT_APP_URL=https://www.ekybot.com node scripts/companion-connect.js
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.
Another process manager (systemd, supervisor, cron) may be conflicting. Check:
# Check for existing daemon processes
ps aux | grep companion | grep -v grep
# Check for systemd services
systemctl list-units | grep -i ekybot
systemctl list-units | grep -i companion
# Check crontab
crontab -l 2>/dev/null | grep -i ekybot
If a systemd service exists, restart it instead:
sudo systemctl restart ekybot-companion
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:
ps aux | grep companion-daemon | grep -v grep
Re-run enrollment with a fresh token:
cd ~/.openclaw/ekybot-connector
EKYBOT_ENROLLMENT_TOKEN=ekrt_... node scripts/companion-connect.js
ps aux | grep companion-daemon | grep -v grepcd ~/.openclaw/ekybot-connector && npm run companion:doctortail -50 ~/.openclaw/logs/ekybot-companion.logopenclaw statusreferences/troubleshooting.mdreferences/api.mdreferences/security.md