OpenClaw Agent Hub bridge stuck on "OpenClaw is still connecting" after dkg openclaw setup
Branch: v10-rc
Node version: 10.0.0-rc.1-dev.1777021554.93866af
OS: WSL2 (Ubuntu) on Windows, Node.js 25.8.2
OpenClaw version: 2026.3.31
Summary
After running dkg openclaw setup on a fresh V10 RC installation, the Agent Hub in the DKG Node UI (http://127.0.0.1:9200/ui) shows "OpenClaw is still connecting" and the agent chat remains inactive. The adapter plugin does not appear to establish the bridge connection to the OpenClaw gateway.
Steps to reproduce
-
Install DKG V10 RC CLI:
npm install -g @origintrail-official/dkg --allow-prerelease
-
Initialise and start the node:
-
Run the OpenClaw adapter setup:
-
The setup completes successfully with all ✓ checks:
[setup] [verify] plugins.slots.memory === "adapter-openclaw" ✓
[setup] [verify] plugins.slots.contextEngine !== "adapter-openclaw" ✓
[setup] [verify] openclaw.plugin.json has "kind": "memory" ✓
-
Restart the OpenClaw gateway as instructed:
-
Open the DKG Node UI at http://127.0.0.1:9200/ui → Agent Hub.
-
Expected: OpenClaw agent chat is active.
Actual: "OpenClaw is still connecting" — chat remains inactive.
Root cause identified (manual investigation)
Two issues were found by inspecting the resulting ~/.openclaw/openclaw.json:
Issue 1: dkg openclaw setup writes new config, but gateway restart loads a stale backup
The setup script backs up the original config and writes a new one. However, after openclaw gateway restart, the running gateway appears to load the pre-existing config rather than the one written by setup. The plugins.slots, plugins.allow, and plugins.entries.adapter-openclaw keys written by setup were absent after restart.
Evidence: Running openclaw status after restart showed plugin memory-core (the default), not adapter-openclaw. Inspecting ~/.openclaw/openclaw.json confirmed the adapter-openclaw entries were missing.
Issue 2: Setup writes incorrect config key nodeUrl — plugin expects daemonUrl
The setup script populates plugins.entries.adapter-openclaw.config with nodeUrl for the DKG daemon endpoint. However, the adapter's openclaw.plugin.json configSchema defines the correct key as daemonUrl:
"daemonUrl": {
"type": "string",
"default": "http://127.0.0.1:9200",
"description": "DKG daemon HTTP URL"
}
Because of this mismatch, the plugin silently uses the default value even when a custom URL is intended, and — more critically — the misconfigured entry causes the bridge not to establish.
Issue 3: Setup does not set channel.enabled: true in the adapter config
The plugin's configSchema includes:
"channel": {
"type": "object",
"properties": {
"enabled": { "type": "boolean", "default": false },
"port": { "type": "number", "default": 9201 }
}
}
The channel.enabled flag defaults to false. The setup script does not set it to true, so the DKG UI ↔ OpenClaw bridge is never activated.
Issue 4: Setup does not set channels.dkg-ui in openclaw.json
The gateway needs a channels.dkg-ui entry to listen on port 9201. The setup adds this via the channels key in openclaw.json ("dkg-ui": { "enabled": true, "port": 9201 }), but this was also lost after the restart loaded the stale config (see Issue 1).
Working config (manual fix)
The following manual config in ~/.openclaw/openclaw.json produces a working Agent Hub connection:
"plugins": {
"slots": { "memory": "adapter-openclaw" },
"entries": {
"adapter-openclaw": {
"enabled": true,
"config": {
"daemonUrl": "http://127.0.0.1:9200",
"memory": { "enabled": true },
"channel": { "enabled": true, "port": 9201 }
}
}
},
"allow": ["discord", "anthropic", "duckduckgo", "adapter-openclaw"],
"load": {
"paths": [
"/path/to/node_modules/@origintrail-official/dkg/node_modules/@origintrail-official/dkg-adapter-openclaw"
]
}
},
"channels": {
"dkg-ui": { "enabled": true, "port": 9201 }
}
Note: the adapter is bundled inside the main dkg package at node_modules/@origintrail-official/dkg/node_modules/@origintrail-official/dkg-adapter-openclaw — not as a standalone global package.
Expected behaviour
After dkg openclaw setup + openclaw gateway restart:
~/.openclaw/openclaw.json should contain all adapter keys correctly
openclaw status should show plugin adapter-openclaw not memory-core
- The Agent Hub in the DKG Node UI should show an active OpenClaw chat
Suggested fixes
- Fix config key mismatch: Replace
nodeUrl with daemonUrl in the setup script's config population step.
- Set
channel.enabled: true in the adapter config written by setup.
- Ensure
channels.dkg-ui is written to openclaw.json by setup.
- Investigate config persistence across gateway restart — the most impactful issue. The setup-written config should survive a
openclaw gateway restart. Consider verifying config integrity post-restart in the setup [verify] step.
Environment
- WSL2 · Ubuntu · Node.js 25.8.2
- DKG V10 RC:
10.0.0-rc.1-dev.1777021554.93866af
- OpenClaw:
2026.3.31
- Adapter bundled at:
@origintrail-official/dkg/node_modules/@origintrail-official/dkg-adapter-openclaw
OpenClaw Agent Hub bridge stuck on "OpenClaw is still connecting" after
dkg openclaw setupBranch:
v10-rcNode version:
10.0.0-rc.1-dev.1777021554.93866afOS: WSL2 (Ubuntu) on Windows, Node.js 25.8.2
OpenClaw version: 2026.3.31
Summary
After running
dkg openclaw setupon a fresh V10 RC installation, the Agent Hub in the DKG Node UI (http://127.0.0.1:9200/ui) shows "OpenClaw is still connecting" and the agent chat remains inactive. The adapter plugin does not appear to establish the bridge connection to the OpenClaw gateway.Steps to reproduce
Install DKG V10 RC CLI:
Initialise and start the node:
Run the OpenClaw adapter setup:
The setup completes successfully with all
✓checks:Restart the OpenClaw gateway as instructed:
Open the DKG Node UI at
http://127.0.0.1:9200/ui→ Agent Hub.Expected: OpenClaw agent chat is active.
Actual: "OpenClaw is still connecting" — chat remains inactive.
Root cause identified (manual investigation)
Two issues were found by inspecting the resulting
~/.openclaw/openclaw.json:Issue 1:
dkg openclaw setupwrites new config, but gateway restart loads a stale backupThe setup script backs up the original config and writes a new one. However, after
openclaw gateway restart, the running gateway appears to load the pre-existing config rather than the one written by setup. Theplugins.slots,plugins.allow, andplugins.entries.adapter-openclawkeys written by setup were absent after restart.Evidence: Running
openclaw statusafter restart showedplugin memory-core(the default), notadapter-openclaw. Inspecting~/.openclaw/openclaw.jsonconfirmed the adapter-openclaw entries were missing.Issue 2: Setup writes incorrect config key
nodeUrl— plugin expectsdaemonUrlThe setup script populates
plugins.entries.adapter-openclaw.configwithnodeUrlfor the DKG daemon endpoint. However, the adapter'sopenclaw.plugin.jsonconfigSchema defines the correct key asdaemonUrl:Because of this mismatch, the plugin silently uses the default value even when a custom URL is intended, and — more critically — the misconfigured entry causes the bridge not to establish.
Issue 3: Setup does not set
channel.enabled: truein the adapter configThe plugin's configSchema includes:
The
channel.enabledflag defaults tofalse. The setup script does not set it totrue, so the DKG UI ↔ OpenClaw bridge is never activated.Issue 4: Setup does not set
channels.dkg-uiin openclaw.jsonThe gateway needs a
channels.dkg-uientry to listen on port 9201. The setup adds this via thechannelskey in openclaw.json ("dkg-ui": { "enabled": true, "port": 9201 }), but this was also lost after the restart loaded the stale config (see Issue 1).Working config (manual fix)
The following manual config in
~/.openclaw/openclaw.jsonproduces a working Agent Hub connection:Note: the adapter is bundled inside the main
dkgpackage atnode_modules/@origintrail-official/dkg/node_modules/@origintrail-official/dkg-adapter-openclaw— not as a standalone global package.Expected behaviour
After
dkg openclaw setup+openclaw gateway restart:~/.openclaw/openclaw.jsonshould contain all adapter keys correctlyopenclaw statusshould showplugin adapter-openclawnotmemory-coreSuggested fixes
nodeUrlwithdaemonUrlin the setup script's config population step.channel.enabled: truein the adapter config written by setup.channels.dkg-uiis written to openclaw.json by setup.openclaw gateway restart. Consider verifying config integrity post-restart in the setup[verify]step.Environment
10.0.0-rc.1-dev.1777021554.93866af2026.3.31@origintrail-official/dkg/node_modules/@origintrail-official/dkg-adapter-openclaw