Connect OpenClaw to Ekybot for remote agent control, Companion machine health, and project memory sync. Use when installing/configuring the connector, validating connectivity, or improving onboarding from first connection to first successful live test.
Scanned 9/9/2026
Install to Claude Code
npx -y skills add Lord1Egypt/awesome-skill-forge --skill ekybot-connector --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Ekybot Connector?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/lord1egypt-ekybot-connector)More formats (shields.io, HTML) on the badges page.
---
name: ekybot-connector
description: Connect OpenClaw to Ekybot for remote agent control, Companion machine health, and project memory sync. Use when installing/configuring the connector, validating connectivity, or improving onboarding from first connection to first successful live test.
homepage: https://www.ekybot.com
repository: https://github.com/regiomag/ekybot-connector
source: https://github.com/regiomag/ekybot-connector
license: MIT
requires:
env:
- EKYBOT_ENROLLMENT_TOKEN
node: ">=18.0.0"
---
# Ekybot Connector
Bridge your local OpenClaw gateway to [Ekybot](https://www.ekybot.com) — a remote command center for your AI agents.
```
OpenClaw (your machine) → Ekybot Connector → Ekybot Cloud → 📱 iOS / 🤖 Android / 🌐 Web
```
## 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
- `MEMORY.md` — long-term curated memory (survives session resets)
- `memory/YYYY-MM-DD.md` — daily logs & raw context
- `KB.md` — 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:
```bash
cp ~/.openclaw/openclaw.json ~/.openclaw/openclaw.json.bak
cp -r ~/.openclaw/managed/ ~/.openclaw/managed.bak/ 2>/dev/null || true
```
### Prerequisites
The user needs:
1. **Node.js ≥ 18** installed (`node --version`)
2. **npm** installed (`npm --version`)
4. An **Ekybot account** — sign up at https://www.ekybot.com
5. 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
2. Click on the **Agents** page in the sidebar
3. Click **Companion** (or go directly to https://www.ekybot.com/companion)
4. Click **"Generate enrollment token"**
5. Copy the token (starts with `ekrt_`)
⚠️ The token expires after a few minutes — generate it right before running setup.
### Run setup
```bash
# 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:
1. Copy the bundled runtime files to `~/.openclaw/ekybot-connector/`
2. Install npm dependencies (production only — no linting)
3. Prompt for (or read) the enrollment token
4. Connect to Ekybot cloud and register the machine
5. Run doctor checks to verify
6. Install the background daemon (auto-detects OS)
### ⚠️ Installation is NOT complete until the daemon is running
After setup, **verify the daemon is actually running**:
```bash
ps aux | grep companion-daemon | grep -v grep
```
If no process is found, the daemon failed to start. Start it manually:
```bash
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:
```bash
cd ~/.openclaw/ekybot-connector && npm run companion:install-service
```
**On macOS**, install as a LaunchAgent:
```bash
cd ~/.openclaw/ekybot-connector && npm run companion:install-launchd
```
### 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
2. Verify: you get a **single reply** (not duplicated), and it persists after page reload
3. If no reply within 30 seconds, check troubleshooting below
### Verify
```bash
cd ~/.openclaw/ekybot-connector
npm run companion:doctor # local state + API access
npm run companion:api-check # Ekybot API connectivity
```
## Updating the connector
When a new skill version is available, re-run the setup script — it preserves your `.env.ekybot_companion` config:
```bash
bash <SKILL_DIR>/scripts/setup.sh
```
Then restart the daemon:
```bash
# 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 &
```
## Post-install commands
All commands run from `~/.openclaw/ekybot-connector/`:
```bash
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
```
## 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)
- `working-memory.md`, `facts.md`, `rules.md`, `history.md` — root-level and per-project memory files
- `context-index.json` — auto-generated metadata (agent name, project ID, active sources, timestamps)
- `memory/summaries/*.md` — last 3 session summaries
- `memory/daily/*.md` — last 3 daily log files
**NEVER uploaded:**
- `SOUL.md` — stays local (your agent personality is private)
- `AGENTS.md`, `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: `~/.openclaw/ekybot-connector/.env.ekybot_companion`
```bash
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"
```
## Troubleshooting
### npm install shows eslint/lint errors
These are **code style warnings, not real errors**. The connector works fine. Fix:
```bash
cd ~/.openclaw/ekybot-connector
npm install --production
```
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:
```bash
cd ~/.openclaw/ekybot-connector
EKYBOT_ENROLLMENT_TOKEN=ekrt_... EKYBOT_APP_URL=https://www.ekybot.com node scripts/companion-connect.js
```
Or the full setup:
```bash
EKYBOT_ENROLLMENT_TOKEN=ekrt_... bash <SKILL_DIR>/scripts/setup.sh
```
### "Ekybot integration not configured" when running setup.js
`setup.js` is NOT the enrollment script. Use `companion-connect.js` for enrollment:
```bash
cd ~/.openclaw/ekybot-connector
EKYBOT_ENROLLMENT_TOKEN=ekrt_... node scripts/companion-connect.js
```
### 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
2. Run:
```bash
cd ~/.openclaw/ekybot-connector
EKYBOT_ENROLLMENT_TOKEN=ekrt_... EKYBOT_APP_URL=https://www.ekybot.com node scripts/companion-connect.js
```
### "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:
```bash
# 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:
```bash
sudo systemctl restart ekybot-companion
```
### Agent replies appear twice (duplicate messages)
Usually caused by running an outdated connector version. Update by re-running the setup script:
```bash
bash <SKILL_DIR>/scripts/setup.sh
```
Then restart the daemon. Also verify only **one** daemon instance is running:
```bash
ps aux | grep companion-daemon | grep -v grep
```
### Machine not visible in Ekybot dashboard
Re-run enrollment with a fresh token:
```bash
cd ~/.openclaw/ekybot-connector
EKYBOT_ENROLLMENT_TOKEN=ekrt_... node scripts/companion-connect.js
```
### No reply from agent after @mention
1. Is the daemon running? `ps aux | grep companion-daemon | grep -v grep`
2. Run doctor: `cd ~/.openclaw/ekybot-connector && npm run companion:doctor`
3. Check logs: `tail -50 ~/.openclaw/logs/ekybot-companion.log`
4. Is OpenClaw gateway running? `openclaw status`
## References
- Troubleshooting details: `references/troubleshooting.md`
- API reference: `references/api.md`
- Security model: `references/security.md`
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!