@linkmind_claw/openclaw-faq-kb 1.3.2 → 1.4.0

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,21 +1,17 @@
1
1
  /**
2
2
  * OpenClaw Plugin entry — FAQ Knowledge Base
3
3
  *
4
- * 5 tools + 4 slash commands:
4
+ * 一个 OpenClaw 实例 = 一个 Owner(主人)
5
+ * Owner 通过 /faq_claim 认主,拥有全部管理权限
6
+ * 其他用户只能查询被开放的知识库
5
7
  *
6
- * Tools:
7
- * 1. faq_account_register OAuth 用户注册/登录
8
- * 2. faq_account_manage 系统级权限管理 (admin, AI 调用)
9
- * 3. faq_kb_create_and_train 一键建库训练
10
- * 4. faq_kb_query — 知识库问答
11
- * 5. faq_kb_list 查看知识库列表
12
- *
13
- * Slash Commands(所有命令自动静默登录,无需手动注册):
14
- * /faq_register — 查看我的身份信息
15
- * /faq_create — 创建知识库并训练
16
- * /faq_query — 按名称提问
17
- * /faq_share — 分享/修改/撤销 KB 权限
18
- * /faq_list — 列出我的知识库
8
+ * Slash Commands:
9
+ * /faq_claim认主(绑定管理员)
10
+ * /faq_register 查看我的身份信息
11
+ * /faq_create 创建知识库并训练(仅 Owner)
12
+ * /faq_query — 知识库问答
13
+ * /faq_share管理 KB 权限(仅 Owner)
14
+ * /faq_list — 列出可访问的知识库
19
15
  */
20
16
  interface CommandContext {
21
17
  args?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAyCH,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,wBA4VG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAyCH,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,wBA0bG"}
package/dist/index.js CHANGED
@@ -1,21 +1,17 @@
1
1
  /**
2
2
  * OpenClaw Plugin entry — FAQ Knowledge Base
3
3
  *
4
- * 5 tools + 4 slash commands:
4
+ * 一个 OpenClaw 实例 = 一个 Owner(主人)
5
+ * Owner 通过 /faq_claim 认主,拥有全部管理权限
6
+ * 其他用户只能查询被开放的知识库
5
7
  *
6
- * Tools:
7
- * 1. faq_account_register OAuth 用户注册/登录
8
- * 2. faq_account_manage 系统级权限管理 (admin, AI 调用)
9
- * 3. faq_kb_create_and_train 一键建库训练
10
- * 4. faq_kb_query — 知识库问答
11
- * 5. faq_kb_list 查看知识库列表
12
- *
13
- * Slash Commands(所有命令自动静默登录,无需手动注册):
14
- * /faq_register — 查看我的身份信息
15
- * /faq_create — 创建知识库并训练
16
- * /faq_query — 按名称提问
17
- * /faq_share — 分享/修改/撤销 KB 权限
18
- * /faq_list — 列出我的知识库
8
+ * Slash Commands:
9
+ * /faq_claim认主(绑定管理员)
10
+ * /faq_register 查看我的身份信息
11
+ * /faq_create 创建知识库并训练(仅 Owner)
12
+ * /faq_query — 知识库问答
13
+ * /faq_share管理 KB 权限(仅 Owner)
14
+ * /faq_list — 列出可访问的知识库
19
15
  */
20
16
  import { Type } from "@sinclair/typebox";
21
17
  import { FaqKbApiClient } from "./lib/api-client.js";
@@ -40,16 +36,41 @@ export default definePluginEntry({
40
36
  baseUrl,
41
37
  staticToken: cfg.apiToken || undefined,
42
38
  });
39
+ /** 缓存认主状态,避免每次都查后端 */
40
+ let cachedOwnerStatus = null;
41
+ async function getOwnerStatus() {
42
+ if (cachedOwnerStatus && Date.now() - cachedOwnerStatus.checkedAt < 60_000) {
43
+ return { claimed: cachedOwnerStatus.claimed, owner_telegram_id: null };
44
+ }
45
+ try {
46
+ const res = await client.get("/owner/status");
47
+ const data = res.data ?? res;
48
+ cachedOwnerStatus = { claimed: !!data.claimed, checkedAt: Date.now() };
49
+ return data;
50
+ }
51
+ catch {
52
+ return { claimed: true, owner_telegram_id: null };
53
+ }
54
+ }
43
55
  /**
44
56
  * 鉴权守卫:确保当前用户已登录。
45
- * 有缓存 JWT直接通过
46
- * 无缓存 自动静默调 OAuth 登录(利用 senderId 自动注册/登录)
47
- * 返回 null 表示通过,返回 string 表示错误信息。
57
+ * 1. 检查实例是否已认主未认主则提示
58
+ * 2. 有缓存 JWT 直接通过
59
+ * 3. 无缓存 自动静默调 OAuth 登录
48
60
  */
49
61
  async function ensureAuth(ctx) {
50
62
  if (!ctx.senderId || !ctx.channel) {
51
63
  return "无法获取你的用户信息,请在社媒渠道中使用。";
52
64
  }
65
+ const status = await getOwnerStatus();
66
+ if (!status.claimed) {
67
+ return [
68
+ "此服务器尚未配置管理员。",
69
+ "如果你是部署者,请使用以下命令完成认主:",
70
+ " /faq_claim <部署时生成的密钥>",
71
+ "密钥可在服务器启动日志中找到。",
72
+ ].join("\n");
73
+ }
53
74
  client.setSender(ctx.senderId);
54
75
  if (client.hasUserToken(ctx.senderId)) {
55
76
  return null;
@@ -63,7 +84,27 @@ export default definePluginEntry({
63
84
  return null;
64
85
  }
65
86
  catch (e) {
66
- return `⚠️ 自动登录失败: ${e.message}\n请尝试手动发送 /faq_register`;
87
+ return `⚠️ 自动登录失败: ${e.message}`;
88
+ }
89
+ }
90
+ /**
91
+ * Owner 守卫:ensureAuth + 检查 is_owner。
92
+ * 仅 owner 可通过,其他用户返回提示。
93
+ */
94
+ async function requireOwner(ctx) {
95
+ const authErr = await ensureAuth(ctx);
96
+ if (authErr)
97
+ return authErr;
98
+ try {
99
+ const res = await client.get("/oauth/me");
100
+ const data = res.data ?? res;
101
+ if (!data.is_owner) {
102
+ return "此操作仅限管理员。如需查询知识库请使用 /faq_query";
103
+ }
104
+ return null;
105
+ }
106
+ catch {
107
+ return "无法验证管理员身份,请稍后再试。";
67
108
  }
68
109
  }
69
110
  // ── Tool 1: Account Register (OAuth) ──────────────────────────────
@@ -157,6 +198,50 @@ export default definePluginEntry({
157
198
  },
158
199
  });
159
200
  // ── Slash Commands ─────────────────────────────────────────────────
201
+ api.registerCommand({
202
+ name: "faq_claim",
203
+ description: "认主(绑定管理员): /faq_claim <密钥>",
204
+ acceptsArgs: true,
205
+ handler: async (ctx) => {
206
+ if (!ctx.senderId || !ctx.channel) {
207
+ return { text: "无法获取你的用户信息,请在社媒渠道中使用。" };
208
+ }
209
+ const secret = (ctx.args ?? "").trim();
210
+ if (!secret) {
211
+ return {
212
+ text: [
213
+ "用法: /faq_claim <密钥>",
214
+ "",
215
+ "密钥在服务器启动日志中生成。",
216
+ "认主后你将成为此服务器的管理员,拥有创建/管理知识库的权限。",
217
+ ].join("\n"),
218
+ };
219
+ }
220
+ client.setSender(ctx.senderId);
221
+ if (!client.hasUserToken(ctx.senderId)) {
222
+ try {
223
+ await client.oauthLogin({
224
+ channel_type: ctx.channel,
225
+ channel_user_id: ctx.senderId,
226
+ display_name: "",
227
+ });
228
+ }
229
+ catch (e) {
230
+ return { text: `⚠️ 登录失败: ${e.message}` };
231
+ }
232
+ }
233
+ try {
234
+ const res = await client.post("/owner/claim", {
235
+ claim_secret: secret,
236
+ });
237
+ cachedOwnerStatus = { claimed: true, checkedAt: Date.now() };
238
+ return { text: `✅ ${res.message || "认主成功!你是此服务器的管理员。"}` };
239
+ }
240
+ catch (e) {
241
+ return { text: `❌ 认主失败: ${e.message}` };
242
+ }
243
+ },
244
+ });
160
245
  api.registerCommand({
161
246
  name: "faq_register",
162
247
  description: "查看我的身份信息: /faq_register",
@@ -167,21 +252,22 @@ export default definePluginEntry({
167
252
  try {
168
253
  const res = await client.get("/oauth/me");
169
254
  const d = res.data ?? res;
170
- return {
171
- text: [
172
- `✅ 你已登录`,
173
- ` 用户 ID: ${d.user_id ?? d.id ?? "—"}`,
174
- ` 名称: ${d.name ?? "—"}`,
175
- ` 角色: ${d.role ?? "—"}`,
176
- ` 渠道: ${d.channel_type ?? "—"}`,
177
- "",
178
- "可用命令:",
179
- " /faq_create <名称> <文档URL> 创建知识库",
180
- " /faq_list查看你的知识库",
181
- " /faq_query <名称> <问题> — 提问",
182
- " /faq_share <KB名> <用户ID> <角色> — 管理权限",
183
- ].join("\n"),
184
- };
255
+ const ownerTag = d.is_owner ? " (管理员)" : "";
256
+ const lines = [
257
+ `✅ 你已登录${ownerTag}`,
258
+ ` 用户 ID: ${d.user_id ?? d.id ?? "—"}`,
259
+ ` 名称: ${d.name ?? "—"}`,
260
+ ` 角色: ${d.role ?? "—"}`,
261
+ ` 渠道: ${d.channel_type ?? "—"}`,
262
+ "",
263
+ "可用命令:",
264
+ " /faq_list查看知识库",
265
+ " /faq_query <名称> <问题> 提问",
266
+ ];
267
+ if (d.is_owner) {
268
+ lines.push(" /faq_create <名称> <文档URL> — 创建知识库", " /faq_share <KB名> <用户ID> <角色> — 管理权限");
269
+ }
270
+ return { text: lines.join("\n") };
185
271
  }
186
272
  catch (e) {
187
273
  return { text: `❌ 获取信息失败: ${e.message}` };
@@ -190,10 +276,10 @@ export default definePluginEntry({
190
276
  });
191
277
  api.registerCommand({
192
278
  name: "faq_create",
193
- description: "创建知识库并训练: /faq_create <名称> <文档URL>",
279
+ description: "创建知识库并训练(仅管理员): /faq_create <名称> <文档URL>",
194
280
  acceptsArgs: true,
195
281
  handler: async (ctx) => {
196
- const authErr = await ensureAuth(ctx);
282
+ const authErr = await requireOwner(ctx);
197
283
  if (authErr)
198
284
  return { text: authErr };
199
285
  const args = (ctx.args ?? "").trim();
@@ -281,10 +367,10 @@ export default definePluginEntry({
281
367
  });
282
368
  api.registerCommand({
283
369
  name: "faq_share",
284
- description: "管理知识库权限: /faq_share <KB名称> <用户ID> <角色|revoke>",
370
+ description: "管理知识库权限(仅管理员): /faq_share <KB名称> <用户ID> <角色|revoke>",
285
371
  acceptsArgs: true,
286
372
  handler: async (ctx) => {
287
- const authErr = await ensureAuth(ctx);
373
+ const authErr = await requireOwner(ctx);
288
374
  if (authErr)
289
375
  return { text: authErr };
290
376
  const parts = (ctx.args ?? "").trim().split(/\s+/);
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.3.2",
3
+ "version": "1.4.0",
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",
@@ -1,124 +1,100 @@
1
1
  ---
2
2
  name: faq-knowledge-base
3
- description: FAQ 知识库 — 上传文档自动训练,智能问答,FAQ 增删改查
3
+ description: FAQ 知识库 — 认主管理、文档训练、智能问答、权限控制
4
4
  ---
5
5
 
6
6
  # FAQ Knowledge Base Skill
7
7
 
8
- You have access to a FAQ Knowledge Base system that lets you:
8
+ ## 核心概念:认主机制
9
9
 
10
- 1. **Create & train** a knowledge base from a document (PDF/DOCX/TXT/MD)
11
- 2. **Ask questions** against a trained knowledge base
12
- 3. **Manage FAQ items** (create, update, delete, list)
13
- 4. **Browse knowledge bases** (list, detail, delete, system status)
10
+ 一个 OpenClaw 实例 = 一个主人(Owner)。
14
11
 
15
- ## Available Tools
12
+ - 无论连接了多少个 bot,它们共享同一个 Owner
13
+ - Owner 通过 Telegram user ID 绑定,认主认的是"人"
14
+ - Owner 拥有全部管理权限:创建/训练/删除知识库、管理权限
15
+ - 其他用户只能查询 Owner 开放给他的知识库 + 公开知识库
16
16
 
17
- ### `faq_kb_create_and_train`
17
+ ### 认主流程
18
+
19
+ 1. 服务器启动时在日志中生成一次性密钥(claim secret)
20
+ 2. 部署者在任意连接的 bot 中发送 `/faq_claim <密钥>`
21
+ 3. 认主完成,该用户永久绑定为此服务器的管理员
22
+
23
+ ## 认证机制
18
24
 
19
- Use this when the user wants to create a new knowledge base from a document.
25
+ - 所有操作自动完成认证,无需手动登录
26
+ - 系统通过 Telegram user ID 自动识别身份
27
+ - 首次操作时自动注册为 viewer,后续自动登录
20
28
 
21
- **When to use:**
22
- - User says "create a knowledge base from this document"
23
- - User provides a file URL and wants to set up a Q&A system
24
- - User wants to "train" or "build" a knowledge base
29
+ ## Slash Commands
25
30
 
26
- **Parameters:**
27
- - `kb_name` (required): Name for the knowledge base
28
- - `file_url` (required): URL to the document file (PDF/DOCX/DOC/TXT/MD)
29
- - `description` (optional): Description of the knowledge base
30
- - `tag_name` (optional): Tag for categorization
31
+ | 命令 | 功能 | 权限 |
32
+ |------|------|------|
33
+ | `/faq_claim <密钥>` | 认主,绑定管理员 | 未认主时任何人 |
34
+ | `/faq_register` | 查看身份信息 | 任何人 |
35
+ | `/faq_create <名称> <URL>` | 创建知识库并训练 | 仅 Owner |
36
+ | `/faq_query <名称> <问题>` | 知识库问答 | 任何人 |
37
+ | `/faq_share <KB名> <用户ID> <角色>` | 管理 KB 权限 | 仅 Owner |
38
+ | `/faq_list` | 列出可访问的知识库 | 任何人 |
31
39
 
32
- **Notes:**
33
- - This tool runs the full pipeline and may take 2-10 minutes
34
- - It returns the `kb_id` which you need for subsequent queries
35
- - The pipeline stages are: upload → AI extract → build tree → confirm → index
40
+ ### `/faq_share` 详细用法
36
41
 
37
- **Example:**
38
42
  ```
39
- faq_kb_create_and_train({
40
- kb_name: "产品手册FAQ",
41
- file_url: "https://example.com/product-manual.pdf",
42
- description: "产品使用手册的FAQ知识库"
43
- })
43
+ /faq_share 客服知识库 123456789 viewer — 分享(只读)
44
+ /faq_share 客服知识库 123456789 editor — 授予编辑权限
45
+ /faq_share 客服知识库 123456789 revoke — 撤销权限
44
46
  ```
45
47
 
46
- ### `faq_kb_query`
48
+ ## Available Tools
47
49
 
48
- Use this when the user wants to ask a question against an existing knowledge base.
50
+ ### `faq_account_register`
49
51
 
50
- **When to use:**
51
- - User asks a question and you know which knowledge base to query
52
- - User says "search the knowledge base for..."
53
- - User wants an answer from a specific FAQ collection
52
+ OAuth 用户注册/登录(通常由系统自动调用)。
54
53
 
55
- **Parameters:**
56
- - `kb_id` (required): The knowledge base ID (from create or list)
57
- - `question` (required): The question to ask
58
- - `enable_polish` (optional): Set to `true` for LLM-polished answers that synthesize multiple FAQ matches
59
- - `user_id` (optional): For access control
60
- - `session_id` (optional): For conversation context tracking
54
+ ### `faq_account_manage`
61
55
 
62
- **Notes:**
63
- - The knowledge base must be trained (is_active=true) before querying
64
- - The response includes the answer, confidence score, and source references
65
- - A `log_id` is returned for submitting feedback later
56
+ 系统管理员操作:`grant_role` / `list_users` / `my_info`
66
57
 
67
- ### `faq_kb_manage`
58
+ ### `faq_kb_create_and_train`
68
59
 
69
- Use this when the user wants to manage individual FAQ items.
60
+ 一键创建知识库并训练。支持 PDF / DOCX / DOC / TXT / MD。
70
61
 
71
- **When to use:**
72
- - User wants to add a new Q&A pair
73
- - User wants to edit or delete an existing FAQ
74
- - User wants to browse FAQs in a knowledge base
62
+ ### `faq_kb_query`
75
63
 
76
- **Parameters:**
77
- - `action` (required): One of `create`, `update`, `delete`, `list`, `get`
78
- - `kb_id` (required): Knowledge base ID
79
- - `faq_id`: Required for `update`, `delete`, `get`
80
- - `question`, `answer`: Required for `create`; at least one required for `update`
81
- - `keyword`, `page`, `page_size`: For `list` filtering
64
+ 向知识库提问。推荐用 `kb_name`(名称),也支持 `kb_id`。
82
65
 
83
66
  ### `faq_kb_list`
84
67
 
85
- Use this when the user wants to see available knowledge bases or system info.
86
-
87
- **When to use:**
88
- - User asks "what knowledge bases do I have?"
89
- - User wants details about a specific knowledge base
90
- - User wants to delete a knowledge base
91
- - User asks about system status
92
-
93
- **Parameters:**
94
- - `action` (required): One of `list`, `detail`, `delete`, `system_status`
95
- - `kb_id`: Required for `detail` and `delete`
96
- - `keyword`, `tag_name`: Optional filters for `list`
68
+ 列出当前用户可访问的知识库。
97
69
 
98
70
  ## Typical Workflows
99
71
 
100
- ### Workflow 1: Build a knowledge base from scratch
72
+ ### 首次部署
73
+
101
74
  ```
102
- 1. faq_kb_create_and_train(kb_name="...", file_url="...") get kb_id
103
- 2. faq_kb_query(kb_id="...", question="...") get answer
75
+ 1. 服务器启动日志输出 claim secret
76
+ 2. /faq_claim <secret> 认主成功
77
+ 3. /faq_create 客服知识库 https://example.com/doc.pdf → 训练
78
+ 4. /faq_query 客服知识库 如何退款? → 查询
104
79
  ```
105
80
 
106
- ### Workflow 2: Query an existing knowledge base
81
+ ### 分享给团队
82
+
107
83
  ```
108
- 1. faq_kb_list(action="list") find kb_id
109
- 2. faq_kb_query(kb_id="...", question="...") get answer
84
+ 1. /faq_share 客服知识库 987654321 viewer 分享只读
85
+ 2. 对方直接 /faq_query 客服知识库 问题 查询
110
86
  ```
111
87
 
112
- ### Workflow 3: Manually build FAQ content
88
+ ### 普通用户使用
89
+
113
90
  ```
114
- 1. faq_kb_list(action="list") find kb_id
115
- 2. faq_kb_manage(action="create", kb_id="...", question="...", answer="...")
116
- 3. faq_kb_manage(action="list", kb_id="...") → verify
91
+ 1. /faq_list 查看可访问的知识库
92
+ 2. /faq_query 客服知识库 问题 → 查询
117
93
  ```
118
94
 
119
95
  ## Important Notes
120
96
 
121
- - All knowledge base IDs are UUIDs (e.g., `a1b2c3d4-e5f6-...`)
122
- - The `faq_kb_create_and_train` tool is long-running (minutes). Be patient.
123
- - Always check if a knowledge base exists before querying it.
124
- - The API server is at `67.212.146.21:8999` by default.
97
+ - 服务器未认主时,所有命令会提示先认主
98
+ - Owner 创建的知识库默认私有,需通过 /faq_share 开放
99
+ - 普通用户无法创建/删除知识库
100
+ - 知识库可设为公开(is_public),公开后所有用户可查询