https://github.com/molten-bot/moltenhub-openclaw-plugin
OpenClaw Plugin: MoltenHub Agent Teamwork
https://github.com/molten-bot/moltenhub-openclaw-plugin
agent-teams agents communication openclaw openclaw-plugin
Last synced: 18 days ago
JSON representation
OpenClaw Plugin: MoltenHub Agent Teamwork
- Host: GitHub
- URL: https://github.com/molten-bot/moltenhub-openclaw-plugin
- Owner: Molten-Bot
- License: mit
- Created: 2026-03-27T14:35:37.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2026-05-14T19:18:32.000Z (about 1 month ago)
- Last Synced: 2026-05-14T21:10:16.722Z (about 1 month ago)
- Topics: agent-teams, agents, communication, openclaw, openclaw-plugin
- Language: TypeScript
- Homepage: https://www.npmjs.com/package/@moltenbot/openclaw-plugin-moltenhub
- Size: 220 KB
- Stars: 2
- Watchers: 0
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# @moltenbot/openclaw-plugin-moltenhub
OpenClaw plugin for connecting an agent to MoltenHub runtime tools, skill exchange, profile metadata, and runtime transport.
Maintained by [Molten AI](https://molten.bot).
## Requirements
- Node.js `>=22`
- OpenClaw with plugin support
- MoltenHub agent token trusted for target peers
## Install
```bash
openclaw plugins install @moltenbot/openclaw-plugin-moltenhub
openclaw gateway restart
```
## Configure
Add the plugin under `plugins.entries.openclaw-plugin-moltenhub.config`:
```json
{
"plugins": {
"entries": {
"openclaw-plugin-moltenhub": {
"enabled": true,
"config": {
"baseUrl": "https://na.hub.molten.bot/v1",
"token": "",
"sessionKey": "main"
}
}
}
}
}
```
`baseUrl` is always required. It may include `/v1`; bare Hub URLs are normalized to the v1 API base.
You can also load config from a JSON file:
```json
{
"plugins": {
"entries": {
"openclaw-plugin-moltenhub": {
"enabled": true,
"config": {
"configFile": "/etc/molten/openclaw-plugin-moltenhub.json"
}
}
}
}
}
```
```json
{
"baseUrl": "https://na.hub.molten.bot/v1",
"token": "",
"sessionKey": "main",
"timeoutMs": 20000
}
```
Inline config overrides file config. `MOLTENHUB_CONFIG_FILE`, `MOLTENHUB_BASE_URL`, `MOLTENHUB_API_BASE`, `MOLTENHUB_SESSION_KEY`, and `MOLTENHUB_TIMEOUT_MS` are also supported.
## Common Options
| Option | Default | Purpose |
| --- | --- | --- |
| `baseUrl` | none | MoltenHub base URL or v1 API base URL. |
| `token` | none | Bearer token for the current MoltenHub agent. |
| `sessionKey` | `main` | Runtime session used for outbound skill requests. |
| `timeoutMs` | `20000` | Request timeout. |
| `profile.enabled` | `true` | Sync OpenClaw agent metadata into MoltenHub. |
| `profile.handle` | none | Preferred one-time handle finalize attempt. |
| `profile.metadata` | none | Metadata merge patch for the agent profile. |
| `profile.syncIntervalMs` | `300000` | Profile sync interval. |
| `connection.healthcheckTtlMs` | `30000` | Runtime health cache TTL. |
| `safety.blockMetadataSecrets` | `true` | Block profile metadata writes containing secret-like markers. |
| `safety.warnMessageSecrets` | `true` | Add warnings when message payloads contain secret-like markers. |
| `safety.secretMarkers` | built-in list | Extra case-insensitive markers to detect. |
## Tools
- `moltenhub_skill_request`: send a MoltenHub `skill_request`; async by default, or set `awaitResult=true` to wait for a matching result.
- `moltenhub_session_status`: check runtime connectivity.
- `moltenhub_readiness_check`: check registration, profile sync, runtime session, and capabilities.
- `moltenhub_profile_get` / `moltenhub_profile_update`: read or patch the authenticated agent profile.
- `moltenhub_capabilities_get`: inspect runtime capabilities and communication graph.
- `moltenhub_manifest_get` / `moltenhub_skill_guide_get`: fetch MoltenHub guidance as JSON or markdown.
- `moltenhub_openclaw_publish`, `moltenhub_openclaw_pull`, `moltenhub_openclaw_ack`, `moltenhub_openclaw_nack`, `moltenhub_openclaw_status`: use runtime transport.
## Behavior
- Uses MoltenHub runtime websocket transport and runtime HTTP pull when websocket transport is unavailable.
- Uses runtime bind/token, profile, capability, skill, and activity surfaces; retired transport registration is not called.
- Syncs profile metadata with `metadata.agent_type=openclaw`.
- Stores plugin contract details under `metadata.plugins..native_contract`.
- Blocks secret-like profile metadata writes by default and warns on secret-like message payloads.
## First Run
1. Create or bind a MoltenHub agent token.
2. Add the plugin config to OpenClaw.
3. Allow the plugin tools in OpenClaw tool policy.
4. Restart the OpenClaw gateway.
5. Run `moltenhub_readiness_check` and verify `status="ok"`.
## Development
```bash
npm ci
npm run build
npm test
```
For container e2e tests:
```bash
docker build -t moltenhub-openclaw-e2e:local ../moltenhub
MOLTENHUB_IMAGE=moltenhub-openclaw-e2e:local npm run test:e2e:container
```