@linkmind_claw/openclaw-faq-kb 1.0.3 → 1.0.5

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/index.d.ts CHANGED
@@ -1,13 +1,11 @@
1
1
  /**
2
2
  * OpenClaw Plugin entry — FAQ Knowledge Base
3
3
  *
4
- * Registers four agent tools that wrap the 8999 FAQ KB API into
5
- * high-level workflow operations:
4
+ * 3 core tools + 3 slash commands:
6
5
  *
7
6
  * 1. faq_kb_create_and_train — one-click: create KB + auto-pipeline
8
7
  * 2. faq_kb_query — intelligent Q&A
9
- * 3. faq_kb_manage FAQ CRUD
10
- * 4. faq_kb_list — KB inventory & system status
8
+ * 3. faq_kb_list list accessible knowledge bases
11
9
  */
12
10
  interface CommandContext {
13
11
  args?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AA2CH,UAAU,cAAc;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,SAAS;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,YAAY,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IAC9C,eAAe,EAAE,CAAC,OAAO,EAAE;QACzB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,OAAO,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,OAAO,CAAC;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,GAAG;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC;KAChF,KAAK,IAAI,CAAC;CACZ;AAED,UAAU,WAAW;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,CAAC,GAAG,EAAE,SAAS,KAAK,IAAI,CAAC;CACpC;;AAQD,wBAkWG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA+BH,UAAU,cAAc;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,SAAS;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,YAAY,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IAC9C,eAAe,EAAE,CAAC,OAAO,EAAE;QACzB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,OAAO,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,OAAO,CAAC;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,GAAG;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC;KAChF,KAAK,IAAI,CAAC;CACZ;AAED,UAAU,WAAW;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,CAAC,GAAG,EAAE,SAAS,KAAK,IAAI,CAAC;CACpC;;AAQD,wBA6KG"}
package/dist/index.js CHANGED
@@ -1,19 +1,16 @@
1
1
  /**
2
2
  * OpenClaw Plugin entry — FAQ Knowledge Base
3
3
  *
4
- * Registers four agent tools that wrap the 8999 FAQ KB API into
5
- * high-level workflow operations:
4
+ * 3 core tools + 3 slash commands:
6
5
  *
7
6
  * 1. faq_kb_create_and_train — one-click: create KB + auto-pipeline
8
7
  * 2. faq_kb_query — intelligent Q&A
9
- * 3. faq_kb_manage FAQ CRUD
10
- * 4. faq_kb_list — KB inventory & system status
8
+ * 3. faq_kb_list list accessible knowledge bases
11
9
  */
10
+ import { Type } from "@sinclair/typebox";
12
11
  import { FaqKbApiClient } from "./lib/api-client.js";
13
12
  import { CreateAndTrainParams, executeCreateAndTrain, } from "./tools/create-kb-and-train.js";
14
13
  import { QueryParams, executeQuery, } from "./tools/query-kb.js";
15
- import { ManageFaqParams, executeManageFaq, } from "./tools/manage-faq.js";
16
- import { ListKbParams, executeListKb, } from "./tools/list-kb.js";
17
14
  function definePluginEntry(entry) {
18
15
  return entry;
19
16
  }
@@ -21,7 +18,7 @@ function definePluginEntry(entry) {
21
18
  export default definePluginEntry({
22
19
  id: "faq-knowledge-base",
23
20
  name: "FAQ Knowledge Base",
24
- description: "FAQ 知识库插件:一键上传文档训练知识库,智能问答,FAQ 增删改查",
21
+ description: "FAQ 知识库插件:一键上传文档训练知识库,智能问答,查看知识库列表",
25
22
  register(api) {
26
23
  const cfg = (api.pluginConfig ?? {});
27
24
  const baseUrl = cfg.apiBaseUrl || "http://67.212.146.21:8999";
@@ -58,138 +55,80 @@ export default definePluginEntry({
58
55
  parameters: QueryParams,
59
56
  execute: (_id, params) => executeQuery(client, params),
60
57
  });
61
- // ── Tool 3: Manage FAQ ────────────────────────────────────────────
62
- api.registerTool({
63
- name: "faq_kb_manage",
64
- label: "FAQ 管理",
65
- description: [
66
- "管理知识库中的 FAQ(问答对): 创建、更新、删除、列表、详情。",
67
- "通过 action 参数指定操作类型。",
68
- "create/update 需要 question 和 answer;",
69
- "update/delete/get 需要 faq_id;",
70
- "list 支持 keyword 搜索和分页。",
71
- ].join(" "),
72
- parameters: ManageFaqParams,
73
- execute: (_id, params) => executeManageFaq(client, params),
74
- });
75
- // ── Tool 4: List KB ───────────────────────────────────────────────
58
+ // ── Tool 3: List KB ───────────────────────────────────────────────
76
59
  api.registerTool({
77
60
  name: "faq_kb_list",
78
- label: "知识库管理",
61
+ label: "查看知识库列表",
79
62
  description: [
80
- "查询和管理知识库: 列出全部知识库、查看详情、删除知识库、查看系统状态。",
81
- "list: 列出所有知识库,支持按名称和标签筛选;",
82
- "detail: 查看知识库详情(需要 kb_id);",
83
- "delete: 删除知识库(需要 kb_id);",
84
- "system_status: 查看后端系统状态。",
63
+ "列出当前可访问的所有知识库。",
64
+ "返回每个知识库的 ID、名称、标签和训练状态。",
65
+ "支持按名称和标签筛选,支持分页。",
85
66
  ].join(" "),
86
- parameters: ListKbParams,
87
- execute: (_id, params) => executeListKb(client, params),
88
- });
89
- // ── Slash Commands (bypass LLM, instant response) ──────────────────
90
- api.registerCommand({
91
- name: "faq_help",
92
- description: "显示 FAQ 知识库快捷命令帮助",
93
- handler: () => ({
94
- text: [
95
- "📖 FAQ 知识库快捷命令:",
96
- "",
97
- "📚 知识库管理:",
98
- " /faq_list — 列出所有知识库",
99
- " /faq_kb_detail <kb_id> — 查看知识库详情",
100
- " /faq_kb_delete <kb_id> — 删除知识库",
101
- "",
102
- "💬 问答:",
103
- " /faq_query <kb_id> <问题> — 快速问答",
104
- "",
105
- "📝 FAQ 条目管理:",
106
- " /faq_items <kb_id> — 列出知识库的 FAQ 列表",
107
- " /faq_search <kb_id> <关键词> — 搜索 FAQ",
108
- " /faq_get <kb_id> <faq_id> — 查看 FAQ 详情",
109
- " /faq_add <kb_id> <问题> | <答案> — 新增 FAQ",
110
- " /faq_del <kb_id> <faq_id> — 删除 FAQ",
111
- "",
112
- "🔧 系统:",
113
- " /faq_status — 查看系统状态",
114
- "",
115
- "以上命令直接执行,不经过 AI,响应更快。",
116
- "创建知识库+训练等复杂操作请用自然语言,AI 会自动处理。",
117
- ].join("\n"),
67
+ parameters: Type.Object({
68
+ keyword: Type.Optional(Type.String({ description: "按名称搜索(可选)" })),
69
+ tag_name: Type.Optional(Type.String({ description: "按标签筛选(可选)" })),
70
+ page: Type.Optional(Type.Number({ description: "页码(默认 1)" })),
71
+ page_size: Type.Optional(Type.Number({ description: "每页大小(默认 0=全部)" })),
118
72
  }),
119
- });
120
- api.registerCommand({
121
- name: "faq_list",
122
- description: "列出所有知识库",
123
- handler: async () => {
124
- try {
125
- const res = await client.get("/knowledge_bases?page=1&page_size=0");
126
- const items = res.items ?? res.data?.items ?? [];
127
- const total = res.total ?? items.length;
128
- const lines = [`📚 知识库列表(共 ${total} 个):`];
129
- for (const kb of items) {
130
- const status = kb.is_active ? "✅ 就绪" : "⏳ 未训练";
131
- const tag = kb.tag_name ? ` [${kb.tag_name}]` : "";
132
- lines.push(` • ${kb.name}${tag} ${status}\n ID: ${kb.id}`);
133
- }
134
- if (items.length === 0)
135
- lines.push(" (暂无知识库)");
136
- return { text: lines.join("\n") };
137
- }
138
- catch (e) {
139
- return { text: `❌ 获取知识库列表失败: ${e.message}` };
140
- }
73
+ execute: async (_id, params) => {
74
+ const qp = new URLSearchParams();
75
+ if (params.keyword)
76
+ qp.set("keyword", params.keyword);
77
+ if (params.tag_name)
78
+ qp.set("tag_name", params.tag_name);
79
+ qp.set("page", String(params.page ?? 1));
80
+ qp.set("page_size", String(params.page_size ?? 0));
81
+ const res = await client.get(`/knowledge_bases?${qp.toString()}`);
82
+ const items = res.items ?? res.data?.items ?? [];
83
+ const total = res.total ?? items.length;
84
+ const lines = [`知识库列表(共 ${total} 个):`];
85
+ for (const kb of items) {
86
+ const status = kb.is_active ? "就绪" : "未训练";
87
+ const tag = kb.tag_name ? ` [${kb.tag_name}]` : "";
88
+ lines.push(` ${kb.id} ${kb.name}${tag} (${status})`);
89
+ }
90
+ if (items.length === 0)
91
+ lines.push(" (无知识库)");
92
+ return { content: [{ type: "text", text: lines.join("\n") }] };
141
93
  },
142
94
  });
95
+ // ── 3 Slash Commands — 和 3 个 tools 一一对应 ──────────────────────
143
96
  api.registerCommand({
144
- name: "faq_kb_detail",
145
- description: "查看知识库详情: /faq_kb_detail <kb_id>",
97
+ name: "faq_create",
98
+ description: "创建知识库并训练: /faq_create <名称> <文档URL>",
146
99
  acceptsArgs: true,
147
100
  handler: async (ctx) => {
148
- const kbId = (ctx.args ?? "").trim();
149
- if (!kbId)
150
- return { text: "用法: /faq_kb_detail <kb_id>" };
151
- try {
152
- const kb = await client.get(`/knowledge_bases/${kbId}`);
153
- const created = new Date(kb.created_at).toLocaleString("zh-CN");
154
- const trained = kb.trainover_at ? new Date(kb.trainover_at).toLocaleString("zh-CN") : "未训练";
155
- return {
156
- text: [
157
- `📋 知识库详情:`,
158
- ` 名称: ${kb.name}`,
159
- ` ID: ${kb.id}`,
160
- ` 描述: ${kb.description ?? "(无)"}`,
161
- ` 标签: ${kb.tag_name ?? "(无)"}`,
162
- ` 状态: ${kb.is_active ? "✅ 就绪" : "⏳ 未训练"}`,
163
- ` 创建: ${created}`,
164
- ` 训练完成: ${trained}`,
165
- ].join("\n"),
166
- };
101
+ const args = (ctx.args ?? "").trim();
102
+ const spaceIdx = args.indexOf(" ");
103
+ if (!args || spaceIdx === -1) {
104
+ return { text: "用法: /faq_create <知识库名称> <文档URL>\n示例: /faq_create 客服知识库 https://example.com/doc.pdf\n支持 PDF/DOCX/DOC/TXT/MD" };
167
105
  }
168
- catch (e) {
169
- return { text: `❌ 获取详情失败: ${e.message}` };
106
+ const kbName = args.slice(0, spaceIdx).trim();
107
+ const fileUrl = args.slice(spaceIdx + 1).trim();
108
+ if (!fileUrl.startsWith("http")) {
109
+ return { text: "文档 URL 必须以 http 开头" };
170
110
  }
171
- },
172
- });
173
- api.registerCommand({
174
- name: "faq_kb_delete",
175
- description: "删除知识库: /faq_kb_delete <kb_id>",
176
- acceptsArgs: true,
177
- handler: async (ctx) => {
178
- const kbId = (ctx.args ?? "").trim();
179
- if (!kbId)
180
- return { text: "用法: /faq_kb_delete <kb_id>" };
181
111
  try {
182
- await client.del(`/knowledge_bases/${kbId}`);
183
- return { text: `🗑️ 知识库已删除: ${kbId}` };
112
+ const kbRes = await client.post("/knowledge_bases", {
113
+ name: kbName, description: "", tag_name: null,
114
+ });
115
+ const kbId = kbRes.id;
116
+ const pipeRes = await client.post(`/knowledge_bases/${kbId}/auto_pipeline`, {
117
+ name: kbName, description: "", file_path: fileUrl,
118
+ });
119
+ if (!pipeRes.success) {
120
+ return { text: `❌ 启动训练失败: ${pipeRes.message}\n知识库已创建 (ID: ${kbId})` };
121
+ }
122
+ return { text: `🚀 知识库创建成功,训练已启动!\n 名称: ${kbName}\n KB ID: ${kbId}\n 任务 ID: ${pipeRes.data.task_id}\n\n训练需要 2-10 分钟,完成后可用 /faq_query 提问。` };
184
123
  }
185
124
  catch (e) {
186
- return { text: `❌ 删除失败: ${e.message}` };
125
+ return { text: `❌ 创建失败: ${e.message}` };
187
126
  }
188
127
  },
189
128
  });
190
129
  api.registerCommand({
191
130
  name: "faq_query",
192
- description: "快速问答: /faq_query <kb_id> <问题>",
131
+ description: "知识库问答: /faq_query <kb_id> <问题>",
193
132
  acceptsArgs: true,
194
133
  handler: async (ctx) => {
195
134
  const args = (ctx.args ?? "").trim();
@@ -203,8 +142,7 @@ export default definePluginEntry({
203
142
  return { text: "请提供问题" };
204
143
  try {
205
144
  const res = await client.post(`/knowledge_bases/${kbId}/query`, {
206
- question,
207
- enable_polish: false,
145
+ question, enable_polish: false,
208
146
  });
209
147
  if (!res.success)
210
148
  return { text: `❌ ${res.message}` };
@@ -223,158 +161,25 @@ export default definePluginEntry({
223
161
  },
224
162
  });
225
163
  api.registerCommand({
226
- name: "faq_items",
227
- description: "列出 FAQ 列表: /faq_items <kb_id>",
228
- acceptsArgs: true,
229
- handler: async (ctx) => {
230
- const kbId = (ctx.args ?? "").trim();
231
- if (!kbId)
232
- return { text: "用法: /faq_items <kb_id>" };
233
- try {
234
- const res = await client.get(`/faqs?knowledge_base_id=${kbId}&page=1&page_size=20`);
235
- if (!res.success)
236
- return { text: `❌ ${res.message}` };
237
- const { faqs, pagination } = res.data;
238
- const lines = [`📝 FAQ 列表(共 ${pagination.total} 条):`];
239
- for (const f of faqs) {
240
- const q = f.question.length > 50 ? f.question.slice(0, 47) + "..." : f.question;
241
- lines.push(` • [${f.id}] ${q}`);
242
- }
243
- if (faqs.length === 0)
244
- lines.push(" (暂无 FAQ)");
245
- return { text: lines.join("\n") };
246
- }
247
- catch (e) {
248
- return { text: `❌ 获取 FAQ 列表失败: ${e.message}` };
249
- }
250
- },
251
- });
252
- api.registerCommand({
253
- name: "faq_search",
254
- description: "搜索 FAQ: /faq_search <kb_id> <关键词>",
255
- acceptsArgs: true,
256
- handler: async (ctx) => {
257
- const args = (ctx.args ?? "").trim();
258
- const spaceIdx = args.indexOf(" ");
259
- if (!args || spaceIdx === -1)
260
- return { text: "用法: /faq_search <kb_id> <关键词>" };
261
- const kbId = args.slice(0, spaceIdx).trim();
262
- const keyword = args.slice(spaceIdx + 1).trim();
164
+ name: "faq_list",
165
+ description: "列出所有知识库",
166
+ handler: async () => {
263
167
  try {
264
- const res = await client.get(`/faqs?knowledge_base_id=${kbId}&keyword=${encodeURIComponent(keyword)}&page=1&page_size=20`);
265
- if (!res.success)
266
- return { text: `❌ ${res.message}` };
267
- const { faqs, pagination } = res.data;
268
- const lines = [`🔍 搜索 "${keyword}"(${pagination.total} 条结果):`];
269
- for (const f of faqs) {
270
- const q = f.question.length > 50 ? f.question.slice(0, 47) + "..." : f.question;
271
- lines.push(` • [${f.id}] ${q}`);
168
+ const res = await client.get("/knowledge_bases?page=1&page_size=0");
169
+ const items = res.items ?? res.data?.items ?? [];
170
+ const total = res.total ?? items.length;
171
+ const lines = [`📚 知识库列表(共 ${total} 个):`];
172
+ for (const kb of items) {
173
+ const st = kb.is_active ? "✅ 就绪" : "⏳ 未训练";
174
+ const tag = kb.tag_name ? ` [${kb.tag_name}]` : "";
175
+ lines.push(` • ${kb.name}${tag} ${st}\n ID: ${kb.id}`);
272
176
  }
273
- if (faqs.length === 0)
274
- lines.push(" (无匹配结果)");
177
+ if (items.length === 0)
178
+ lines.push(" (暂无知识库)");
275
179
  return { text: lines.join("\n") };
276
180
  }
277
181
  catch (e) {
278
- return { text: `❌ 搜索失败: ${e.message}` };
279
- }
280
- },
281
- });
282
- api.registerCommand({
283
- name: "faq_get",
284
- description: "查看 FAQ 详情: /faq_get <kb_id> <faq_id>",
285
- acceptsArgs: true,
286
- handler: async (ctx) => {
287
- const args = (ctx.args ?? "").trim().split(/\s+/);
288
- if (args.length < 2)
289
- return { text: "用法: /faq_get <kb_id> <faq_id>" };
290
- const [kbId, faqId] = args;
291
- try {
292
- const res = await client.get(`/faqs/${faqId}?kb_id=${kbId}`);
293
- if (!res.success)
294
- return { text: `❌ ${res.message}` };
295
- const d = res.data;
296
- return {
297
- text: [
298
- `📄 FAQ 详情:`,
299
- ` ID: ${d.id ?? faqId}`,
300
- ` 问题: ${d.question}`,
301
- ` 答案: ${d.answer}`,
302
- ` 状态: ${d.status ?? "unknown"}`,
303
- ].join("\n"),
304
- };
305
- }
306
- catch (e) {
307
- return { text: `❌ 获取失败: ${e.message}` };
308
- }
309
- },
310
- });
311
- api.registerCommand({
312
- name: "faq_add",
313
- description: "新增 FAQ: /faq_add <kb_id> <问题> | <答案>",
314
- acceptsArgs: true,
315
- handler: async (ctx) => {
316
- const args = (ctx.args ?? "").trim();
317
- const spaceIdx = args.indexOf(" ");
318
- if (!args || spaceIdx === -1)
319
- return { text: "用法: /faq_add <kb_id> <问题> | <答案>\n用 | 分隔问题和答案" };
320
- const kbId = args.slice(0, spaceIdx).trim();
321
- const rest = args.slice(spaceIdx + 1);
322
- const pipeIdx = rest.indexOf("|");
323
- if (pipeIdx === -1)
324
- return { text: "请用 | 分隔问题和答案\n示例: /faq_add kb123 退款政策是什么 | 7天内可无条件退款" };
325
- const question = rest.slice(0, pipeIdx).trim();
326
- const answer = rest.slice(pipeIdx + 1).trim();
327
- if (!question || !answer)
328
- return { text: "问题和答案都不能为空" };
329
- try {
330
- const res = await client.post("/faqs", {
331
- knowledge_base_id: kbId,
332
- question,
333
- answer,
334
- status: "active",
335
- });
336
- if (!res.success)
337
- return { text: `❌ ${res.message}` };
338
- const faqId = res.data?.faq_id ?? res.data?.id ?? "unknown";
339
- return { text: `✅ FAQ 创建成功!\n ID: ${faqId}\n 问: ${question}\n 答: ${answer.slice(0, 80)}${answer.length > 80 ? "..." : ""}` };
340
- }
341
- catch (e) {
342
- return { text: `❌ 创建失败: ${e.message}` };
343
- }
344
- },
345
- });
346
- api.registerCommand({
347
- name: "faq_del",
348
- description: "删除 FAQ: /faq_del <kb_id> <faq_id>",
349
- acceptsArgs: true,
350
- handler: async (ctx) => {
351
- const args = (ctx.args ?? "").trim().split(/\s+/);
352
- if (args.length < 2)
353
- return { text: "用法: /faq_del <kb_id> <faq_id>" };
354
- const [kbId, faqId] = args;
355
- try {
356
- const res = await client.del(`/faqs/${faqId}?kb_id=${kbId}`);
357
- if (!res.success)
358
- return { text: `❌ ${res.message}` };
359
- return { text: `🗑️ FAQ 已删除: ${faqId}` };
360
- }
361
- catch (e) {
362
- return { text: `❌ 删除失败: ${e.message}` };
363
- }
364
- },
365
- });
366
- api.registerCommand({
367
- name: "faq_status",
368
- description: "查看 FAQ 知识库系统状态",
369
- handler: async () => {
370
- try {
371
- const res = await client.get("/system/status");
372
- if (!res.success)
373
- return { text: `❌ ${res.message}` };
374
- return { text: `🟢 系统状态:\n${JSON.stringify(res.data, null, 2)}` };
375
- }
376
- catch (e) {
377
- return { text: `❌ 获取状态失败: ${e.message}` };
182
+ return { text: `❌ ${e.message}` };
378
183
  }
379
184
  },
380
185
  });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@linkmind_claw/openclaw-faq-kb",
3
- "version": "1.0.3",
3
+ "version": "1.0.5",
4
4
  "description": "OpenClaw Plugin - FAQ Knowledge Base: one-click document training & intelligent Q&A",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",