@linkmind_claw/openclaw-faq-kb 3.0.0 → 3.2.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.
Files changed (33) hide show
  1. package/dist/index.d.ts +7 -11
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +653 -388
  4. package/dist/index.js.map +1 -1
  5. package/dist/lib/api-client.d.ts +23 -39
  6. package/dist/lib/api-client.d.ts.map +1 -1
  7. package/dist/lib/api-client.js +54 -97
  8. package/dist/lib/api-client.js.map +1 -1
  9. package/dist/tools/account-manage.d.ts +5 -7
  10. package/dist/tools/account-manage.d.ts.map +1 -1
  11. package/dist/tools/account-manage.js +104 -70
  12. package/dist/tools/account-manage.js.map +1 -1
  13. package/dist/tools/account-register.d.ts +12 -5
  14. package/dist/tools/account-register.d.ts.map +1 -1
  15. package/dist/tools/account-register.js +51 -28
  16. package/dist/tools/account-register.js.map +1 -1
  17. package/dist/tools/query-kb.d.ts +4 -5
  18. package/dist/tools/query-kb.d.ts.map +1 -1
  19. package/dist/tools/query-kb.js +12 -38
  20. package/dist/tools/query-kb.js.map +1 -1
  21. package/package.json +3 -3
  22. package/skills/faq-kb/SKILL.md +143 -47
  23. package/linkmind_claw-openclaw-faq-kb-1.0.6.tgz +0 -0
  24. package/linkmind_claw-openclaw-faq-kb-1.1.0.tgz +0 -0
  25. package/linkmind_claw-openclaw-faq-kb-1.2.0.tgz +0 -0
  26. package/linkmind_claw-openclaw-faq-kb-1.3.1.tgz +0 -0
  27. package/linkmind_claw-openclaw-faq-kb-1.3.2.tgz +0 -0
  28. package/linkmind_claw-openclaw-faq-kb-1.3.3.tgz +0 -0
  29. package/linkmind_claw-openclaw-faq-kb-1.4.0.tgz +0 -0
  30. package/linkmind_claw-openclaw-faq-kb-2.0.0.tgz +0 -0
  31. package/linkmind_claw-openclaw-faq-kb-2.0.1.tgz +0 -0
  32. package/linkmind_claw-openclaw-faq-kb-2.0.2.tgz +0 -0
  33. package/linkmind_claw-openclaw-faq-kb-2.0.3.tgz +0 -0
@@ -1,77 +1,173 @@
1
1
  ---
2
2
  name: faq-knowledge-base
3
- description: LinkMind 智能知识库四级权限管理、文档训练、智能问答
3
+ description: FAQ 知识库社媒用户注册、权限管理、文档训练、智能问答
4
4
  ---
5
5
 
6
- # LinkMind Knowledge Base Skill
6
+ # FAQ Knowledge Base Skill
7
7
 
8
- ## 四级权限模型
8
+ You have access to a FAQ Knowledge Base system with **user identity & permission management** that lets you:
9
9
 
10
- | 角色 | 说明 | 管理 KB | 设 public/private | 分享 viewer | 管理用户角色 | 查询 |
11
- |------|------|---------|-------------------|-------------|-------------|------|
12
- | Admin | 系统管理员 | 全部 | | | 是 | 全部 |
13
- | Editor | 管理员 | 全部 | 是 | 是 | 否 | 全部 |
14
- | Viewer | 查看者(按 KB 授权) | 否 | 否 | 否 | 否 | 被授权的 KB |
15
- | 无权限 | 普通用户 | 否 | 否 | 否 | 否 | 仅 public KB |
10
+ 1. **Register / login** social-media channel users (Telegram, Discord, etc.)
11
+ 2. **Manage permissions** — grant roles and knowledge base access
12
+ 3. **Create & train** a knowledge base from a document (PDF/DOCX/TXT/MD)
13
+ 4. **Ask questions** against a trained knowledge base
14
+ 5. **Browse knowledge bases** list accessible KBs
16
15
 
17
- - Admin: 通过 `/linkmind_claim` 绑定,或数据库 `role=admin`
18
- - Editor: 由 Admin 通过 `/linkmind_role` 提升
19
- - Viewer: 由 Admin/Editor 通过 `/linkmind_share` 授予(按知识库)
16
+ ## Permission Model
20
17
 
21
- ## Slash Commands
18
+ ```
19
+ Role │ Capabilities
20
+ ────────────┼──────────────────────────────────
21
+ viewer │ Query knowledge bases, list KBs
22
+ editor │ + Create KB, train, manage FAQ
23
+ reviewer │ + Delete FAQ, view audit logs
24
+ admin │ + Delete KB, manage users, grant roles
25
+ ```
26
+
27
+ - New users from social-media channels default to **viewer** (query-only).
28
+ - The Bot Owner (first admin) can promote users via `faq_account_manage`.
29
+ - `kb_scope` controls which KBs a user can access (null = all).
30
+
31
+ ## Available Tools
32
+
33
+ ### `faq_account_register`
34
+
35
+ Auto-register or login a social-media channel user.
36
+
37
+ **When to use:**
38
+ - A new user interacts with the bot for the first time
39
+ - You need to establish the user's identity before other operations
40
+ - The user explicitly asks to register or log in
41
+
42
+ **Parameters:**
43
+ - `channel_type` (required): telegram / discord / slack / web / whatsapp / line
44
+ - `channel_user_id` (required): The user's unique ID on that platform
45
+ - `channel_bot_id` (optional): Bot identifier (default "default")
46
+ - `display_name` (optional): User display name
47
+ - `role` (optional): Initial role for new users (default "viewer")
48
+
49
+ **Notes:**
50
+ - Returns `is_new: true` for first-time users with a freshly generated `api_key`
51
+ - The API Key is automatically cached; all subsequent requests use this user's identity
52
+ - Existing users just get their current identity info (no new key)
53
+
54
+ ### `faq_account_manage`
55
+
56
+ Admin-level account management.
57
+
58
+ **When to use:**
59
+ - Bot Owner wants to promote a user: "让用户 X 也能建库"
60
+ - Admin wants to see who's registered: "看看都有谁在用"
61
+ - User wants to check their own permissions: "我能做什么"
62
+
63
+ **Parameters:**
64
+ - `action` (required): `grant_role` / `list_users` / `my_info`
65
+ - `target_channel_user_id`: Required for `grant_role`
66
+ - `target_channel_type`: Channel type of the target (default "telegram")
67
+ - `role`: The role to grant (required for `grant_role`)
68
+ - `kb_scope`: Array of KB IDs the user can access (null = all)
69
+
70
+ **Notes:**
71
+ - `grant_role` and `list_users` require **admin** permission
72
+ - `my_info` works for any authenticated user
73
+
74
+ ### `faq_kb_create_and_train`
75
+
76
+ One-click knowledge base creation + full training pipeline.
77
+
78
+ **When to use:**
79
+ - User says "create a knowledge base from this document"
80
+ - User provides a file URL and wants to set up a Q&A system
81
+
82
+ **Parameters:**
83
+ - `kb_name` (required): Name for the knowledge base
84
+ - `file_url` (required): URL to the document (PDF/DOCX/DOC/TXT/MD)
85
+ - `description` (optional): Description
86
+ - `tag_name` (optional): Tag for categorization
87
+
88
+ **Notes:**
89
+ - Requires **editor** or above permission
90
+ - Runs 2-10 minutes; polls progress internally
91
+ - Returns `kb_id` for subsequent queries
92
+
93
+ ### `faq_kb_query`
94
+
95
+ Ask a question against a trained knowledge base.
96
+
97
+ **When to use:**
98
+ - User asks a question and you know which KB to query
99
+ - User says "search the knowledge base for..."
100
+
101
+ **Parameters:**
102
+ - `kb_id` (required): Knowledge base ID
103
+ - `question` (required): The question
104
+ - `enable_polish` (optional): LLM-polished multi-FAQ answer
105
+ - `user_id`, `session_id` (optional): For tracking
106
+
107
+ **Notes:**
108
+ - Requires **viewer** or above permission
109
+ - KB must be trained (is_active=true)
110
+
111
+ ### `faq_kb_list`
112
+
113
+ List accessible knowledge bases.
114
+
115
+ **When to use:**
116
+ - User asks "what knowledge bases do I have?"
117
+ - You need to find a kb_id before querying
22
118
 
23
- | 命令 | 功能 | 权限 |
24
- |------|------|------|
25
- | `/linkmind_help` | 使用帮助(按身份展示不同内容) | 所有人 |
26
- | `/linkmind_claim <密钥>` | 绑定 Admin 身份 | 未绑定时第一个用户 |
27
- | `/linkmind_me` | 查看身份信息 | 所有人 |
28
- | `/linkmind_role <用户ID> <editor/user>` | 设置用户角色 | 仅 Admin |
29
- | `/linkmind_create <名称> <URL>` | 创建知识库并训练 | Admin / Editor |
30
- | `/linkmind_share <KB名> public/private` | 切换知识库可见性 | Admin / Editor |
31
- | `/linkmind_share <KB名> <用户ID> viewer/revoke` | 授予/撤销查看权限 | Admin / Editor |
32
- | `/linkmind_query <KB名> <问题>` | 知识库问答 | 所有人(按权限过滤) |
33
- | `/linkmind_list` | 列出可访问的知识库 | 所有人(按权限过滤) |
119
+ **Parameters:**
120
+ - `keyword` (optional): Search by name
121
+ - `tag_name` (optional): Filter by tag
122
+ - `page`, `page_size` (optional): Pagination
34
123
 
35
124
  ## Typical Workflows
36
125
 
37
- ### 首次部署
126
+ ### Workflow 1: First-time user (social media)
38
127
 
39
128
  ```
40
- 1. 服务器启动,安装 Plugin
41
- 2. 第一个用户发送任意命令 自动展示密钥
42
- 3. /linkmind_claim <密钥> → 成为 Admin
43
- 4. /linkmind_create 客服知识库 https://example.com/doc.pdf → 训练
44
- 5. /linkmind_share 客服知识库 public → 设为公开
129
+ 1. faq_account_register(channel_type="telegram", channel_user_id="12345")
130
+ registers as viewer, API Key cached
131
+ 2. faq_kb_list()
132
+ shows available knowledge bases
133
+ 3. faq_kb_query(kb_id="...", question="...")
134
+ → gets answer
45
135
  ```
46
136
 
47
- ### Admin 管理团队
137
+ ### Workflow 2: Bot Owner sets up a new KB
48
138
 
49
139
  ```
50
- 1. /linkmind_role <用户ID> editor → 提升为管理员
51
- 2. Editor 可自行创建和管理知识库
52
- 3. /linkmind_role <用户ID> user → 降为普通用户
140
+ 1. faq_account_register(channel_type="telegram", channel_user_id="owner_id", role="admin")
141
+ registers as admin
142
+ 2. faq_kb_create_and_train(kb_name="客服FAQ", file_url="https://...")
143
+ → creates and trains KB, returns kb_id
144
+ 3. faq_kb_query(kb_id="...", question="退款政策是什么?")
145
+ → verifies the KB works
53
146
  ```
54
147
 
55
- ### 分享知识库
148
+ ### Workflow 3: Owner grants access to a friend
56
149
 
57
150
  ```
58
- /linkmind_share 客服知识库 123456789 viewer → 授予查看权限
59
- /linkmind_share 客服知识库 123456789 revoke → 撤销权限
60
- /linkmind_share 客服知识库 public → 所有人可查询
61
- /linkmind_share 客服知识库 private → 仅授权用户可查询
151
+ 1. (Friend) faq_account_register(channel_type="telegram", channel_user_id="friend_id")
152
+ friend registers as viewer
153
+ 2. (Owner) faq_account_manage(action="grant_role",
154
+ target_channel_user_id="friend_id", role="editor", kb_scope=["kb_abc"])
155
+ → friend can now create/edit in kb_abc
62
156
  ```
63
157
 
64
- ### 普通用户
158
+ ### Workflow 4: Check permissions when denied
65
159
 
66
160
  ```
67
- 1. /linkmind_list查看可访问的知识库
68
- 2. /linkmind_query 客服知识库 如何退款? → 查询
161
+ 1. User tries faq_kb_create_and_train gets permission error
162
+ 2. faq_account_manage(action="my_info")
163
+ → shows role=viewer, can only read
164
+ 3. Tell user: "你当前是 viewer 角色,只能查询。请联系管理员提升权限。"
69
165
  ```
70
166
 
71
167
  ## Important Notes
72
168
 
73
- - 首次使用发 `/linkmind_help` 即可了解所有功能
74
- - 服务器未绑定 Admin 时密钥会自动展示给第一个用户
75
- - Admin 创建的知识库默认私有,需通过 `/linkmind_share` 开放
76
- - Editor 不能管理用户角色,只有 Admin 可以
77
- - 普通用户只能查询 public 知识库和被授权的知识库
169
+ - **Always register first**: Before any KB operation, ensure the user has an identity via `faq_account_register`.
170
+ - **Permission errors**: When a 403 error occurs, guide the user to check their role or contact the admin.
171
+ - **KB IDs are UUIDs**: e.g., `a1b2c3d4-e5f6-...`
172
+ - **API server**: `67.212.146.21:8999` by default.
173
+ - The `faq_kb_create_and_train` tool is long-running (minutes). Be patient.