@vama/openclaw 2026.5.5-1 → 2026.5.5-2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +186 -0
  2. package/package.json +4 -2
package/README.md ADDED
@@ -0,0 +1,186 @@
1
+ # @vama/openclaw
2
+
3
+ Connect your own [OpenClaw](https://openclaw.ai) agent to **Vama** direct messages — the BotFather-style "bring your own claw" flow. This plugin adds a `vama` channel that talks to Vama's BotHub, so an agent you run appears natively in Vama DMs.
4
+
5
+ > **Full setup guide:** https://web.vama.com/connect-guide
6
+
7
+ ## Install the channel
8
+
9
+ The Vama channel ships **bundled** in Vama-provided OpenClaw builds (for example, agents created from inside the Vama app), so if you use one of those you can skip straight to **Get a token** below.
10
+
11
+ If you run **stock OpenClaw** from upstream, install the Vama channel first. It is published to both npm and ClawHub; npm is the default:
12
+
13
+ ```bash
14
+ openclaw plugins install @vama/openclaw
15
+ ```
16
+
17
+ Prefer ClawHub? Use the `clawhub:` spec instead:
18
+
19
+ ```bash
20
+ openclaw plugins install clawhub:@vama/openclaw
21
+ ```
22
+
23
+ Either one pulls the published plugin so `vama` becomes available to `openclaw onboard` and the `channels.vama` config block below. The channel requires OpenClaw `>=2026.5.12`.
24
+
25
+ ## Get a token (Bring your own claw)
26
+
27
+ If you run your own OpenClaw gateway and just want to connect it to Vama — the BotFather-style flow — mint a token straight from the Vama app:
28
+
29
+ 1. On stock OpenClaw, install the channel first (see **Install the channel**). Vama-provided builds already bundle it.
30
+ 2. In Vama, go to **Settings → Agents → Connect an agent** (the "Bring your own claw" page).
31
+ 3. Optionally name the agent, then click **Create agent**. Vama shows a one-time **agent token** and **webhook secret**, plus a ready-to-paste `channels.vama` config block.
32
+ 4. Copy the config into `~/.openclaw/openclaw.json` (see below) and start your gateway with `openclaw gateway run`.
33
+ 5. Register your gateway's public webhook URL so BotHub can deliver messages (see **Receiving messages**).
34
+
35
+ Each token is shown **once**. If you lose one, use **Regenerate token** on that agent — the old token stops working immediately. **Delete agent** disconnects the claw and removes that agent from your Vama DMs.
36
+
37
+ > You can connect **as many agents as you like** — each **Create agent** provisions a new, independent agent with its own token. Run a separate OpenClaw gateway (or a separate `accounts` entry — see **Multi-account**) per agent.
38
+
39
+ ## CLI onboarding (alternative)
40
+
41
+ Instead of minting a token in the app, you can auto-provision from the CLI:
42
+
43
+ ```bash
44
+ openclaw onboard
45
+ ```
46
+
47
+ Select **Vama** from the channel list. The wizard prompts for your Vama username, auto-provisions a bot via BotHub, and configures webhook settings. Then start the gateway:
48
+
49
+ ```bash
50
+ openclaw gateway run
51
+ ```
52
+
53
+ ## Manual configuration
54
+
55
+ Set the following in `~/.openclaw/openclaw.json`:
56
+
57
+ ```json
58
+ {
59
+ "channels": {
60
+ "vama": {
61
+ "enabled": true,
62
+ "botToken": "<bot_token from provisioning>",
63
+ "webhookSecret": "<webhook_secret from provisioning>",
64
+ "webhookPort": 3001,
65
+ "webhookPath": "/vama/events",
66
+ "webhookHost": "127.0.0.1"
67
+ }
68
+ }
69
+ }
70
+ ```
71
+
72
+ ## Receiving messages (webhook reachability)
73
+
74
+ BotHub delivers inbound messages to your gateway over an HTTP **webhook**, so BotHub must be able to reach your gateway's webhook listener. After your token is configured, register your gateway's public URL:
75
+
76
+ - Run `openclaw onboard` → Vama. The wizard prompts for a *"Public webhook URL for BotHub to send events"* (e.g. `https://your-gateway-host.example.com/vama/events`) and registers it with BotHub. Leave it blank to skip and register later.
77
+ - If your gateway isn't directly reachable, put it behind a tunnel or reverse proxy and register that public URL.
78
+
79
+ Verify the channel is connected with:
80
+
81
+ ```bash
82
+ openclaw channels status --probe
83
+ ```
84
+
85
+ The webhook listener binds to `webhookHost`:`webhookPort``webhookPath` (default `127.0.0.1:3001/vama/events`) — make sure your public URL forwards to that address.
86
+
87
+ ## Configuration reference
88
+
89
+ | Key | Type | Default | Description |
90
+ | ---------------- | ------- | ---------------- | --------------------------------------------------------------------------------- |
91
+ | `enabled` | boolean | `false` | Enable/disable the Vama channel |
92
+ | `botToken` | string | — | Bot authentication token from provisioning |
93
+ | `webhookSecret` | string | — | HMAC secret for webhook signature verification |
94
+ | `webhookPort` | integer | `3001` | Local port for the webhook listener |
95
+ | `webhookPath` | string | `"/vama/events"` | URL path for webhook events |
96
+ | `webhookHost` | string | `"127.0.0.1"` | Bind address for the webhook listener |
97
+ | `dmPolicy` | string | `"open"` | DM access policy: `"open"`, `"pairing"`, or `"allowlist"` |
98
+ | `allowFrom` | array | `[]` | Vama user IDs allowed to message the bot |
99
+ | `textChunkLimit` | integer | `10000` | Max characters per outbound message |
100
+ | `bothubUrl` | string | _(canonical)_ | Override the BotHub API base URL. Only needed for self-hosted BotHub deployments. |
101
+
102
+ ## Access control
103
+
104
+ Control who can message the bot with `channels.vama.dmPolicy`:
105
+
106
+ - **`open`** (default) — any Vama user can DM the bot.
107
+ - **`pairing`** — unknown users get a pairing code to request approval.
108
+ - **`allowlist`** — only users listed in `channels.vama.allowFrom` can DM the bot.
109
+
110
+ ```json
111
+ {
112
+ "channels": {
113
+ "vama": {
114
+ "dmPolicy": "allowlist",
115
+ "allowFrom": ["user_alice", "user_bob"]
116
+ }
117
+ }
118
+ }
119
+ ```
120
+
121
+ ## Webhook security
122
+
123
+ BotHub signs every webhook delivery with HMAC-SHA256. OpenClaw verifies the signature using the `webhookSecret` from provisioning.
124
+
125
+ Headers sent by BotHub:
126
+
127
+ - `X-BotHub-Signature` — `sha256=<hex HMAC>`
128
+ - `X-BotHub-Timestamp` — Unix seconds
129
+ - `X-BotHub-Event` — Event type (e.g. `message.create`)
130
+ - `X-BotHub-Delivery-ID` — Unique delivery identifier
131
+
132
+ Signatures older than 5 minutes are rejected to prevent replay attacks.
133
+
134
+ ## Multi-account
135
+
136
+ For multiple bot accounts, use the `accounts` map:
137
+
138
+ ```json
139
+ {
140
+ "channels": {
141
+ "vama": {
142
+ "enabled": true,
143
+ "bothubUrl": "https://bothub.example.com",
144
+ "accounts": {
145
+ "staging": {
146
+ "botToken": "<staging_token>",
147
+ "webhookSecret": "<staging_secret>",
148
+ "webhookPort": 3002,
149
+ "name": "Staging Bot"
150
+ },
151
+ "production": {
152
+ "botToken": "<prod_token>",
153
+ "webhookSecret": "<prod_secret>",
154
+ "webhookPort": 3003,
155
+ "name": "Production Bot"
156
+ }
157
+ }
158
+ }
159
+ }
160
+ }
161
+ ```
162
+
163
+ Named accounts inherit top-level settings (like `bothubUrl`) and can override them individually.
164
+
165
+ ## Capabilities
166
+
167
+ | Feature | Supported |
168
+ | ----------------- | -------------------- |
169
+ | Direct messages | Yes |
170
+ | Threads (replies) | Yes |
171
+ | Media attachments | No (text-only in v1) |
172
+ | Reactions | No |
173
+ | Message editing | No |
174
+ | Groups/channels | No |
175
+
176
+ ## Troubleshooting
177
+
178
+ - **Bot not responding**: verify `openclaw channels status --probe` shows Vama as connected. Check that the webhook port is reachable from BotHub.
179
+ - **Created a bot in the Vama app but it never replies**: you still need to register a public webhook URL so BotHub can reach your gateway — see **Receiving messages**. A token alone doesn't make your gateway reachable.
180
+ - **Signature verification failed**: ensure `webhookSecret` matches the value from provisioning. Re-provision if needed.
181
+ - **Connection test fails during onboarding**: verify the `bothubUrl` is correct and reachable from your gateway host.
182
+ - **Messages dropped**: check gateway logs for `dmPolicy` blocks. If using `allowlist`, verify the sender's user ID is in `channels.vama.allowFrom`.
183
+
184
+ ## License
185
+
186
+ See the Vama OpenClaw distribution for license terms.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vama/openclaw",
3
- "version": "2026.5.5-1",
3
+ "version": "2026.5.5-2",
4
4
  "description": "OpenClaw Vama channel plugin via BotHub",
5
5
  "repository": {
6
6
  "type": "git",
@@ -52,7 +52,9 @@
52
52
  ]
53
53
  },
54
54
  "files": [
55
+ "README.md",
55
56
  "dist/**",
56
57
  "openclaw.plugin.json"
57
- ]
58
+ ],
59
+ "homepage": "https://web.vama.com/connect-guide"
58
60
  }