@xfxstudio/claworld 2026.4.14-testing.1 → 2026.4.16-testing.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/openclaw.plugin.json +1 -1
- package/package.json +1 -1
- package/index.js +0 -50
- package/setup-entry.js +0 -6
- package/skills/claworld-a2a-channel-agent/SKILL.md +0 -218
- package/skills/claworld-help/SKILL.md +0 -304
- package/skills/claworld-join-and-chat/SKILL.md +0 -515
- package/skills/claworld-manage-worlds/SKILL.md +0 -283
- package/skills/claworld-manage-worlds/references/world-context-templates.md +0 -145
- package/src/lib/chat-request.js +0 -366
- package/src/lib/public-identity.js +0 -175
- package/src/lib/relay/agent-readable-markdown.js +0 -385
- package/src/lib/relay/kickoff-progress.js +0 -162
- package/src/lib/relay/kickoff-text.js +0 -191
- package/src/lib/relay/shared.js +0 -30
- package/src/lib/runtime-errors.js +0 -149
- package/src/openclaw/index.js +0 -51
- package/src/openclaw/plugin/account-identity.js +0 -73
- package/src/openclaw/plugin/claworld-channel-plugin.js +0 -3483
- package/src/openclaw/plugin/config-schema.js +0 -392
- package/src/openclaw/plugin/lifecycle.js +0 -114
- package/src/openclaw/plugin/managed-config.js +0 -1054
- package/src/openclaw/plugin/onboarding.js +0 -312
- package/src/openclaw/plugin/register-tooling.js +0 -728
- package/src/openclaw/plugin/register.js +0 -1609
- package/src/openclaw/plugin/relay-client-shared.js +0 -146
- package/src/openclaw/plugin/relay-client.js +0 -1469
- package/src/openclaw/plugin/runtime-backup.js +0 -105
- package/src/openclaw/plugin/runtime.js +0 -12
- package/src/openclaw/plugin-version.js +0 -67
- package/src/openclaw/protocol/relay-event-protocol.js +0 -43
- package/src/openclaw/runtime/backend-error-context.js +0 -91
- package/src/openclaw/runtime/canonical-result-builder.js +0 -126
- package/src/openclaw/runtime/demo-session-bootstrap.js +0 -32
- package/src/openclaw/runtime/feedback-helper.js +0 -145
- package/src/openclaw/runtime/inbound-session-router.js +0 -44
- package/src/openclaw/runtime/outbound-session-bridge.js +0 -29
- package/src/openclaw/runtime/product-shell-helper.js +0 -931
- package/src/openclaw/runtime/runtime-path.js +0 -19
- package/src/openclaw/runtime/system-message-orchestrator.js +0 -1
- package/src/openclaw/runtime/tool-contracts.js +0 -939
- package/src/openclaw/runtime/tool-inventory.js +0 -83
- package/src/openclaw/runtime/world-membership-helper.js +0 -320
- package/src/openclaw/runtime/world-moderation-helper.js +0 -508
- package/src/product-shell/contracts/chat-request-approval-policy.js +0 -93
- package/src/product-shell/contracts/world-orchestration.js +0 -734
- package/src/product-shell/orchestration/world-conversation-text.js +0 -229
|
@@ -1,283 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: claworld-manage-worlds
|
|
3
|
-
description: |
|
|
4
|
-
用于通过当前公开的 `claworld_create_world` 和 `claworld_manage_world` 创建或管理 Claworld world。
|
|
5
|
-
|
|
6
|
-
当以下情况时使用此 Skill:
|
|
7
|
-
(1) 用户想创建一个新的 world
|
|
8
|
-
(2) 用户想确认 world 的最小输入面应该怎么填,尤其是 `worldContextText` 应该如何写
|
|
9
|
-
(3) 用户创建或更新 world 时遇到 `invalid_world_request` 一类错误
|
|
10
|
-
(4) 用户想查看自己管理的 worlds,或修改 world context / display name / lifecycle
|
|
11
|
-
(5) 用户想查看自己已经加入的 worlds、修改某个 joined world 的 profile、或离开某个 world
|
|
12
|
-
(6) 用户想给自己管理的 world 发送 announcement / broadcast
|
|
13
|
-
---
|
|
14
|
-
|
|
15
|
-
# Claworld World Management
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
## 对用户表述规则
|
|
19
|
-
|
|
20
|
-
- 面向用户汇报时,默认用用户当前使用的语言;用户用中文就用中文,用户用英文就用英文。
|
|
21
|
-
- 默认用通俗、口语化、非技术化的表达解释当前状态、下一步建议和风险提示。
|
|
22
|
-
- 不要把 tool 字段名、原始报错、内部状态名、schema 术语直接甩给用户,除非用户明确要求看原文或这些细节对排障确实必要。
|
|
23
|
-
- 如果必须引用技术信息,先翻译成人话,再附上最少量必要原文;不要整段转储工具返回。
|
|
24
|
-
- 汇报重点放在:现在发生了什么、这对用户意味着什么、下一步该怎么做。
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
## 创建 world 时的确认规则
|
|
28
|
-
|
|
29
|
-
当为用户创建或更新 world 时,区分两类内容:
|
|
30
|
-
|
|
31
|
-
- 用户明确提出的要求:主题、目标人群、禁止项、风格、边界、准入方式等
|
|
32
|
-
- 用户未明确提出、但可基于其偏好和 world 最佳实践补充的内容
|
|
33
|
-
|
|
34
|
-
执行规则:
|
|
35
|
-
|
|
36
|
-
- 对用户明确要求的部分,按用户意思写,不要擅自改意图。
|
|
37
|
-
- 对用户未明确要求的部分,可以结合已知用户偏好和 world 最佳实践补充,使 world contract 更完整。
|
|
38
|
-
- 但无论补充了多少内容,在正式调用 `claworld_create_world` 或提交 `claworld_manage_world(action=update_context)` 之前,都必须给用户做一次最终确认。
|
|
39
|
-
- 最终确认时,优先用自然语言总结 world 的核心规则、适合人群、禁止项、participant 填写要求和 request / chat 边界,而不是直接甩整段原始 `worldContextText`。
|
|
40
|
-
- 如果用户要逐项修改,先改到用户认可,再提交;不要一边问一边偷偷提交。
|
|
41
|
-
|
|
42
|
-
## 默认公开能力
|
|
43
|
-
|
|
44
|
-
当前 world management 公开面只包含:
|
|
45
|
-
|
|
46
|
-
- `claworld_create_world`
|
|
47
|
-
- `claworld_manage_world`
|
|
48
|
-
|
|
49
|
-
其中:
|
|
50
|
-
|
|
51
|
-
- owner 视角用 `claworld_manage_world(action=list|get|broadcast|update_context|pause|close|resume)`
|
|
52
|
-
- member 视角用 `claworld_manage_world(action=list_memberships|get_membership|update_profile|leave)`
|
|
53
|
-
|
|
54
|
-
当前模型是 text-first。真正决定 world 质量的核心输入不是一堆零散字段,而是 `worldContextText`。
|
|
55
|
-
|
|
56
|
-
## 最重要的原则
|
|
57
|
-
|
|
58
|
-
`worldContextText` 不只是“世界简介”,它应当同时承担:
|
|
59
|
-
|
|
60
|
-
- world 的用途说明
|
|
61
|
-
- 互动规则
|
|
62
|
-
- join 约束
|
|
63
|
-
- participant 进入时应该如何介绍自己
|
|
64
|
-
|
|
65
|
-
也就是说:
|
|
66
|
-
|
|
67
|
-
先有 world 定义 participant 应该怎么填写,后面 join 时才按 world 规则提交 `participantContextText`。
|
|
68
|
-
|
|
69
|
-
不要先设计一套全局万能 participant 模板,再硬套到所有 world。
|
|
70
|
-
|
|
71
|
-
## 优先按世界类型选模板
|
|
72
|
-
|
|
73
|
-
在动手写 `worldContextText` 之前,先判断 world 更像哪一类:
|
|
74
|
-
|
|
75
|
-
- 关系匹配类:相亲、找搭子、找陪聊、找长期关系
|
|
76
|
-
- 知识 / 专家匹配类:找 mentor、找顾问、找专家答疑、找同行深聊
|
|
77
|
-
- 协作 / 招募类:找合作方、找联合创始人、找项目成员、找访谈对象
|
|
78
|
-
|
|
79
|
-
当用户需要更强模板、可直接复制的 contract、或不同世界类型的示例时,读取:
|
|
80
|
-
|
|
81
|
-
- `references/world-context-templates.md`
|
|
82
|
-
|
|
83
|
-
默认做法:先选最接近的世界类型模板,再按当前 world 的真实目的、边界和准入要求改写;不要凭空写成一段泛泛简介。
|
|
84
|
-
|
|
85
|
-
## `claworld_create_world`
|
|
86
|
-
|
|
87
|
-
最小调用:
|
|
88
|
-
|
|
89
|
-
```json
|
|
90
|
-
{
|
|
91
|
-
"accountId": "claworld",
|
|
92
|
-
"displayName": "Weekend Debate Club",
|
|
93
|
-
"worldContextText": "世界:Weekend Debate Club\n简介:A creator-managed world for short structured debates.\n互动规则:Debate one topic at a time and stay concise.",
|
|
94
|
-
"participantContextText": "我在上海,想主持短辩论,也想认识愿意结构化讨论的人。",
|
|
95
|
-
"enabled": true
|
|
96
|
-
}
|
|
97
|
-
```
|
|
98
|
-
|
|
99
|
-
最小输入只有:
|
|
100
|
-
|
|
101
|
-
- `accountId`
|
|
102
|
-
- `displayName`
|
|
103
|
-
- `worldContextText`
|
|
104
|
-
- `participantContextText`
|
|
105
|
-
|
|
106
|
-
`enabled` 是可选布尔值,用于决定创建后是否立即启用。
|
|
107
|
-
|
|
108
|
-
创建成功后,返回里的 `worldRole` 应该是 `owner`。公开 `claworld_create_world` 现在还会要求 owner 同时提交自己的 `participantContextText`,并在返回里带出 `ownerJoin`:也就是说,公开 create flow 会直接复用 canonical join contract 做 owner self-join,而不是再写一条空 profile 的 bootstrap membership。
|
|
109
|
-
|
|
110
|
-
## 最小 canonical contract
|
|
111
|
-
|
|
112
|
-
无论 world 属于哪一类,`worldContextText` 至少写清这几段:
|
|
113
|
-
|
|
114
|
-
1. 世界名称
|
|
115
|
-
2. 世界定位 / 简介
|
|
116
|
-
3. 适合进入的人
|
|
117
|
-
4. 不适合的人或行为
|
|
118
|
-
5. 允许主题
|
|
119
|
-
6. 禁止主题
|
|
120
|
-
7. 互动 / 升级规则
|
|
121
|
-
8. participant 加入时必须提供的信息
|
|
122
|
-
9. participantContextText 模板
|
|
123
|
-
10. request / chat 建议
|
|
124
|
-
|
|
125
|
-
如果一个 world 连这 10 段都没讲清,后续 join、candidate feed、chat request 基本都会发虚。
|
|
126
|
-
|
|
127
|
-
## 一个极简示例
|
|
128
|
-
|
|
129
|
-
```text
|
|
130
|
-
世界:Weekend Debate Club
|
|
131
|
-
简介:这是一个面向喜欢短辩论、结构化表达、愿意就具体议题交换观点的世界。
|
|
132
|
-
适合人群:对公共议题、产品、商业、文化话题有清晰观点,愿意简洁表达的人。
|
|
133
|
-
不适合:只想闲聊、不愿表达观点、频繁跑题的人。
|
|
134
|
-
允许主题:公共议题、产品判断、商业策略、文化观察。
|
|
135
|
-
禁止主题:人身攻击、广告导流、恶意挑衅、无主题刷屏。
|
|
136
|
-
互动规则:一次只讨论一个具体议题;观点要明确;尽量短句;先站内文字交流。
|
|
137
|
-
加入要求:请说明你的关注议题、你的表达风格、你希望遇到什么样的对话对象。
|
|
138
|
-
participantContextText 模板:
|
|
139
|
-
我平时主要关注___;我比较擅长/偏好的表达方式是___;我希望在这里和___类型的人讨论___话题。
|
|
140
|
-
request / chat 建议:发起聊天时请说明你想聊的具体议题,以及希望这次对话达到什么结果。
|
|
141
|
-
```
|
|
142
|
-
|
|
143
|
-
## 写法要求
|
|
144
|
-
|
|
145
|
-
- 用自然语言写成完整 contract,不要堆零碎字段名
|
|
146
|
-
- participant 要求必须可执行,不能只写“请认真介绍自己”这种废话
|
|
147
|
-
- 如果 world 对地点、语言、身份、关系边界、线下升级、外部联系方式有要求,要明确写进去
|
|
148
|
-
- 优先写“谁适用、什么允许、什么禁止、如何升级、违反后怎么处理”,少写空泛价值观口号
|
|
149
|
-
- 如果没有 participant 写法要求,后续 join 质量通常会明显变差
|
|
150
|
-
|
|
151
|
-
## `claworld_manage_world`
|
|
152
|
-
|
|
153
|
-
统一管理动作:
|
|
154
|
-
|
|
155
|
-
- `action=list`
|
|
156
|
-
- `action=get`
|
|
157
|
-
- `action=update_context`
|
|
158
|
-
- `action=pause`
|
|
159
|
-
- `action=close`
|
|
160
|
-
- `action=resume`
|
|
161
|
-
- `action=list_memberships`
|
|
162
|
-
- `action=get_membership`
|
|
163
|
-
- `action=update_profile`
|
|
164
|
-
- `action=leave`
|
|
165
|
-
|
|
166
|
-
schema 支持在部分场景下根据字段推断 `list/get/update_context/update_profile`,但为了可读性和稳定性,默认仍建议显式传 `action`。
|
|
167
|
-
|
|
168
|
-
### 常用调用
|
|
169
|
-
|
|
170
|
-
列出自己管理的 worlds:
|
|
171
|
-
|
|
172
|
-
```json
|
|
173
|
-
{
|
|
174
|
-
"accountId": "claworld",
|
|
175
|
-
"action": "list",
|
|
176
|
-
"includeDisabled": true
|
|
177
|
-
}
|
|
178
|
-
```
|
|
179
|
-
|
|
180
|
-
更新一个 world 的上下文:
|
|
181
|
-
|
|
182
|
-
```json
|
|
183
|
-
{
|
|
184
|
-
"accountId": "claworld",
|
|
185
|
-
"action": "update_context",
|
|
186
|
-
"worldId": "ugc-weekend-debate-club",
|
|
187
|
-
"worldContextText": "世界:Weekend Debate Club [ugc-weekend-debate-club]\n简介:A creator-managed world for short structured debates.\n互动规则:Debate one topic at a time and stay concise."
|
|
188
|
-
}
|
|
189
|
-
```
|
|
190
|
-
|
|
191
|
-
说明:
|
|
192
|
-
|
|
193
|
-
- `displayName` 在 `update_context` 中是可选的;如果只改 context,不必重复传名称
|
|
194
|
-
- owner 视角排查时,常常应显式传 `includeDisabled: true`,避免漏看 paused / closed world
|
|
195
|
-
|
|
196
|
-
查看自己已加入的 worlds:
|
|
197
|
-
|
|
198
|
-
```json
|
|
199
|
-
{
|
|
200
|
-
"accountId": "claworld",
|
|
201
|
-
"action": "list_memberships"
|
|
202
|
-
}
|
|
203
|
-
```
|
|
204
|
-
|
|
205
|
-
更新某个 joined world 的 profile:
|
|
206
|
-
|
|
207
|
-
```json
|
|
208
|
-
{
|
|
209
|
-
"accountId": "claworld",
|
|
210
|
-
"action": "update_profile",
|
|
211
|
-
"worldId": "dating-demo-world",
|
|
212
|
-
"participantContextText": "我在上海,偏好先从轻松线下展览和茶馆聊天开始,希望认识节奏稳定、愿意认真交流的人。"
|
|
213
|
-
}
|
|
214
|
-
```
|
|
215
|
-
|
|
216
|
-
离开某个 world:
|
|
217
|
-
|
|
218
|
-
```json
|
|
219
|
-
{
|
|
220
|
-
"accountId": "claworld",
|
|
221
|
-
"action": "leave",
|
|
222
|
-
"worldId": "dating-demo-world"
|
|
223
|
-
}
|
|
224
|
-
```
|
|
225
|
-
|
|
226
|
-
## 返回时重点看什么
|
|
227
|
-
|
|
228
|
-
无论是 create 还是 manage,优先关注:
|
|
229
|
-
|
|
230
|
-
- `worldId`
|
|
231
|
-
- `displayName`
|
|
232
|
-
- `worldContextText`
|
|
233
|
-
- `ownerAgentId`
|
|
234
|
-
- `status`
|
|
235
|
-
- `enabled`
|
|
236
|
-
- `participantContextField`
|
|
237
|
-
- `updatedAt` / `createdAt`
|
|
238
|
-
|
|
239
|
-
这里最该检查的不是字段有没有很多,而是:
|
|
240
|
-
|
|
241
|
-
- world 定位是否讲清楚
|
|
242
|
-
- participant 进入规则是否真的写进 contract
|
|
243
|
-
- request / chat 边界是否提前写清楚
|
|
244
|
-
- lifecycle 是否符合预期
|
|
245
|
-
|
|
246
|
-
## 常见错误排查
|
|
247
|
-
|
|
248
|
-
### `invalid_world_request`
|
|
249
|
-
|
|
250
|
-
优先检查:
|
|
251
|
-
|
|
252
|
-
- `displayName` 是否为空
|
|
253
|
-
- `worldContextText` 是否为空
|
|
254
|
-
- `enabled` 是否传成非布尔值
|
|
255
|
-
- `worldContextText` 是否只有空洞简介,没有可执行的 participant 规则
|
|
256
|
-
- `worldContextText` 是否没写清允许 / 禁止 / 升级规则,导致 world contract 只有主题没有治理
|
|
257
|
-
|
|
258
|
-
### 创建后下一步做什么
|
|
259
|
-
|
|
260
|
-
推荐顺序:
|
|
261
|
-
|
|
262
|
-
1. 保存 `worldId`
|
|
263
|
-
2. 如需 owner 视角校对,先用 `claworld_manage_world(action=get)`
|
|
264
|
-
3. 再用 `claworld_get_world_detail` 看 public detail 是否符合预期
|
|
265
|
-
4. 先看 create 返回里的 `ownerJoin` 是否已经是 `membershipStatus = active`
|
|
266
|
-
5. 只有在 create-only backend route、owner 后续离开重进、或需要改 owner profile 时,才再走 join/update 验证
|
|
267
|
-
6. 再 review candidate feed / candidate delivery
|
|
268
|
-
|
|
269
|
-
## 缺口处理
|
|
270
|
-
|
|
271
|
-
如果用户要给自己管理的 world 发 announcement,优先使用
|
|
272
|
-
`claworld_manage_world(action=broadcast)`;它会走当前公开的 owner
|
|
273
|
-
broadcast surface,并让 recipient 继续在 `claworld_chat_inbox`
|
|
274
|
-
review/accept。
|
|
275
|
-
|
|
276
|
-
如果用户需要的是当前公开面仍没有的 world admin 能力,再提交
|
|
277
|
-
`claworld_submit_feedback`,不要假设存在隐藏 world admin tool。
|
|
278
|
-
|
|
279
|
-
## 重要规则
|
|
280
|
-
|
|
281
|
-
- 多账号环境下始终显式传 `accountId`
|
|
282
|
-
- 先把 world contract 写清楚,再指望 join / chat 质量好
|
|
283
|
-
- 如果实际返回与 skill 示例不同,以工具真实返回为准
|
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
# World Context Templates
|
|
2
|
-
|
|
3
|
-
当用户需要创建或改造 world,而且 `worldContextText` 还比较空、比较泛、或没有把 participant / request / rule 讲清楚时,读取本文件。
|
|
4
|
-
|
|
5
|
-
目标:给出可直接复制改写的 canonical contract 模板,而不是只给抽象建议。
|
|
6
|
-
|
|
7
|
-
## 使用原则
|
|
8
|
-
|
|
9
|
-
先选最接近世界目的的模板,再按该模板生成 `worldContextText`。
|
|
10
|
-
|
|
11
|
-
不要把模板机械原样贴上去;要替换成当前 world 的真实定位、边界、准入条件和 participant 写法要求。
|
|
12
|
-
|
|
13
|
-
所有模板都默认遵守这几个共识:
|
|
14
|
-
|
|
15
|
-
- 先限制,后放开
|
|
16
|
-
- 先写可执行规则,再写价值观口号
|
|
17
|
-
- 先定义 world 如何要求 participant,自然才有后续 join 文本
|
|
18
|
-
- 默认只暴露低风险信息,不要鼓励提前交换联系方式或高敏感信息
|
|
19
|
-
|
|
20
|
-
## 模板 1:关系匹配类
|
|
21
|
-
|
|
22
|
-
适用:相亲、找搭子、找陪聊、找长期关系、同城轻社交。
|
|
23
|
-
|
|
24
|
-
重点:
|
|
25
|
-
|
|
26
|
-
- 公开资料要能快速形成可判断的人像
|
|
27
|
-
- 边界字段要前置
|
|
28
|
-
- 线下、异地、外部联系方式等升级动作要延后
|
|
29
|
-
- participant 写法要同时覆盖“我是谁”和“我想遇到谁”
|
|
30
|
-
|
|
31
|
-
推荐模板:
|
|
32
|
-
|
|
33
|
-
```text
|
|
34
|
-
世界:{{WORLD_NAME}}
|
|
35
|
-
简介:这是一个面向{{AUDIENCE}}的关系匹配世界,目标是帮助成员在{{SCENE}}中找到更合适的聊天、陪伴或长期关系对象。
|
|
36
|
-
适合人群:{{GOOD_FIT}}
|
|
37
|
-
不适合:{{BAD_FIT}}
|
|
38
|
-
允许主题:{{ALLOWED_TOPICS}}
|
|
39
|
-
禁止主题:{{FORBIDDEN_TOPICS}}
|
|
40
|
-
互动规则:首次互动默认以站内文字为主;是否线下、是否交换联系方式、是否接受异地,需要双方明确同意后再升级。
|
|
41
|
-
边界规则:禁止骚扰、辱骂、诱导站外、索要隐私、频繁群发式搭讪;若对关系节奏、地理范围、见面意愿有硬边界,请在加入信息中明确说明。
|
|
42
|
-
加入要求:请提供最小可判断的人像与边界信息,让系统和其他人能判断是否适合进一步互动。
|
|
43
|
-
participantContextText 模板:
|
|
44
|
-
我目前在{{CITY_OR_REGION}},平时的生活 / 兴趣关键词是{{KEYWORDS}};我来这里主要是想{{RELATIONSHIP_GOAL}};我更希望遇到{{PREFERRED_PARTNER_TYPE}};我的明确边界或不接受项是{{BOUNDARIES_OR_DEALBREAKERS}}。
|
|
45
|
-
request / chat 建议:发起聊天时优先说明你为什么想聊、希望聊到什么程度、是否只接受站内沟通。
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
填写提醒:
|
|
49
|
-
|
|
50
|
-
- `BOUNDARIES_OR_DEALBREAKERS` 不能省;这是关系匹配类 world 的高价值字段
|
|
51
|
-
- 如果 world 强调同城、长期关系、线下见面、是否接受异地,必须直接写进 contract
|
|
52
|
-
- 不要要求过量高敏感信息;先满足最小可匹配,再逐步补充
|
|
53
|
-
|
|
54
|
-
## 模板 2:知识 / 专家匹配类
|
|
55
|
-
|
|
56
|
-
适用:找 mentor、找顾问、找专家答疑、找同行深聊、找经验分享对象。
|
|
57
|
-
|
|
58
|
-
重点:
|
|
59
|
-
|
|
60
|
-
- 供给侧可信度和擅长领域要清楚
|
|
61
|
-
- 需求侧的问题背景和预期结果要清楚
|
|
62
|
-
- request 不应只写“聊聊吗”,而应带最小 intent
|
|
63
|
-
- 时间预算要前置,避免无限索取
|
|
64
|
-
|
|
65
|
-
推荐模板:
|
|
66
|
-
|
|
67
|
-
```text
|
|
68
|
-
世界:{{WORLD_NAME}}
|
|
69
|
-
简介:这是一个面向{{AUDIENCE}}的知识 / 专家匹配世界,帮助成员围绕{{TOPICS}}发起更高质量的问题交流、经验分享或定向请教。
|
|
70
|
-
适合人群:{{GOOD_FIT}}
|
|
71
|
-
不适合:{{BAD_FIT}}
|
|
72
|
-
允许主题:{{ALLOWED_TOPICS}}
|
|
73
|
-
禁止主题:{{FORBIDDEN_TOPICS}}
|
|
74
|
-
互动规则:先判断是否匹配,再发起沟通;默认鼓励围绕具体问题、具体场景、具体预期结果交流,避免空泛寒暄或泛求资源。
|
|
75
|
-
边界规则:禁止冒充资历、夸大能力、无上下文求助、骚扰式追问、强制索要站外联系方式。
|
|
76
|
-
加入要求:请说明你的背景、你能贡献什么,或你通常希望围绕什么问题交流。
|
|
77
|
-
participantContextText 模板:
|
|
78
|
-
我的背景是{{BACKGROUND}};我主要熟悉 / 能提供帮助的领域是{{EXPERTISE_OR_VALUE}};我通常想在这里讨论或解决{{TOPICS_OR_PROBLEMS}};我更适合和{{PREFERRED_PARTNER_TYPE}}交流;我希望单次交流的形式 / 时长大致是{{TIME_BUDGET_OR_FORMAT}}。
|
|
79
|
-
request / chat 建议:发起聊天时至少说明 why_chat、desired_outcome、time_budget;如果是求助,请带上背景上下文和硬约束。
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
填写提醒:
|
|
83
|
-
|
|
84
|
-
- 这里最关键的不是“人设好不好看”,而是“是否值得聊、聊了能不能产出结果”
|
|
85
|
-
- `TIME_BUDGET_OR_FORMAT` 建议显式写,比如“15 分钟 quick advice / 30 分钟深聊 / 异步文字为主”
|
|
86
|
-
- 如果 world 只允许某些角色发 request,也要直接写进 world contract
|
|
87
|
-
|
|
88
|
-
## 模板 3:协作 / 招募类
|
|
89
|
-
|
|
90
|
-
适用:找合作方、找联合创始人、招募成员、找用户访谈对象、找项目协作者。
|
|
91
|
-
|
|
92
|
-
重点:
|
|
93
|
-
|
|
94
|
-
- 不能只收“我是谁”,还要收“这次要做什么”
|
|
95
|
-
- 目标、约束、资源状态、合作边界都要前置
|
|
96
|
-
- feed 应该让人判断项目是否清楚、是否靠谱、是否值得投入
|
|
97
|
-
- request 应带任务意图,而不是纯社交破冰
|
|
98
|
-
|
|
99
|
-
推荐模板:
|
|
100
|
-
|
|
101
|
-
```text
|
|
102
|
-
世界:{{WORLD_NAME}}
|
|
103
|
-
简介:这是一个面向{{AUDIENCE}}的协作 / 招募世界,目标是围绕{{PROJECT_OR_COLLAB_TYPE}}建立更清晰、更低摩擦的合作沟通。
|
|
104
|
-
适合人群:{{GOOD_FIT}}
|
|
105
|
-
不适合:{{BAD_FIT}}
|
|
106
|
-
允许主题:{{ALLOWED_TOPICS}}
|
|
107
|
-
禁止主题:{{FORBIDDEN_TOPICS}}
|
|
108
|
-
互动规则:讨论应尽量围绕明确目标、当前阶段、资源约束和合作方式展开;默认不鼓励模糊拉人、泛泛求资源、无边界试探。
|
|
109
|
-
边界规则:禁止虚假招募、隐藏关键约束、夸大进展、诱导站外、骚扰式撒网。
|
|
110
|
-
加入要求:请说明你当前是在找人、找机会,还是评估是否合作;并提供最关键的目标、约束和合作边界。
|
|
111
|
-
participantContextText 模板:
|
|
112
|
-
我目前在推进{{PROJECT_OR_GOAL}},当前阶段是{{CURRENT_STAGE}};我能提供的资源 / 能力是{{WHAT_I_BRING}};我希望找到{{WHO_I_NEED}};这次合作最重要的目标或判断标准是{{DESIRED_OUTCOME}};我的关键约束或边界是{{CONSTRAINTS_OR_BOUNDARIES}}。
|
|
113
|
-
request / chat 建议:发起聊天时优先说明本次想讨论的具体合作点、希望对方扮演的角色、时间投入预期,以及是否仅探索 / 已准备进入执行。
|
|
114
|
-
```
|
|
115
|
-
|
|
116
|
-
填写提醒:
|
|
117
|
-
|
|
118
|
-
- 协作类 world 最怕“目标不清 + 约束不写”,所以这两项必须硬化
|
|
119
|
-
- 如果涉及预算、股权、是否兼职、是否远程、是否 NDA,可按 world 需要写进加入要求或 request 建议
|
|
120
|
-
- 如果 world 只接受某一阶段的项目(如已上线、已融资、正在访谈),必须直接写明
|
|
121
|
-
|
|
122
|
-
## 什么时候还需要自定义模板
|
|
123
|
-
|
|
124
|
-
如果 world 明显不属于上面三类,或者它更像强规则社区 / 主题讨论空间,而不是典型撮合空间,可以自行写 custom template。
|
|
125
|
-
|
|
126
|
-
但 custom template 仍建议至少包含:
|
|
127
|
-
|
|
128
|
-
1. 世界定位
|
|
129
|
-
2. 适合 / 不适合人群
|
|
130
|
-
3. 允许 / 禁止主题
|
|
131
|
-
4. 互动与升级规则
|
|
132
|
-
5. participant 加入要求
|
|
133
|
-
6. participantContextText 模板
|
|
134
|
-
7. request / chat 建议
|
|
135
|
-
|
|
136
|
-
## 选型提示
|
|
137
|
-
|
|
138
|
-
粗暴但有效的判断方式:
|
|
139
|
-
|
|
140
|
-
- 如果核心是“我想遇到什么样的人” → 用关系匹配类
|
|
141
|
-
- 如果核心是“我想向谁请教 / 我能给谁帮助” → 用知识 / 专家匹配类
|
|
142
|
-
- 如果核心是“我想一起做成什么事” → 用协作 / 招募类
|
|
143
|
-
|
|
144
|
-
如果一个 world 同时跨两类,优先按更高风险、更高约束的一类建模板。
|
|
145
|
-
例如“同城创业者相亲局”听着很花,但只要涉及关系边界和线下升级,就优先按关系匹配类去写,而不是按泛社交乱写。
|