@agent-wechat/agent-wechat 0.16.0 → 1.0.0-beta.10

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 (4) hide show
  1. package/README.md +114 -144
  2. package/dist/index.js +3121 -7106
  3. package/openclaw.plugin.json +241 -16
  4. package/package.json +110 -18
@@ -1,5 +1,15 @@
1
1
  {
2
2
  "id": "agent-wechat",
3
+ "contracts": {
4
+ "tools": ["wechat_history", "wechat_search", "wechat_message", "wechat_media", "wechat_archive_threads", "wechat_archive_search", "wechat_archive_history", "wechat_archive_message", "wechat_archive_media", "wechat_recall"]
5
+ },
6
+ "toolMetadata": {
7
+ "wechat_archive_threads": { "optional": true },
8
+ "wechat_archive_search": { "optional": true },
9
+ "wechat_archive_history": { "optional": true },
10
+ "wechat_archive_message": { "optional": true },
11
+ "wechat_archive_media": { "optional": true }
12
+ },
3
13
  "legacyPluginIds": [
4
14
  "wechat"
5
15
  ],
@@ -9,12 +19,119 @@
9
19
  "configSchema": {
10
20
  "type": "object",
11
21
  "additionalProperties": false,
12
- "properties": {}
22
+ "properties": {
23
+ "backend": {
24
+ "type": "string",
25
+ "enum": [
26
+ "native"
27
+ ]
28
+ },
29
+ "native": {
30
+ "type": "object",
31
+ "additionalProperties": false,
32
+ "required": [
33
+ "mode",
34
+ "accountId",
35
+ "token",
36
+ "consumerStateDir"
37
+ ],
38
+ "properties": {
39
+ "mode": {
40
+ "type": "string",
41
+ "enum": [
42
+ "managed",
43
+ "external"
44
+ ]
45
+ },
46
+ "accountId": {
47
+ "type": "string",
48
+ "minLength": 1
49
+ },
50
+ "endpoint": {
51
+ "type": "string"
52
+ },
53
+ "executable": {
54
+ "type": "string"
55
+ },
56
+ "serverConfig": {
57
+ "type": "string"
58
+ },
59
+ "dataDir": {
60
+ "type": "string"
61
+ },
62
+ "listen": {
63
+ "type": "string"
64
+ },
65
+ "token": {
66
+ "anyOf": [
67
+ {
68
+ "type": "string",
69
+ "minLength": 1
70
+ },
71
+ {
72
+ "type": "object",
73
+ "additionalProperties": false,
74
+ "required": [
75
+ "source",
76
+ "provider",
77
+ "id"
78
+ ],
79
+ "properties": {
80
+ "source": {
81
+ "type": "string",
82
+ "enum": [
83
+ "env",
84
+ "file",
85
+ "exec",
86
+ "store"
87
+ ]
88
+ },
89
+ "provider": {
90
+ "type": "string",
91
+ "pattern": "^[a-z][a-z0-9_-]{0,63}$"
92
+ },
93
+ "id": {
94
+ "type": "string",
95
+ "minLength": 1
96
+ }
97
+ }
98
+ }
99
+ ]
100
+ },
101
+ "consumerStateDir": {
102
+ "type": "string"
103
+ },
104
+ "readPolicy": {
105
+ "type": "string",
106
+ "enum": [
107
+ "never",
108
+ "on_inbound",
109
+ "on_model_dispatch"
110
+ ]
111
+ },
112
+ "gatewayFacade": {
113
+ "type": "object",
114
+ "additionalProperties": false,
115
+ "required": [
116
+ "enabled"
117
+ ],
118
+ "properties": {
119
+ "enabled": {
120
+ "type": "boolean"
121
+ },
122
+ "prefix": {
123
+ "type": "string"
124
+ }
125
+ }
126
+ }
127
+ }
128
+ }
129
+ }
13
130
  },
14
131
  "channelConfigs": {
15
132
  "agent-wechat": {
16
133
  "label": "WeChat",
17
- "description": "WeChat messaging via agent-wechat container.",
134
+ "description": "WeChat messaging through the standalone native daemon.",
18
135
  "schema": {
19
136
  "type": "object",
20
137
  "additionalProperties": false,
@@ -22,12 +139,6 @@
22
139
  "enabled": {
23
140
  "type": "boolean"
24
141
  },
25
- "serverUrl": {
26
- "type": "string"
27
- },
28
- "token": {
29
- "type": "string"
30
- },
31
142
  "dmPolicy": {
32
143
  "type": "string",
33
144
  "enum": [
@@ -84,21 +195,135 @@
84
195
  }
85
196
  }
86
197
  },
87
- "pollIntervalMs": {
88
- "type": "integer",
89
- "minimum": 100
90
- },
91
- "authPollIntervalMs": {
92
- "type": "integer",
93
- "minimum": 1000
94
- },
95
198
  "mediaMaxMb": {
96
199
  "type": "integer",
97
200
  "minimum": 1,
98
201
  "maximum": 1024
202
+ },
203
+ "backend": {
204
+ "type": "string",
205
+ "enum": [
206
+ "native"
207
+ ]
208
+ },
209
+ "native": {
210
+ "type": "object",
211
+ "additionalProperties": false,
212
+ "required": [
213
+ "mode",
214
+ "accountId",
215
+ "token",
216
+ "consumerStateDir"
217
+ ],
218
+ "properties": {
219
+ "mode": {
220
+ "type": "string",
221
+ "enum": [
222
+ "managed",
223
+ "external"
224
+ ]
225
+ },
226
+ "accountId": {
227
+ "type": "string",
228
+ "minLength": 1
229
+ },
230
+ "endpoint": {
231
+ "type": "string"
232
+ },
233
+ "executable": {
234
+ "type": "string"
235
+ },
236
+ "serverConfig": {
237
+ "type": "string"
238
+ },
239
+ "dataDir": {
240
+ "type": "string"
241
+ },
242
+ "listen": {
243
+ "type": "string"
244
+ },
245
+ "token": {
246
+ "anyOf": [
247
+ {
248
+ "type": "string",
249
+ "minLength": 1
250
+ },
251
+ {
252
+ "type": "object",
253
+ "additionalProperties": false,
254
+ "required": [
255
+ "source",
256
+ "provider",
257
+ "id"
258
+ ],
259
+ "properties": {
260
+ "source": {
261
+ "type": "string",
262
+ "enum": [
263
+ "env",
264
+ "file",
265
+ "exec",
266
+ "store"
267
+ ]
268
+ },
269
+ "provider": {
270
+ "type": "string",
271
+ "pattern": "^[a-z][a-z0-9_-]{0,63}$"
272
+ },
273
+ "id": {
274
+ "type": "string",
275
+ "minLength": 1
276
+ }
277
+ }
278
+ }
279
+ ]
280
+ },
281
+ "consumerStateDir": {
282
+ "type": "string"
283
+ },
284
+ "readPolicy": {
285
+ "type": "string",
286
+ "enum": [
287
+ "never",
288
+ "on_inbound",
289
+ "on_model_dispatch"
290
+ ]
291
+ },
292
+ "gatewayFacade": {
293
+ "type": "object",
294
+ "additionalProperties": false,
295
+ "required": [
296
+ "enabled"
297
+ ],
298
+ "properties": {
299
+ "enabled": {
300
+ "type": "boolean"
301
+ },
302
+ "prefix": {
303
+ "type": "string"
304
+ }
305
+ }
306
+ }
307
+ }
99
308
  }
100
309
  }
101
310
  }
102
311
  }
312
+ },
313
+ "configContracts": {
314
+ "secretInputs": {
315
+ "paths": [
316
+ {
317
+ "path": "native.token",
318
+ "expected": "string",
319
+ "ownerKind": "capability"
320
+ }
321
+ ]
322
+ }
323
+ },
324
+ "uiHints": {
325
+ "native.token": {
326
+ "sensitive": true
327
+ }
103
328
  }
104
329
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-wechat/agent-wechat",
3
- "version": "0.16.0",
3
+ "version": "1.0.0-beta.10",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist",
@@ -9,9 +9,9 @@
9
9
  "devDependencies": {
10
10
  "@types/node": "^22",
11
11
  "esbuild": "^0.25.0",
12
- "openclaw": "^2026.10.2",
12
+ "openclaw": "2026.10.2",
13
13
  "typescript": "^5.4.5",
14
- "@agent-wechat/shared": "0.3.1"
14
+ "@agent-wechat/shared": "1.0.0-beta.1"
15
15
  },
16
16
  "openclaw": {
17
17
  "extensions": [
@@ -29,7 +29,7 @@
29
29
  "channelConfigs": {
30
30
  "agent-wechat": {
31
31
  "label": "WeChat",
32
- "description": "WeChat messaging via agent-wechat container.",
32
+ "description": "WeChat messaging through the standalone native daemon.",
33
33
  "schema": {
34
34
  "type": "object",
35
35
  "additionalProperties": false,
@@ -37,12 +37,6 @@
37
37
  "enabled": {
38
38
  "type": "boolean"
39
39
  },
40
- "serverUrl": {
41
- "type": "string"
42
- },
43
- "token": {
44
- "type": "string"
45
- },
46
40
  "dmPolicy": {
47
41
  "type": "string",
48
42
  "enum": [
@@ -99,18 +93,116 @@
99
93
  }
100
94
  }
101
95
  },
102
- "pollIntervalMs": {
103
- "type": "integer",
104
- "minimum": 100
105
- },
106
- "authPollIntervalMs": {
107
- "type": "integer",
108
- "minimum": 1000
109
- },
110
96
  "mediaMaxMb": {
111
97
  "type": "integer",
112
98
  "minimum": 1,
113
99
  "maximum": 1024
100
+ },
101
+ "backend": {
102
+ "type": "string",
103
+ "enum": [
104
+ "native"
105
+ ]
106
+ },
107
+ "native": {
108
+ "type": "object",
109
+ "additionalProperties": false,
110
+ "required": [
111
+ "mode",
112
+ "accountId",
113
+ "token",
114
+ "consumerStateDir"
115
+ ],
116
+ "properties": {
117
+ "mode": {
118
+ "type": "string",
119
+ "enum": [
120
+ "managed",
121
+ "external"
122
+ ]
123
+ },
124
+ "accountId": {
125
+ "type": "string",
126
+ "minLength": 1
127
+ },
128
+ "endpoint": {
129
+ "type": "string"
130
+ },
131
+ "executable": {
132
+ "type": "string"
133
+ },
134
+ "serverConfig": {
135
+ "type": "string"
136
+ },
137
+ "dataDir": {
138
+ "type": "string"
139
+ },
140
+ "listen": {
141
+ "type": "string"
142
+ },
143
+ "token": {
144
+ "anyOf": [
145
+ {
146
+ "type": "string",
147
+ "minLength": 1
148
+ },
149
+ {
150
+ "type": "object",
151
+ "additionalProperties": false,
152
+ "required": [
153
+ "source",
154
+ "provider",
155
+ "id"
156
+ ],
157
+ "properties": {
158
+ "source": {
159
+ "type": "string",
160
+ "enum": [
161
+ "env",
162
+ "file",
163
+ "exec",
164
+ "store"
165
+ ]
166
+ },
167
+ "provider": {
168
+ "type": "string",
169
+ "pattern": "^[a-z][a-z0-9_-]{0,63}$"
170
+ },
171
+ "id": {
172
+ "type": "string",
173
+ "minLength": 1
174
+ }
175
+ }
176
+ }
177
+ ]
178
+ },
179
+ "consumerStateDir": {
180
+ "type": "string"
181
+ },
182
+ "readPolicy": {
183
+ "type": "string",
184
+ "enum": [
185
+ "never",
186
+ "on_inbound",
187
+ "on_model_dispatch"
188
+ ]
189
+ },
190
+ "gatewayFacade": {
191
+ "type": "object",
192
+ "additionalProperties": false,
193
+ "required": [
194
+ "enabled"
195
+ ],
196
+ "properties": {
197
+ "enabled": {
198
+ "type": "boolean"
199
+ },
200
+ "prefix": {
201
+ "type": "string"
202
+ }
203
+ }
204
+ }
205
+ }
114
206
  }
115
207
  }
116
208
  }