skill-auto-loader-hook-paperfly777 0.1.26 → 0.1.28
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 +4 -89
- package/index.ts +1 -6
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -82,16 +82,9 @@ chmod +x ./update-plugin.sh
|
|
|
82
82
|
2. 也就是说,别人安装了你的插件后,在插件目录里同样可以直接执行它。
|
|
83
83
|
3. 如果当前已安装版本目录里还没有这个脚本,说明那个版本还没把脚本打包进去,需要升级到新发布版本后才会有。
|
|
84
84
|
|
|
85
|
-
## 发布方式
|
|
86
85
|
|
|
87
|
-
发布前在插件目录执行:
|
|
88
86
|
|
|
89
|
-
|
|
90
|
-
npm login
|
|
91
|
-
npm publish --access public
|
|
92
|
-
```
|
|
93
|
-
|
|
94
|
-
发布成功后,就可以用:
|
|
87
|
+
安装方式:
|
|
95
88
|
|
|
96
89
|
```bash
|
|
97
90
|
openclaw plugins install skill-auto-loader-hook-paperfly777
|
|
@@ -129,20 +122,6 @@ openclaw plugins install skill-auto-loader-hook-paperfly777
|
|
|
129
122
|
- OpenClaw 主配置:`~/.openclaw/openclaw.json`
|
|
130
123
|
- 插件路由配置:`skill-router.config.json`(默认按插件目录相对路径读取)
|
|
131
124
|
|
|
132
|
-
### 3) 自定义 Prompt 怎么配
|
|
133
|
-
|
|
134
|
-
在 `skill-router.config.json` 的每条 `rules[*].prompt` 里写即可,例如:
|
|
135
|
-
|
|
136
|
-
```json
|
|
137
|
-
{
|
|
138
|
-
"id": "company-kb",
|
|
139
|
-
"keywords": ["知识库", "查文档", "公司规定"],
|
|
140
|
-
"preferSkills": ["company-knowledge-base"],
|
|
141
|
-
"excludeSkills": [],
|
|
142
|
-
"scopeNote": "仅限内部文档检索与制度问题",
|
|
143
|
-
"prompt": "先检索知识库再回答;若涉及删除/覆盖写入,必须二次确认。"
|
|
144
|
-
}
|
|
145
|
-
```
|
|
146
125
|
|
|
147
126
|
推荐写法:
|
|
148
127
|
|
|
@@ -150,28 +129,17 @@ openclaw plugins install skill-auto-loader-hook-paperfly777
|
|
|
150
129
|
2. 再写执行约束(`prompt`)
|
|
151
130
|
3. 避免只写关键词,不写动作规则
|
|
152
131
|
|
|
153
|
-
###
|
|
132
|
+
### 3) 白名单和黑名单怎么配
|
|
154
133
|
|
|
155
134
|
- 全局白名单:`includeSkills`
|
|
156
135
|
- 全局黑名单:`excludeSkills`
|
|
157
|
-
- 规则级白名单倾向:`rules[*].preferSkills`
|
|
158
|
-
- 规则级黑名单:`rules[*].excludeSkills`
|
|
159
136
|
|
|
160
137
|
示例:
|
|
161
138
|
|
|
162
139
|
```json
|
|
163
140
|
{
|
|
164
141
|
"includeSkills": ["company-knowledge-base", "daily-report", "openclaw-feishu-plugin"],
|
|
165
|
-
"excludeSkills": ["remotion"]
|
|
166
|
-
"rules": [
|
|
167
|
-
{
|
|
168
|
-
"id": "daily-report",
|
|
169
|
-
"keywords": ["日报", "工时", "工作记录"],
|
|
170
|
-
"preferSkills": ["daily-report"],
|
|
171
|
-
"excludeSkills": ["company-knowledge-base"],
|
|
172
|
-
"prompt": "优先处理日报,不要误路由到知识库。"
|
|
173
|
-
}
|
|
174
|
-
]
|
|
142
|
+
"excludeSkills": ["remotion"]
|
|
175
143
|
}
|
|
176
144
|
```
|
|
177
145
|
|
|
@@ -222,40 +190,10 @@ openclaw plugins install skill-auto-loader-hook-paperfly777
|
|
|
222
190
|
| 参数 | 类型 | 可选值/示例 | 默认值 | 作用 |
|
|
223
191
|
|---|---|---|---|---|
|
|
224
192
|
| `enabled` | boolean | `true/false` | `true` | 路由配置总开关。 |
|
|
225
|
-
| `defaultBehavior` | string | `no-op` / `advisory` | `no-op` | 未命中规则时是否注入提示。 |
|
|
226
193
|
| `skillsScanDirs` | string[] | `["~/.openclaw/workspace/skills"]` | 自动推断目录 | 扫描已安装 skill 的目录列表。 |
|
|
227
194
|
| `includeSkills` | string[] | `["company-knowledge-base"]` | `[]` | 全局白名单。非空时仅这些 skill 参与候选。 |
|
|
228
195
|
| `excludeSkills` | string[] | `["remotion"]` | `[]` | 全局黑名单。始终排除这些 skill。 |
|
|
229
196
|
| `maxSkillsInPrompt` | number | `10` / `20` | `20` | 注入提示中最多携带多少个候选 skill。 |
|
|
230
|
-
| `defaultScopeNote` | string | `"仅限公司知识库场景"` | 空 | 规则缺少 `scopeNote` 时的默认范围说明。 |
|
|
231
|
-
| `rules` | array | 见下方规则参数 | `[]` | 场景路由规则集合。 |
|
|
232
|
-
|
|
233
|
-
`defaultBehavior` 选择建议:
|
|
234
|
-
|
|
235
|
-
1. `no-op`:推荐。未命中规则就不注入,避免“每轮追加”。
|
|
236
|
-
2. `advisory`:未命中也注入轻量提示,适合想保留弱引导的场景。
|
|
237
|
-
|
|
238
|
-
### C. `rules[*]` 规则参数
|
|
239
|
-
|
|
240
|
-
| 参数 | 类型 | 可选值/示例 | 是否必填 | 作用 |
|
|
241
|
-
|---|---|---|---|---|
|
|
242
|
-
| `id` | string | `"daily-report"` | 是 | 规则唯一标识,便于日志排障。 |
|
|
243
|
-
| `enabled` | boolean | `true/false` | 否 | 单条规则开关。 |
|
|
244
|
-
| `description` | string | `"日报相关路由"` | 否 | 规则说明文字。 |
|
|
245
|
-
| `keywords` | string[] | `["日报","工时"]` | 否 | 任意关键词命中即可。 |
|
|
246
|
-
| `allKeywords` | string[] | `["报销","流程"]` | 否 | 要求全部命中。 |
|
|
247
|
-
| `regexes` | string[] | `["(?i)日报.*提交"]` | 否 | 正则命中条件。 |
|
|
248
|
-
| `preferSkills` | string[] | `["daily-report"]` | 否 | 命中后优先的 skill。 |
|
|
249
|
-
| `excludeSkills` | string[] | `["company-knowledge-base"]` | 否 | 命中后排除的 skill。 |
|
|
250
|
-
| `scopeNote` | string | `"仅日报场景"` | 否 | 这条规则的适用范围说明。 |
|
|
251
|
-
| `prompt` | string | `"先确认草稿再上传"` | 否 | 规则级自定义提示词。 |
|
|
252
|
-
|
|
253
|
-
规则命中逻辑(重要):
|
|
254
|
-
|
|
255
|
-
1. `keywords`:满足“任意一个”即可。
|
|
256
|
-
2. `allKeywords`:要求“全部”出现。
|
|
257
|
-
3. `regexes`:任意一个正则匹配即可。
|
|
258
|
-
4. 三类条件会组合判断,最终命中后才进入 `preferSkills/excludeSkills` 处理。
|
|
259
197
|
|
|
260
198
|
### 1. `openclaw.json` 中的插件入口配置
|
|
261
199
|
|
|
@@ -286,26 +224,11 @@ openclaw plugins install skill-auto-loader-hook-paperfly777
|
|
|
286
224
|
{
|
|
287
225
|
"enabled": true,
|
|
288
226
|
"skillsScanDirs": [
|
|
289
|
-
"./skills",
|
|
290
|
-
"./openclaw-skills/skills",
|
|
291
227
|
"~/.openclaw/workspace/skills"
|
|
292
228
|
],
|
|
293
229
|
"includeSkills": [],
|
|
294
230
|
"excludeSkills": [],
|
|
295
|
-
"maxSkillsInPrompt": 20
|
|
296
|
-
"defaultScopeNote": "只在当前业务强相关的已安装 skill 范围内做判断,不要为了使用 skill 而使用 skill。",
|
|
297
|
-
"rules": [
|
|
298
|
-
{
|
|
299
|
-
"id": "company-kb",
|
|
300
|
-
"enabled": true,
|
|
301
|
-
"description": "公司知识库问答、制度查询、内部文档处理",
|
|
302
|
-
"keywords": ["知识库", "查文档", "公司规定", "制度", "技术方案"],
|
|
303
|
-
"preferSkills": ["company-knowledge-base"],
|
|
304
|
-
"excludeSkills": [],
|
|
305
|
-
"scopeNote": "仅适用于公司知识库、内部文档、流程制度相关问题。",
|
|
306
|
-
"prompt": "优先判断是否需要先检索知识库,再决定是否回答或执行文档操作。"
|
|
307
|
-
}
|
|
308
|
-
]
|
|
231
|
+
"maxSkillsInPrompt": 20
|
|
309
232
|
}
|
|
310
233
|
```
|
|
311
234
|
|
|
@@ -345,11 +268,3 @@ openclaw plugins install skill-auto-loader-hook-paperfly777
|
|
|
345
268
|
2. 它不能替代 skill 本身的安装和发现机制。
|
|
346
269
|
3. 所有要被路由的 skill,仍然需要先安装到 OpenClaw 可发现的位置。
|
|
347
270
|
4. 它当前做的是“把 skill 判断交给默认模型”,不是在插件里直接调用第二个独立模型 API。
|
|
348
|
-
|
|
349
|
-
## 推荐下一步
|
|
350
|
-
|
|
351
|
-
如果你准备把它真正用到你的项目里,下一步最值得做的是:
|
|
352
|
-
|
|
353
|
-
1. 先把 `company-knowledge-base`、`daily-report`、`openclaw-feishu-plugin` 三个规则配起来。
|
|
354
|
-
2. 再补一个“电商虾 skill 路由规则集”。
|
|
355
|
-
3. 最后再加一个后台管理页或配置文件生成器,避免手改 `skill-router.config.json`。
|
package/index.ts
CHANGED
|
@@ -132,12 +132,7 @@ function extractTextFromContent(content: unknown): string {
|
|
|
132
132
|
|
|
133
133
|
function pickCurrentTurnText(eventObj: Record<string, unknown>): string {
|
|
134
134
|
const candidates: unknown[] = [
|
|
135
|
-
eventObj.
|
|
136
|
-
eventObj.prompt,
|
|
137
|
-
eventObj.input,
|
|
138
|
-
eventObj.inputText,
|
|
139
|
-
eventObj.userInput,
|
|
140
|
-
eventObj.text,
|
|
135
|
+
eventObj.prompt
|
|
141
136
|
];
|
|
142
137
|
|
|
143
138
|
for (const candidate of candidates) {
|
package/package.json
CHANGED