openclaw-channel-dmwork 0.6.0-dev.0079778d → 0.6.0-dev.0280c334

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.
package/dist/cli/bind.js CHANGED
@@ -34,18 +34,38 @@ export async function runBind(opts) {
34
34
  cfg.channels.dmwork = {};
35
35
  if (!cfg.channels.dmwork.accounts)
36
36
  cfg.channels.dmwork.accounts = {};
37
- // 4. Write account config
38
- cfg.channels.dmwork.accounts[opts.accountId] = {
37
+ // 4. Register once, store full result for config + greeting
38
+ let botName = "";
39
+ let ownerUID = "";
40
+ try {
41
+ const regResp = await fetch(`${opts.apiUrl.replace(/\/+$/, "")}/v1/bot/register`, {
42
+ method: "POST",
43
+ headers: { "Authorization": `Bearer ${opts.botToken}`, "Content-Type": "application/json" },
44
+ body: "{}",
45
+ signal: AbortSignal.timeout(10000),
46
+ });
47
+ if (regResp.ok) {
48
+ const regData = await regResp.json();
49
+ botName = regData.name ?? "";
50
+ ownerUID = regData.owner_uid ?? "";
51
+ }
52
+ }
53
+ catch { /* best-effort */ }
54
+ // 5. Write account config
55
+ const accountConfig = {
39
56
  botToken: opts.botToken,
40
57
  apiUrl: opts.apiUrl,
41
58
  };
42
- // 5. Set dmScope (multi-bot isolation)
59
+ if (botName)
60
+ accountConfig.name = botName;
61
+ cfg.channels.dmwork.accounts[opts.accountId] = accountConfig;
62
+ // 6. Set dmScope (multi-bot isolation)
43
63
  if (!cfg.session)
44
64
  cfg.session = {};
45
65
  if (!cfg.session.dmScope) {
46
66
  cfg.session.dmScope = RECOMMENDED_DM_SCOPE;
47
67
  }
48
- // 6. Add or update binding
68
+ // 7. Add or update binding
49
69
  if (!cfg.bindings)
50
70
  cfg.bindings = [];
51
71
  const existingIdx = cfg.bindings.findIndex((b) => b.match?.channel === "dmwork" && b.match?.accountId === opts.accountId);
@@ -58,46 +78,36 @@ export async function runBind(opts) {
58
78
  match: { channel: "dmwork", accountId: opts.accountId },
59
79
  });
60
80
  }
61
- // 7. Atomic write
81
+ // 8. Atomic write
62
82
  writeConfigAtomic(cfg);
63
- console.log(`Bot account "${opts.accountId}" configured and bound to agent "${opts.agent}".`);
64
- // 8. Wait for channel hot-reload
83
+ const displayLabel = botName || opts.accountId;
84
+ console.log(`Bot "${displayLabel}" (${opts.accountId}) configured and bound to agent "${opts.agent}".`);
85
+ // 9. Wait for channel hot-reload
65
86
  console.log("Waiting for DMWork channel to reload...");
66
87
  await new Promise((r) => setTimeout(r, 2000));
67
- // 9. Send greeting to bot owner (best-effort, not a connectivity proof)
68
- console.log("Sending greeting to bot owner...");
69
- try {
70
- const registerResp = await fetch(`${opts.apiUrl.replace(/\/+$/, "")}/v1/bot/register`, {
71
- method: "POST",
72
- headers: {
73
- "Authorization": `Bearer ${opts.botToken}`,
74
- "Content-Type": "application/json",
75
- },
76
- body: "{}",
77
- signal: AbortSignal.timeout(10000),
78
- });
79
- if (registerResp.ok) {
80
- const data = await registerResp.json();
81
- if (data.owner_uid) {
82
- await fetch(`${opts.apiUrl.replace(/\/+$/, "")}/v1/bot/sendMessage`, {
83
- method: "POST",
84
- headers: {
85
- "Authorization": `Bearer ${opts.botToken}`,
86
- "Content-Type": "application/json",
87
- },
88
- body: JSON.stringify({
89
- channel_id: data.owner_uid,
90
- channel_type: 1,
91
- payload: { type: 1, content: `你好!我是 ${data.robot_id ?? opts.accountId},已上线 👋` },
92
- }),
93
- signal: AbortSignal.timeout(10000),
94
- });
95
- console.log(`Greeting sent to owner (${data.owner_uid}).`);
96
- }
88
+ // 10. Send greeting to bot owner (reuse register data from step 4)
89
+ if (ownerUID) {
90
+ console.log("Sending greeting to bot owner...");
91
+ try {
92
+ const greetName = botName || displayLabel;
93
+ await fetch(`${opts.apiUrl.replace(/\/+$/, "")}/v1/bot/sendMessage`, {
94
+ method: "POST",
95
+ headers: {
96
+ "Authorization": `Bearer ${opts.botToken}`,
97
+ "Content-Type": "application/json",
98
+ },
99
+ body: JSON.stringify({
100
+ channel_id: ownerUID,
101
+ channel_type: 1,
102
+ payload: { type: 1, content: `你好!我是 ${greetName},已上线 👋` },
103
+ }),
104
+ signal: AbortSignal.timeout(10000),
105
+ });
106
+ console.log(`Greeting sent to owner (${ownerUID}).`);
107
+ }
108
+ catch {
109
+ console.log("Could not send greeting. Please test connectivity by sending a message to the bot in DMWork.");
97
110
  }
98
- }
99
- catch {
100
- console.log("Could not send greeting. Please test connectivity by sending a message to the bot in DMWork.");
101
111
  }
102
112
  console.log("\nBind complete! Please send a message to the bot in DMWork to verify the connection.");
103
113
  }
@@ -1 +1 @@
1
- {"version":3,"file":"bind.js","sourceRoot":"","sources":["../../cli/bind.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bind.js","sourceRoot":"","sources":["../../cli/bind.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,4 @@ export interface QuickstartOptions {
12
12
  apiKey: string;
13
13
  apiUrl: string;
14
14
  }
15
- /** Normalize agent id to a valid bot username, matching server-side rules. */
16
- export declare function normalizeUsername(agentId: string): string;
17
15
  export declare function runQuickstart(opts: QuickstartOptions): Promise<void>;
@@ -10,17 +10,6 @@
10
10
  */
11
11
  import { isHealthyInstall, readConfigFromFile, writeConfigAtomic, runOpenclaw, } from "./openclaw-cli.js";
12
12
  import { RECOMMENDED_DM_SCOPE, ensureOpenClawCompat, } from "./utils.js";
13
- /** Normalize agent id to a valid bot username, matching server-side rules. */
14
- export function normalizeUsername(agentId) {
15
- let base = agentId.trim().toLowerCase();
16
- base = base.replace(/_bot$/, "");
17
- base = base.replace(/[^a-z0-9_]/g, "");
18
- if (!base)
19
- base = "agent"; // fallback for all-non-alphanumeric input
20
- if (base.length > 17)
21
- base = base.slice(0, 17); // leave room for _2_bot/_3_bot
22
- return `${base}_bot`;
23
- }
24
13
  export async function runQuickstart(opts) {
25
14
  ensureOpenClawCompat();
26
15
  // 1. Pre-flight: plugin must be healthy
@@ -63,85 +52,52 @@ export async function runQuickstart(opts) {
63
52
  const apiBase = opts.apiUrl.replace(/\/+$/, "");
64
53
  const results = [];
65
54
  for (const agent of agents) {
66
- const baseName = normalizeUsername(agent.id);
67
- let created = false;
68
- // Try base name, then _2_bot, _3_bot
69
- const candidates = [baseName];
70
- const baseWithout = baseName.replace(/_bot$/, "");
71
- candidates.push(`${baseWithout}_2_bot`, `${baseWithout}_3_bot`);
72
- for (const username of candidates) {
73
- try {
74
- const resp = await fetch(`${apiBase}/v1/user/bots`, {
75
- method: "POST",
76
- headers: {
77
- "Authorization": `Bearer ${opts.apiKey}`,
78
- "Content-Type": "application/json",
79
- },
80
- body: JSON.stringify({
81
- username,
82
- name: agent.name || agent.id,
83
- }),
84
- signal: AbortSignal.timeout(15000),
85
- });
86
- const text = await resp.text().catch(() => "");
87
- if (resp.ok) {
88
- const data = JSON.parse(text);
89
- results.push({
90
- agentId: agent.id,
91
- robotId: data.robot_id,
92
- botToken: data.bot_token,
93
- name: data.name,
94
- status: "ok",
95
- });
96
- console.log(` Created bot: ${data.robot_id} → agent ${agent.id}`);
97
- created = true;
98
- break;
99
- }
100
- // Username conflict: 409 (new server) or 400 with "已被占用"/"occupied" (old server)
101
- const isUsernameConflict = resp.status === 409 ||
102
- (resp.status === 400 && /已被占用|occupied/i.test(text));
103
- if (isUsernameConflict) {
104
- console.log(` ${username} already occupied, trying next...`);
105
- continue;
106
- }
107
- const errMsg = `HTTP ${resp.status}: ${text.slice(0, 200)}`;
108
- console.error(` ${agent.id}: ${errMsg}`);
55
+ const displayName = agent.name || agent.id;
56
+ try {
57
+ const resp = await fetch(`${apiBase}/v1/user/bots`, {
58
+ method: "POST",
59
+ headers: {
60
+ "Authorization": `Bearer ${opts.apiKey}`,
61
+ "Content-Type": "application/json",
62
+ },
63
+ body: JSON.stringify({ name: displayName }),
64
+ signal: AbortSignal.timeout(15000),
65
+ });
66
+ const text = await resp.text().catch(() => "");
67
+ if (resp.ok) {
68
+ const data = JSON.parse(text);
109
69
  results.push({
110
70
  agentId: agent.id,
111
- robotId: username,
112
- botToken: "",
113
- name: agent.name || agent.id,
114
- status: "failed",
115
- error: errMsg,
71
+ robotId: data.robot_id,
72
+ botToken: data.bot_token,
73
+ name: data.name,
74
+ status: "ok",
116
75
  });
117
- created = true;
118
- break;
76
+ console.log(` Created bot: ${data.name} (${data.robot_id}) → agent ${agent.id}`);
119
77
  }
120
- catch (err) {
121
- const errMsg = err instanceof Error ? err.message : String(err);
78
+ else {
79
+ const errMsg = `HTTP ${resp.status}: ${text.slice(0, 200)}`;
122
80
  console.error(` ${agent.id}: ${errMsg}`);
123
81
  results.push({
124
82
  agentId: agent.id,
125
- robotId: username,
83
+ robotId: "",
126
84
  botToken: "",
127
- name: agent.name || agent.id,
85
+ name: displayName,
128
86
  status: "failed",
129
87
  error: errMsg,
130
88
  });
131
- created = true;
132
- break;
133
89
  }
134
90
  }
135
- if (!created) {
136
- const tried = candidates.join(", ");
137
- console.error(` ${agent.id}: all username variants conflicted (${tried})`);
91
+ catch (err) {
92
+ const errMsg = err instanceof Error ? err.message : String(err);
93
+ console.error(` ${agent.id}: ${errMsg}`);
138
94
  results.push({
139
95
  agentId: agent.id,
140
- robotId: baseName,
96
+ robotId: "",
141
97
  botToken: "",
142
- name: agent.name || agent.id,
98
+ name: displayName,
143
99
  status: "failed",
144
- error: `All username variants conflicted: ${tried}`,
100
+ error: errMsg,
145
101
  });
146
102
  }
147
103
  }
@@ -173,6 +129,7 @@ export async function runQuickstart(opts) {
173
129
  cfg.channels.dmwork.accounts[bot.robotId] = {
174
130
  botToken: bot.botToken,
175
131
  apiUrl: opts.apiUrl,
132
+ name: bot.name,
176
133
  };
177
134
  // Binding
178
135
  const existingIdx = cfg.bindings.findIndex((b) => b.match?.channel === "dmwork" && b.match?.accountId === bot.robotId);
@@ -211,6 +168,7 @@ export async function runQuickstart(opts) {
211
168
  if (regResp.ok) {
212
169
  const data = await regResp.json();
213
170
  if (data.owner_uid) {
171
+ const greetName = data.name || bot.name;
214
172
  await fetch(`${apiBase}/v1/bot/sendMessage`, {
215
173
  method: "POST",
216
174
  headers: {
@@ -220,7 +178,7 @@ export async function runQuickstart(opts) {
220
178
  body: JSON.stringify({
221
179
  channel_id: data.owner_uid,
222
180
  channel_type: 1,
223
- payload: { type: 1, content: `你好!我是 ${bot.name},已上线 👋` },
181
+ payload: { type: 1, content: `你好!我是 ${greetName},已上线 👋` },
224
182
  }),
225
183
  signal: AbortSignal.timeout(10000),
226
184
  });
@@ -241,7 +199,7 @@ export async function runQuickstart(opts) {
241
199
  }
242
200
  console.log();
243
201
  for (const bot of successful) {
244
- console.log(` ✅ ${bot.agentId} → ${bot.robotId}`);
202
+ console.log(` ✅ ${bot.agentId} → ${bot.name} (${bot.robotId})`);
245
203
  }
246
204
  for (const bot of failed) {
247
205
  console.log(` ❌ ${bot.agentId} → ${bot.error}`);
@@ -1 +1 @@
1
- {"version":3,"file":"quickstart.js","sourceRoot":"","sources":["../../cli/quickstart.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"quickstart.js","sourceRoot":"","sources":["../../cli/quickstart.ts"],"names":[],"mappings":"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"}
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openclaw-channel-dmwork",
3
- "version": "0.6.0-dev.0079778d",
3
+ "version": "0.6.0-dev.0280c334",
4
4
  "description": "DMWork channel plugin for OpenClaw via WuKongIM WebSocket",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -1 +1 @@
1
- export declare const PLUGIN_VERSION = "0.6.0-dev.0079778d";
1
+ export declare const PLUGIN_VERSION = "0.6.0-dev.0280c334";
@@ -1,3 +1,3 @@
1
1
  // Auto-generated by prebuild script. Do not edit manually.
2
- export const PLUGIN_VERSION = "0.6.0-dev.0079778d";
2
+ export const PLUGIN_VERSION = "0.6.0-dev.0280c334";
3
3
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openclaw-channel-dmwork",
3
- "version": "0.6.0-dev.0079778d",
3
+ "version": "0.6.0-dev.0280c334",
4
4
  "description": "DMWork channel plugin for OpenClaw via WuKongIM WebSocket",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -27,7 +27,8 @@ curl -X POST <apiUrl>/v1/bot/register \
27
27
  Response:
28
28
  ```json
29
29
  {
30
- "robot_id": "xxx_bot",
30
+ "robot_id": "27ba6or9NU_bot",
31
+ "name": "My Bot",
31
32
  "im_token": "xxxxxx",
32
33
  "ws_url": "<wsUrl>",
33
34
  "api_url": "<apiUrl>",
@@ -59,42 +60,25 @@ After registering, send a greeting to your owner (DM to owner_uid) to confirm yo
59
60
 
60
61
  ### Method A: OpenClaw Plugin (Recommended — Real-time)
61
62
 
62
- Install the pre-built adapter as an OpenClaw extension for instant message delivery, real-time online status, and auto-reconnect.
63
+ Install the pre-built adapter for instant message delivery, real-time online status, and auto-reconnect.
63
64
 
65
+ **Install plugin:**
64
66
  ```bash
65
- # Install via npm (recommended)
66
- openclaw plugins install openclaw-channel-dmwork
67
+ npx -y openclaw-channel-dmwork install
67
68
  ```
68
69
 
69
- Configure in `~/.openclaw/openclaw.json`:
70
-
71
- ```json
72
- {
73
- "channels": {
74
- "dmwork": {
75
- "botToken": "YOUR_BOT_TOKEN",
76
- "apiUrl": "<apiUrl>"
77
- }
78
- }
79
- }
70
+ **Single bot — bind to agent:**
71
+ ```bash
72
+ npx -y openclaw-channel-dmwork bind --bot-token YOUR_BOT_TOKEN --api-url <apiUrl> --account-id <robot_id> --agent <agent_id>
80
73
  ```
81
74
 
82
- Multiple bots on one Gateway (multi-account):
83
-
84
- ```json
85
- {
86
- "channels": {
87
- "dmwork": {
88
- "apiUrl": "<apiUrl>",
89
- "accounts": {
90
- "bot-a": { "botToken": "TOKEN_A" },
91
- "bot-b": { "botToken": "TOKEN_B" }
92
- }
93
- }
94
- }
95
- }
75
+ **All agents one-click setup:**
76
+ ```bash
77
+ npx -y openclaw-channel-dmwork quickstart --api-key uk_YOUR_KEY --api-url <apiUrl>
96
78
  ```
97
79
 
80
+ The CLI automatically writes `~/.openclaw/openclaw.json` config and agent bindings. No manual config editing needed.
81
+
98
82
  ### Multi-Agent Setup Guide
99
83
 
100
84
  When one owner creates multiple bots (e.g. via BotFather /newbot), each bot can be connected to a separate AI Agent. Each bot gets its own accountId in the OpenClaw config with independent settings.
@@ -920,13 +904,10 @@ Each API Key is bound to a specific Space. When you run /quickstart in a Space,
920
904
 
921
905
  ### Quickstart Flow
922
906
 
923
- 1. Get your User API Key from BotFather /quickstart command (key is bound to your current Space)
924
- 2. Create a bot via POST /v1/user/bots
925
- 3. Get the bot_token from the response
926
- 4. Register the bot via POST /v1/bot/register with the bot_token
927
- 5. Configure openclaw.json with the bot_token and apiUrl
928
- 6. Set session.dmScope to "per-account-channel-peer"
929
- 7. Verify the bot is online
907
+ 1. Get your User API Key from BotFather `/quickstart` command (key is bound to your current Space)
908
+ 2. Run `npx -y openclaw-channel-dmwork quickstart --api-key <key> --api-url <apiUrl>`
909
+ 3. The CLI automatically creates bots for all agents, writes config, and sends greetings
910
+ 4. Verify by sending a message to the bot in DMWork
930
911
 
931
912
  ### Endpoints
932
913
 
@@ -944,14 +925,16 @@ Each API Key is bound to a specific Space. When you run /quickstart in a Space,
944
925
  curl -X POST <apiUrl>/v1/user/bots \
945
926
  -H "Authorization: Bearer uk_YOUR_API_KEY" \
946
927
  -H "Content-Type: application/json" \
947
- -d '{"name": "My Bot", "username": "mybot", "description": "A helpful assistant"}'
928
+ -d '{"name": "My Bot", "description": "A helpful assistant"}'
948
929
  ```
949
930
 
931
+ Note: Bot ID (robot_id) is auto-generated by the server. The username field is deprecated and ignored if provided.
932
+
950
933
  Response:
951
934
  ```json
952
935
  {
953
- "robot_id": "mybot_bot",
954
- "username": "mybot_bot",
936
+ "robot_id": "27ba6or9NU_bot",
937
+ "username": "27ba6or9NU_bot",
955
938
  "name": "My Bot",
956
939
  "description": "A helpful assistant",
957
940
  "bot_token": "bf_xxxxxxxx"