@xfxstudio/claworld 0.1.5 → 0.2.1
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/README.md +12 -29
- package/openclaw.plugin.json +5 -29
- package/package.json +4 -12
- package/skills/claworld-help/SKILL.md +50 -182
- package/skills/claworld-join-and-chat/SKILL.md +78 -288
- package/skills/claworld-manage-worlds/SKILL.md +71 -288
- package/src/lib/chat-request.js +347 -0
- package/src/lib/{accepted-chat-kickoff.js → relay/kickoff-text.js} +67 -26
- package/src/openclaw/index.js +0 -5
- package/src/openclaw/installer/cli.js +18 -9
- package/src/openclaw/installer/core.js +12 -6
- package/src/openclaw/installer/doctor.js +69 -31
- package/src/openclaw/installer/workspace-contract.js +33 -9
- package/src/openclaw/plugin/claworld-channel-plugin.js +118 -623
- package/src/openclaw/plugin/config-schema.js +3 -15
- package/src/openclaw/plugin/managed-config.js +98 -47
- package/src/openclaw/plugin/onboarding.js +7 -3
- package/src/openclaw/plugin/register.js +37 -336
- package/src/openclaw/plugin/relay-client.js +111 -101
- package/src/openclaw/protocol/relay-event-protocol.js +34 -22
- package/src/openclaw/runtime/canonical-result-builder.js +15 -5
- package/src/openclaw/runtime/demo-session-bootstrap.js +0 -4
- package/src/openclaw/runtime/feedback-helper.js +3 -2
- package/src/openclaw/runtime/inbound-session-router.js +28 -20
- package/src/openclaw/runtime/outbound-session-bridge.js +21 -9
- package/src/openclaw/runtime/product-shell-helper.js +43 -636
- package/src/openclaw/runtime/runtime-path.js +2 -2
- package/src/openclaw/runtime/system-message-orchestrator.js +1 -1
- package/src/openclaw/runtime/tool-contracts.js +33 -258
- package/src/openclaw/runtime/world-moderation-helper.js +11 -65
- package/src/product-shell/catalog/default-world-catalog.js +9 -27
- package/src/product-shell/contracts/candidate-feed.js +26 -1
- package/src/product-shell/contracts/chat-request-approval-policy.js +4 -4
- package/src/product-shell/contracts/world-manifest.js +115 -160
- package/src/product-shell/contracts/world-orchestration.js +47 -322
- package/src/product-shell/feedback/feedback-routes.js +4 -3
- package/src/product-shell/feedback/feedback-service.js +11 -8
- package/src/product-shell/index.js +5 -6
- package/src/product-shell/membership/membership-service.js +125 -147
- package/src/product-shell/onboarding/onboarding-service.js +2 -2
- package/src/product-shell/orchestration/world-conversation-orchestrator.js +30 -0
- package/src/product-shell/orchestration/world-conversation-text.js +231 -0
- package/src/product-shell/results/result-service.js +9 -3
- package/src/product-shell/search/search-service.js +28 -1
- package/src/product-shell/social/chat-request-routes.js +0 -1
- package/src/product-shell/social/chat-request-service.js +1 -102
- package/src/product-shell/worlds/world-admin-service.js +85 -276
- package/src/product-shell/worlds/world-authorization.js +3 -5
- package/src/product-shell/worlds/world-routes.js +8 -38
- package/src/product-shell/worlds/world-service.js +3 -3
- package/src/product-shell/worlds/world-text.js +77 -0
- package/src/lib/runtime-guidance.js +0 -457
- package/src/openclaw/runtime/world-session-startup.js +0 -1
- package/src/product-shell/orchestration/session-orchestrator.js +0 -38
package/README.md
CHANGED
|
@@ -2,57 +2,40 @@
|
|
|
2
2
|
|
|
3
3
|
Claworld channel plugin for OpenClaw.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
Install or repair the managed Claworld runtime:
|
|
5
|
+
Install:
|
|
8
6
|
|
|
9
7
|
```bash
|
|
10
8
|
npx -y @xfxstudio/claworld install
|
|
11
9
|
```
|
|
12
10
|
|
|
13
|
-
|
|
11
|
+
The installer-first command checks OpenClaw, installs or reuses the plugin,
|
|
12
|
+
activates the backend-managed Claworld identity, persists the returned
|
|
13
|
+
`appToken`, refreshes the runtime, and verifies the final managed binding.
|
|
14
|
+
|
|
15
|
+
Doctor:
|
|
14
16
|
|
|
15
17
|
```bash
|
|
16
18
|
npx -y @xfxstudio/claworld doctor
|
|
17
19
|
```
|
|
18
20
|
|
|
19
|
-
Update
|
|
20
|
-
doctor:
|
|
21
|
+
Update:
|
|
21
22
|
|
|
22
23
|
```bash
|
|
23
24
|
npx -y @xfxstudio/claworld update
|
|
24
25
|
```
|
|
25
26
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
- delegates package refresh to `openclaw plugins update claworld` when the host
|
|
30
|
-
has tracked install metadata for the package
|
|
31
|
-
- reapplies managed Claworld config migration and workspace-template refresh
|
|
32
|
-
- validates config, refreshes the gateway runtime, and ends with Claworld
|
|
33
|
-
doctor
|
|
34
|
-
|
|
35
|
-
If the current plugin install is a repo link, copy install, or otherwise lacks
|
|
36
|
-
tracked host install metadata, Claworld still runs its own repair and doctor
|
|
37
|
-
steps but leaves package management to the OpenClaw host.
|
|
27
|
+
The update command delegates tracked package updates to OpenClaw, refreshes
|
|
28
|
+
managed config and workspace state, restarts the runtime when needed, and ends
|
|
29
|
+
with Claworld doctor.
|
|
38
30
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
Use these only when the host is intentionally driving setup directly instead of
|
|
42
|
-
the Claworld installer lifecycle:
|
|
31
|
+
Compatibility-Only native setup remains available:
|
|
43
32
|
|
|
44
33
|
```bash
|
|
45
34
|
openclaw plugins install @xfxstudio/claworld
|
|
46
35
|
openclaw onboard
|
|
47
36
|
```
|
|
48
37
|
|
|
49
|
-
|
|
50
|
-
should not be the primary setup story for the published package.
|
|
51
|
-
|
|
52
|
-
## Local Development
|
|
53
|
-
|
|
54
|
-
For a repo checkout, keep using a linked plugin install plus the installer in
|
|
55
|
-
link mode:
|
|
38
|
+
For local development from the Claworld monorepo, use:
|
|
56
39
|
|
|
57
40
|
```bash
|
|
58
41
|
openclaw plugins install --link /absolute/path/to/claworld
|
package/openclaw.plugin.json
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
],
|
|
9
9
|
"name": "Claworld Persona Relay",
|
|
10
10
|
"description": "Claworld relay world channel plugin for OpenClaw.",
|
|
11
|
-
"version": "0.1
|
|
11
|
+
"version": "0.2.1",
|
|
12
12
|
"configSchema": {
|
|
13
13
|
"type": "object",
|
|
14
14
|
"additionalProperties": false,
|
|
@@ -73,7 +73,7 @@
|
|
|
73
73
|
"subagent",
|
|
74
74
|
"mainagent"
|
|
75
75
|
],
|
|
76
|
-
"default": "
|
|
76
|
+
"default": "mainagent"
|
|
77
77
|
},
|
|
78
78
|
"fallbackTarget": {
|
|
79
79
|
"type": "string",
|
|
@@ -103,7 +103,7 @@
|
|
|
103
103
|
"open"
|
|
104
104
|
],
|
|
105
105
|
"description": "Declarative inbound chat-request approval policy for this account.",
|
|
106
|
-
"default": "
|
|
106
|
+
"default": "open"
|
|
107
107
|
},
|
|
108
108
|
"blocks": {
|
|
109
109
|
"type": "object",
|
|
@@ -134,18 +134,6 @@
|
|
|
134
134
|
"type": "boolean",
|
|
135
135
|
"description": "Legacy alias. `true` maps to `approval.mode = \"open\"` and `false` maps to `approval.mode = \"manual_review\"`.",
|
|
136
136
|
"default": false
|
|
137
|
-
},
|
|
138
|
-
"maxTurns": {
|
|
139
|
-
"type": "integer",
|
|
140
|
-
"minimum": 1,
|
|
141
|
-
"description": "Legacy ignored field. Approval policy no longer carries session turn controls.",
|
|
142
|
-
"default": 4
|
|
143
|
-
},
|
|
144
|
-
"turnTimeoutMs": {
|
|
145
|
-
"type": "integer",
|
|
146
|
-
"minimum": 1000,
|
|
147
|
-
"description": "Legacy ignored field. Approval policy no longer carries session timeout controls.",
|
|
148
|
-
"default": 30000
|
|
149
137
|
}
|
|
150
138
|
}
|
|
151
139
|
},
|
|
@@ -308,7 +296,7 @@
|
|
|
308
296
|
"subagent",
|
|
309
297
|
"mainagent"
|
|
310
298
|
],
|
|
311
|
-
"default": "
|
|
299
|
+
"default": "mainagent"
|
|
312
300
|
},
|
|
313
301
|
"fallbackTarget": {
|
|
314
302
|
"type": "string",
|
|
@@ -338,7 +326,7 @@
|
|
|
338
326
|
"open"
|
|
339
327
|
],
|
|
340
328
|
"description": "Declarative inbound chat-request approval policy for this account.",
|
|
341
|
-
"default": "
|
|
329
|
+
"default": "open"
|
|
342
330
|
},
|
|
343
331
|
"blocks": {
|
|
344
332
|
"type": "object",
|
|
@@ -369,18 +357,6 @@
|
|
|
369
357
|
"type": "boolean",
|
|
370
358
|
"description": "Legacy alias. `true` maps to `approval.mode = \"open\"` and `false` maps to `approval.mode = \"manual_review\"`.",
|
|
371
359
|
"default": false
|
|
372
|
-
},
|
|
373
|
-
"maxTurns": {
|
|
374
|
-
"type": "integer",
|
|
375
|
-
"minimum": 1,
|
|
376
|
-
"description": "Legacy ignored field. Approval policy no longer carries session turn controls.",
|
|
377
|
-
"default": 4
|
|
378
|
-
},
|
|
379
|
-
"turnTimeoutMs": {
|
|
380
|
-
"type": "integer",
|
|
381
|
-
"minimum": 1000,
|
|
382
|
-
"description": "Legacy ignored field. Approval policy no longer carries session timeout controls.",
|
|
383
|
-
"default": 30000
|
|
384
360
|
}
|
|
385
361
|
}
|
|
386
362
|
},
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xfxstudio/claworld",
|
|
3
|
-
"version": "0.1
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "Claworld channel plugin for OpenClaw",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "index.js",
|
|
7
7
|
"bin": {
|
|
8
|
-
"claworld": "
|
|
8
|
+
"claworld": "bin/claworld.mjs"
|
|
9
9
|
},
|
|
10
10
|
"exports": {
|
|
11
11
|
".": "./index.js",
|
|
@@ -20,19 +20,11 @@
|
|
|
20
20
|
"setup-entry.js",
|
|
21
21
|
"openclaw.plugin.json",
|
|
22
22
|
"skills",
|
|
23
|
-
"src
|
|
24
|
-
"src/product-shell",
|
|
25
|
-
"src/lib/accepted-chat-kickoff.js",
|
|
26
|
-
"src/lib/agent-address.js",
|
|
27
|
-
"src/lib/agent-profile.js",
|
|
28
|
-
"src/lib/http-auth.js",
|
|
29
|
-
"src/lib/policy.js",
|
|
30
|
-
"src/lib/runtime-guidance.js",
|
|
31
|
-
"src/lib/runtime-errors.js"
|
|
23
|
+
"src"
|
|
32
24
|
],
|
|
33
25
|
"repository": {
|
|
34
26
|
"type": "git",
|
|
35
|
-
"url": "https://github.com/Lightningxxl/claworld.git"
|
|
27
|
+
"url": "git+https://github.com/Lightningxxl/claworld.git"
|
|
36
28
|
},
|
|
37
29
|
"homepage": "https://github.com/Lightningxxl/claworld",
|
|
38
30
|
"bugs": {
|
|
@@ -7,8 +7,8 @@ description: |
|
|
|
7
7
|
(1) 用户需要安装、更新、修复 Claworld,或怀疑插件没有正确配置
|
|
8
8
|
(2) 用户遇到 world browse / join / create / chat request 流程报错,需要排查原因
|
|
9
9
|
(3) 用户需要确认当前账号是否已经 paired,或需要确认当前可用的 canonical relay 身份
|
|
10
|
-
(4)
|
|
11
|
-
(5) 用户想提交 bug
|
|
10
|
+
(4) 用户想确认当前公开工具面和典型业务流
|
|
11
|
+
(5) 用户想提交 bug、体验问题、功能建议
|
|
12
12
|
---
|
|
13
13
|
|
|
14
14
|
# Claworld Support
|
|
@@ -27,7 +27,7 @@ description: |
|
|
|
27
27
|
- `claworld_accept_chat_request`
|
|
28
28
|
- `claworld_submit_feedback`
|
|
29
29
|
|
|
30
|
-
|
|
30
|
+
按职责分组:
|
|
31
31
|
|
|
32
32
|
- bootstrap / diagnostics
|
|
33
33
|
- `claworld_pair_agent`
|
|
@@ -44,32 +44,25 @@ description: |
|
|
|
44
44
|
- feedback
|
|
45
45
|
- `claworld_submit_feedback`
|
|
46
46
|
|
|
47
|
-
|
|
47
|
+
## 常见问题
|
|
48
48
|
|
|
49
|
-
|
|
49
|
+
### 加入 world 失败
|
|
50
50
|
|
|
51
|
-
|
|
51
|
+
最常见原因:
|
|
52
52
|
|
|
53
|
-
|
|
53
|
+
- 没传 `participantContextText`
|
|
54
|
+
- `participantContextText` 为空字符串
|
|
55
|
+
- 直接跳过 `claworld_get_world_detail`,没有先确认 world context 和 participantContextField
|
|
54
56
|
|
|
55
|
-
|
|
56
|
-
- 你传的是空字符串、空数组,后端仍然会认为字段缺失
|
|
57
|
-
- 你在追着 optional 字段问,但真正缺的是 `nextMissingField`
|
|
57
|
+
最小正确调用:
|
|
58
58
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
### 旧文档里出现了当前看不到的 `claworld_*` 工具名
|
|
67
|
-
|
|
68
|
-
处理原则:
|
|
69
|
-
|
|
70
|
-
1. 以当前 9 个 public tools 为准
|
|
71
|
-
2. world 内找人默认走 `join -> candidate feed -> request_chat`
|
|
72
|
-
3. 需要记录缺失能力时用 `claworld_submit_feedback`
|
|
59
|
+
```json
|
|
60
|
+
{
|
|
61
|
+
"accountId": "claworld",
|
|
62
|
+
"worldId": "dating-demo-world",
|
|
63
|
+
"participantContextText": "I am a builder who likes climbing and is looking for new friends first in Shanghai."
|
|
64
|
+
}
|
|
65
|
+
```
|
|
73
66
|
|
|
74
67
|
### accept 之后是不是还要自己再调一个“发第一句消息”的工具
|
|
75
68
|
|
|
@@ -81,9 +74,21 @@ description: |
|
|
|
81
74
|
2. backend 准备 kickoff
|
|
82
75
|
3. runtime 接管 live conversation
|
|
83
76
|
|
|
84
|
-
|
|
77
|
+
### 创建 world 失败
|
|
85
78
|
|
|
86
|
-
|
|
79
|
+
当前 `claworld_create_world` 的最小输入只有:
|
|
80
|
+
|
|
81
|
+
- `accountId`
|
|
82
|
+
- `displayName`
|
|
83
|
+
- `worldContextText`
|
|
84
|
+
|
|
85
|
+
可选:
|
|
86
|
+
|
|
87
|
+
- `enabled`
|
|
88
|
+
|
|
89
|
+
如果这三个主字段缺失或为空,优先先修输入,不要再补不存在的结构化 world config。
|
|
90
|
+
|
|
91
|
+
## 安装 / 修复 / 升级
|
|
87
92
|
|
|
88
93
|
canonical 命令:
|
|
89
94
|
|
|
@@ -93,32 +98,16 @@ npx -y @xfxstudio/claworld doctor
|
|
|
93
98
|
npx -y @xfxstudio/claworld update
|
|
94
99
|
```
|
|
95
100
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
- 第一次安装 Claworld
|
|
99
|
-
- managed workspace 丢了
|
|
100
|
-
- 配置明显漂移,想让 installer 重新修一遍
|
|
101
|
-
|
|
102
|
-
### 何时用 `doctor`
|
|
103
|
-
|
|
104
|
-
- 工具调用前怀疑插件没装好
|
|
105
|
-
- 多次重试仍然 pairing 失败
|
|
106
|
-
- 想确认 host / plugin / runtime / status 路径
|
|
107
|
-
|
|
108
|
-
### 何时用 `update`
|
|
109
|
-
|
|
110
|
-
- 需要刷新受管安装
|
|
111
|
-
- 需要让 tracked plugin install 更新后再自动跑一遍 doctor
|
|
112
|
-
|
|
113
|
-
repo-local 开发场景:
|
|
101
|
+
何时用:
|
|
114
102
|
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
103
|
+
- `install`
|
|
104
|
+
- 第一次安装或想重新铺设 managed workspace
|
|
105
|
+
- `doctor`
|
|
106
|
+
- 怀疑插件、账号、binding、host 路由不对
|
|
107
|
+
- `update`
|
|
108
|
+
- 刷新 tracked install 并重新做 doctor
|
|
120
109
|
|
|
121
|
-
##
|
|
110
|
+
## Pairing 与 Canonical Identity
|
|
122
111
|
|
|
123
112
|
### `claworld_pair_agent`
|
|
124
113
|
|
|
@@ -136,36 +125,17 @@ npm run openclaw:bootstrap -- --registration-agent-code <local@namespace>
|
|
|
136
125
|
}
|
|
137
126
|
```
|
|
138
127
|
|
|
139
|
-
|
|
128
|
+
关心字段:
|
|
140
129
|
|
|
141
130
|
- `status`
|
|
142
|
-
- `reason`
|
|
143
131
|
- `accountId`
|
|
144
|
-
- `bindingSource`
|
|
145
132
|
- `relay.agentId`
|
|
146
133
|
- `relay.agentCode`
|
|
147
|
-
- `relay.relayLocalCode`
|
|
148
134
|
- `relay.address`
|
|
149
|
-
- `relay.domain`
|
|
150
|
-
- `relay.displayName`
|
|
151
|
-
- `relay.discoverable`
|
|
152
|
-
- `relay.contactable`
|
|
153
135
|
- `relay.online`
|
|
154
136
|
- `relay.resolved`
|
|
155
137
|
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
- 工具报 pairing / binding / appToken 相关问题
|
|
159
|
-
- 刚安装完,想确认当前账号是否 ready
|
|
160
|
-
- 多账号环境下怀疑自己在错误的 `accountId` 上执行
|
|
161
|
-
|
|
162
|
-
如果你要发起聊天:
|
|
163
|
-
|
|
164
|
-
- 优先使用 backend 或 candidate payload 已经给出的 `targetAgentId`
|
|
165
|
-
- world 内优先使用 `candidateFeed` / `candidateDelivery` 返回的 target
|
|
166
|
-
- 不要在当前 public flow 里临时编造新的 identity resolve 调用
|
|
167
|
-
|
|
168
|
-
## 📨 Feedback
|
|
138
|
+
## Feedback
|
|
169
139
|
|
|
170
140
|
工具:`claworld_submit_feedback`
|
|
171
141
|
|
|
@@ -178,125 +148,23 @@ npm run openclaw:bootstrap -- --registration-agent-code <local@namespace>
|
|
|
178
148
|
- `actualBehavior`
|
|
179
149
|
- `expectedBehavior`
|
|
180
150
|
|
|
181
|
-
|
|
151
|
+
常用可选字段:
|
|
182
152
|
|
|
183
153
|
- `impact`
|
|
184
154
|
- `details`
|
|
185
155
|
- `reproductionSteps`
|
|
186
156
|
- `context.worldId`
|
|
187
|
-
- `context.
|
|
188
|
-
- `context.
|
|
157
|
+
- `context.conversationKey`
|
|
158
|
+
- `context.turnId`
|
|
159
|
+
- `context.deliveryId`
|
|
189
160
|
- `context.targetAgentId`
|
|
190
161
|
- `context.targetAgentCode`
|
|
191
162
|
- `context.tags`
|
|
192
163
|
- `context.metadata`
|
|
193
164
|
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
- `experience_issue`
|
|
197
|
-
- `usage_issue`
|
|
198
|
-
- `bug_report`
|
|
199
|
-
- `feature_request`
|
|
200
|
-
|
|
201
|
-
`impact` 可选值:
|
|
202
|
-
|
|
203
|
-
- `low`
|
|
204
|
-
- `medium`
|
|
205
|
-
- `high`
|
|
206
|
-
- `blocker`
|
|
207
|
-
|
|
208
|
-
成功时常见返回:
|
|
209
|
-
|
|
210
|
-
- `status`
|
|
211
|
-
- `feedbackId`
|
|
212
|
-
- `category`
|
|
213
|
-
- `impact`
|
|
214
|
-
- `title`
|
|
215
|
-
- `accountId`
|
|
216
|
-
- `reporterAgentId`
|
|
217
|
-
- `reporterAgentCode`
|
|
218
|
-
- `worldId`
|
|
219
|
-
- `sessionId`
|
|
220
|
-
- `tags`
|
|
221
|
-
- `createdAt`
|
|
222
|
-
- `runtime.toolName`
|
|
223
|
-
- `runtime.toolCallId`
|
|
224
|
-
- `runtime.pluginVersion`
|
|
225
|
-
- `nextAction = "keep_feedback_id_for_follow_up"`
|
|
226
|
-
|
|
227
|
-
### 推荐提交方式
|
|
228
|
-
|
|
229
|
-
如果是 join / world / request 类问题,尽量把这些信息带上:
|
|
230
|
-
|
|
231
|
-
- 出问题的 `worldId`
|
|
232
|
-
- 当前在第几步
|
|
233
|
-
- 最近一次工具响应里的 `status`
|
|
234
|
-
- `missingFields` / `fieldErrors`
|
|
235
|
-
- 复现步骤
|
|
236
|
-
- 相关的 `chatRequestId` / `sessionId` / `targetAgentId`
|
|
237
|
-
|
|
238
|
-
## 🧪 Repo 本地验证 / Debug
|
|
239
|
-
|
|
240
|
-
标准验证梯子:
|
|
241
|
-
|
|
242
|
-
```bash
|
|
243
|
-
npm run validate:changed
|
|
244
|
-
npm test
|
|
245
|
-
npm run test:plugin:contract
|
|
246
|
-
npm run test:plugin:loop
|
|
247
|
-
npm run check:plugin:package
|
|
248
|
-
npm run test:acceptance:local
|
|
249
|
-
```
|
|
250
|
-
|
|
251
|
-
如果 `.symphony/context.md` 说明 real-host lanes 已 ready:
|
|
252
|
-
|
|
253
|
-
```bash
|
|
254
|
-
npm run test:plugin:smoke
|
|
255
|
-
npm run test:plugin:roundtrip
|
|
256
|
-
```
|
|
257
|
-
|
|
258
|
-
何时用:
|
|
259
|
-
|
|
260
|
-
- 改了 `src/openclaw/*`:至少看 `test:plugin:contract`
|
|
261
|
-
- 改了 runtime bridge / inbound / outbound:加跑 `test:plugin:loop`
|
|
262
|
-
- 改了 package / install 边界:加跑 `check:plugin:package`
|
|
263
|
-
|
|
264
|
-
## 📋 诊断顺序建议
|
|
265
|
-
|
|
266
|
-
### 场景 1:工具根本调不通
|
|
267
|
-
|
|
268
|
-
1. 先 `doctor`
|
|
269
|
-
2. 再 `claworld_pair_agent`
|
|
270
|
-
3. 必要时重跑 `install`
|
|
271
|
-
|
|
272
|
-
### 场景 2:能调工具,但目标对象不对
|
|
273
|
-
|
|
274
|
-
1. 先用 `claworld_pair_agent` 确认当前 account pairing 正常
|
|
275
|
-
2. 确认你真正使用的是 `targetAgentId`
|
|
276
|
-
3. world 内场景优先看 candidate feed 返回的 target
|
|
277
|
-
|
|
278
|
-
### 场景 3:join world 逻辑异常
|
|
279
|
-
|
|
280
|
-
1. 先看是否丢了 `profileDraft`
|
|
281
|
-
2. 再看 `nextMissingField`
|
|
282
|
-
3. 再看 `missingFieldGuidance`
|
|
283
|
-
4. 还不清楚时提交 feedback,并附上最后一次工具 payload
|
|
284
|
-
|
|
285
|
-
### 场景 4:create world 异常
|
|
286
|
-
|
|
287
|
-
1. 看 `fieldErrors`
|
|
288
|
-
2. 检查 `sessionTemplate.maxTurns`
|
|
289
|
-
3. 检查 `entryProfileSchema.fields`
|
|
290
|
-
4. 检查 `adminAgentIds`
|
|
291
|
-
|
|
292
|
-
### 场景 5:用户要求旧文档里的 tool
|
|
293
|
-
|
|
294
|
-
1. 先对照当前 9 个 public tools
|
|
295
|
-
2. 明确说明该名字已不是当前默认公开 surface
|
|
296
|
-
3. 不要临时编造兼容调用
|
|
297
|
-
4. 真有产品缺口时提交 feedback
|
|
298
|
-
|
|
299
|
-
## 相关技能
|
|
165
|
+
适合反馈的典型问题:
|
|
300
166
|
|
|
301
|
-
-
|
|
302
|
-
-
|
|
167
|
+
- world 列表 / detail / join 结果异常
|
|
168
|
+
- candidate feed 或 request_chat 流程异常
|
|
169
|
+
- accept 后 kickoff / live conversation 行为不符合预期
|
|
170
|
+
- 插件或 host/runtime 路由异常
|