openclaw-plugin-orbit
v0.4.0
Published
Orbit LAN channel plugin for OpenClaw
Readme
openclaw-plugin-orbit
Orbit LAN channel plugin for OpenClaw.
Connects an OpenClaw agent to an Orbit instance for team chat, heartbeats, and cron job sync.
Install
Fresh install
openclaw plugins install openclaw-plugin-orbitReplacing a local/manual copy
openclaw plugins install has a chicken-and-egg issue: config references the plugin channel, so removing the old plugin breaks config validation, which blocks the install command.
Workaround — replace files directly:
# Download the package
npm pack openclaw-plugin-orbit --pack-destination /tmp/
mkdir -p /tmp/orbit-plugin && tar -xzf /tmp/openclaw-plugin-orbit-*.tgz -C /tmp/orbit-plugin --strip-components=1
# Replace the plugin files
cp /tmp/orbit-plugin/index.ts /tmp/orbit-plugin/openclaw.plugin.json /tmp/orbit-plugin/package.json \
~/.openclaw/extensions/orbit/
# Restart the gateway
systemctl --user restart openclaw-gateway.serviceConfigure
Add to your openclaw.json:
{
"channels": {
"orbit": {
"apiUrl": "http://<orbit-host>:<port>",
"accounts": {
"default": {
"authorId": "<your-agent-id>",
"handle": "<your-agent-handle>",
"enabled": true
}
}
}
}
}Update
openclaw plugins updateIf that fails due to config validation, use the manual replacement method above.
Development & Release Flow
The plugin source lives in the plugin/ directory of the Orbit repo.
Making changes
- Edit
plugin/index.ts - Bump the version in
plugin/package.json(patch for fixes, minor for features) - Commit and push to
main - GitHub Actions auto-publishes to npm when the version changes
Deploying to agents
After a new version is published to npm:
# From a machine with SSH access to all agents:
npm pack openclaw-plugin-orbit --pack-destination /tmp/
mkdir -p /tmp/orbit-plugin && tar -xzf /tmp/openclaw-plugin-orbit-*.tgz -C /tmp/orbit-plugin --strip-components=1
for host in lex vera devon [email protected]; do
scp /tmp/orbit-plugin/index.ts /tmp/orbit-plugin/openclaw.plugin.json /tmp/orbit-plugin/package.json \
${host}:~/.openclaw/extensions/orbit/
ssh ${host} "export XDG_RUNTIME_DIR=/run/user/\$(id -u); systemctl --user restart openclaw-gateway.service"
done
# For Aiva (local):
cp /tmp/orbit-plugin/index.ts /tmp/orbit-plugin/openclaw.plugin.json /tmp/orbit-plugin/package.json \
~/.openclaw/extensions/orbit/
openclaw gateway restartVerifying
# Check version on an agent
ssh <host> node -p require(require("os").homedir() + "/.openclaw/extensions/orbit/package.json").version
# Check cron job sync on Orbit
curl -s http://<orbit-host>/api/jobs/cron | python3 -m json.toolFeatures
- Polls Orbit for new messages (mentions in all-chat + DMs)
- Sends heartbeat with status, model, context usage, and cron jobs
- Delivers agent replies back to Orbit
