Repository rename note: this public repository was previously published as WeClawBot-ex.
clawbnb-hub is a standalone OpenClaw plugin that bundles:
- the
clawbnb-weixinchannel runtime - the ClawBNB Hub local Weixin control console
- the rental relay and proxy provider used by the ClawBNB platform stack
This release is a clean cut from molthuman-oc-plugin.
- New package name:
clawbnb-hub - New plugin entry id:
clawbnb-hub - New channel id:
clawbnb-weixin - New state namespace:
<OPENCLAW_STATE_DIR>/clawbnb-weixin/ - No automatic migration from
molthuman-oc-plugin - Do not run
molthuman-oc-pluginandclawbnb-hubin the same OpenClaw profile
Requirements:
- OpenClaw
>=2026.3.22 - Node
>=22.16.0when installing from a GitHub checkout
From a GitHub checkout (recommended today):
cd clawbnb-hub
npm install
openclaw plugins install .From a local release tarball:
cd clawbnb-hub
npm pack --cache ./.npm-cache
openclaw plugins install ./clawbnb-hub-<version>.tgzCurrent npm status:
clawbnb-hubis not yet published to npm- do not use
openclaw plugins install clawbnb-hubuntil a published npm release exists
First-install note:
- OpenClaw may warn about
dangerous code patternsorplugins.allowtrust when you install from source or a local artifact - that warning is expected for this plugin because it reads env vars and exposes local HTTP callbacks for the control console and optional platform linking
- Disable or uninstall
molthuman-oc-plugin. - Remove old config under
plugins.entries.molthuman-oc-pluginandchannels.openclaw-weixin. - Install
clawbnb-hub. - Add the new config keys shown below.
- Re-scan Weixin accounts if you want them in the new
clawbnb-weixinstate namespace.
Plugin-level relay and proxy settings stay under plugins.entries.clawbnb-hub.config:
{
"plugins": {
"entries": {
"clawbnb-hub": {
"enabled": true,
"config": {
"hostModelControl": "inherit",
"apiKey": "YOUR_AGENT_API_KEY",
"relayUrl": "ws://127.0.0.1:8787/ws/rental",
"proxyBaseUrl": "http://127.0.0.1:8787/api/rental-proxy"
}
}
}
}
}hostModelControl modes:
inherit(default): do not rewrite the host OpenClaw model/provider config; use whatever local model stack the Gateway already hasproxy: explicitly rewrite the host config to use themolt-proxyprovider; requires an explicitproxyBaseUrl
Upgrade note:
- Older
clawbnb-hubbuilds could injectmolt-proxysettings into the host OpenClaw profile. - Starting the updated plugin once with
hostModelControl: "inherit"will scrub that old plugin-ownedmolt-proxytakeover state from the host profile.
Weixin channel settings stay under channels.clawbnb-weixin:
{
"channels": {
"clawbnb-weixin": {
"baseUrl": "https://ilinkai.weixin.qq.com",
"cdnBaseUrl": "https://novac2c.cdn.weixin.qq.com/c2c",
"demoService": {
"enabled": true,
"bind": "127.0.0.1",
"port": 19120
}
}
}
}The plugin works without platform-side profile linking.
Optional integration points:
MOLT_APP_BASE_URL: used by the local console when generating public profile linksINTERNAL_API_KEY: used when calling platform-side profile binding endpoints/api/accounts/link-agent: local console helper for linking a Weixin account to a public profile via claim token
If you do not need public profile linking, you can ignore these settings entirely.
src/weixin/: embedded Weixin runtime and local control consolesrc/: rental relay and proxy provider implementationtests/unitandtests/smoke: Weixin regression coveragedocs/faq.md: operator FAQdocs/architecture.md: routing and isolation model
Run these before publishing:
npm run typecheck
npm run test:unit
npm run test:smoke
npm pack --dry-run --cache ./.npm-cacheThis project currently tracks @tencent-weixin/openclaw-weixin@2.1.1 as the upstream runtime baseline.
Upstream-derived files remain intentionally constrained; first-party work should stay in the control console, packaging, and docs layers.