@sparkelf/dsh-knowledge-base 0.0.0-stage → 0.1.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/LICENSE +21 -0
- package/SKILL.md +147 -0
- package/cordis.patch.yml +5 -0
- package/i18n/zh.json +10 -0
- package/lib/client.js +18308 -0
- package/lib/client.js.map +1 -0
- package/lib/index.js +6005 -0
- package/lib/types/api.d.ts +620 -0
- package/lib/types/client/KnowledgeAudit.d.ts +39 -0
- package/lib/types/client/KnowledgeContextMenu.d.ts +121 -0
- package/lib/types/client/KnowledgeCreateDialog.d.ts +134 -0
- package/lib/types/client/KnowledgeFileTree.d.ts +117 -0
- package/lib/types/client/KnowledgeHome.d.ts +102 -0
- package/lib/types/client/KnowledgeIndexing.d.ts +60 -0
- package/lib/types/client/KnowledgeListing.d.ts +174 -0
- package/lib/types/client/KnowledgeLoading.d.ts +41 -0
- package/lib/types/client/KnowledgeMenuIcon.d.ts +27 -0
- package/lib/types/client/KnowledgePanel.d.ts +58 -0
- package/lib/types/client/KnowledgePermissionOverview.d.ts +147 -0
- package/lib/types/client/KnowledgePermissions.d.ts +47 -0
- package/lib/types/client/KnowledgeProgressPanel.d.ts +53 -0
- package/lib/types/client/KnowledgeReferencePicker.d.ts +81 -0
- package/lib/types/client/KnowledgeSearch.d.ts +83 -0
- package/lib/types/client/KnowledgeSectionHeader.d.ts +71 -0
- package/lib/types/client/KnowledgeSelectionBar.d.ts +45 -0
- package/lib/types/client/KnowledgeSettings.d.ts +96 -0
- package/lib/types/client/KnowledgeSettingsSection.d.ts +21 -0
- package/lib/types/client/KnowledgeShareDialog.d.ts +70 -0
- package/lib/types/client/KnowledgeTemplates.d.ts +43 -0
- package/lib/types/client/KnowledgeTrash.d.ts +62 -0
- package/lib/types/client/MenuGlyphs.d.ts +37 -0
- package/lib/types/client/auditPaging.d.ts +40 -0
- package/lib/types/client/departmentFolders.d.ts +57 -0
- package/lib/types/client/deployTarget.d.ts +34 -0
- package/lib/types/client/index.d.ts +40 -0
- package/lib/types/client/insertReadiness.d.ts +60 -0
- package/lib/types/client/knowledgeMenuCopy.d.ts +23 -0
- package/lib/types/client/locales.d.ts +505 -0
- package/lib/types/client/openInSidebar.d.ts +62 -0
- package/lib/types/client/ownerLabel.d.ts +39 -0
- package/lib/types/client/paging.d.ts +69 -0
- package/lib/types/client/permissionRows.d.ts +265 -0
- package/lib/types/client/progressRules.d.ts +54 -0
- package/lib/types/client/referenceTargets.d.ts +60 -0
- package/lib/types/client/roleSummary.d.ts +47 -0
- package/lib/types/client/saveAudit.d.ts +87 -0
- package/lib/types/client/shareRelations.d.ts +81 -0
- package/lib/types/client/useFavorites.d.ts +49 -0
- package/lib/types/client/useFileDrop.d.ts +171 -0
- package/lib/types/client/useFileDropHook.d.ts +64 -0
- package/lib/types/client/usePinnedPaths.d.ts +39 -0
- package/lib/types/client/useTreeState.d.ts +46 -0
- package/lib/types/client/useViewMode.d.ts +39 -0
- package/lib/types/deploy.d.ts +209 -0
- package/lib/types/extract.d.ts +144 -0
- package/lib/types/extractionQueue.d.ts +154 -0
- package/lib/types/index.d.ts +899 -0
- package/lib/types/permissions.d.ts +237 -0
- package/lib/types/protocol.d.ts +229 -0
- package/lib/types/remote.d.ts +105 -0
- package/lib/types/trash.d.ts +142 -0
- package/lib/types/viewMetadata.d.ts +20 -0
- package/lib/types/views.d.ts +923 -0
- package/package.json +109 -4
- package/skills/kb-organize/SKILL.md +365 -0
- package/skills/kb-organize/i18n/zh.json +10 -0
- package/README.md +0 -3
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 SparkElf contributors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/SKILL.md
ADDED
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: knowledge-base
|
|
3
|
+
description: "Read and change the shared knowledge base: browse, search, create, upload, rename, move and delete documents in the 全局 / 部门 / 个人 trees. Use whenever the user asks about a document in the knowledge base, wants to add a file to it, or asks what the team has documented."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# 知识库 — 增删改查
|
|
7
|
+
|
|
8
|
+
知识库是一个**共享文档存储**,不是聊天附件、不是临时工作区。用户看到的是他自己的一份视图:`/workspace/kb`(宿主侧 `viewRoot`)。这份视图里的三个顶层文件夹决定了文档的可见范围:
|
|
9
|
+
|
|
10
|
+
| 文件夹 | 谁能看到 | 用来放 |
|
|
11
|
+
| --- | --- | --- |
|
|
12
|
+
| `global` | 所有人 | 公司制度、通用规范、全员参考 |
|
|
13
|
+
| `department` | 本部门的人 | 部门流程、值班表、本部门台账 |
|
|
14
|
+
| `personal` | 只有自己 | 草稿、个人笔记、未定稿调研 |
|
|
15
|
+
|
|
16
|
+
**新建文档前先想清楚它属于哪一层。** 放错层的后果是可见范围错了,而移动文档需要写权限——用户可能没有那个权限去纠正。
|
|
17
|
+
|
|
18
|
+
## 一、查(读与检索)
|
|
19
|
+
|
|
20
|
+
### 浏览与读取
|
|
21
|
+
|
|
22
|
+
用户界面里看到的就是这份视图,你也可以直接读同一批文件:
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
ls /workspace/kb/global/
|
|
26
|
+
cat /workspace/kb/global/规范.md
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
三层都要看的时候:
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
find /workspace/kb -name "*.md" -not -path "*/.*" | head -50
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### 用 grep 全文检索
|
|
36
|
+
|
|
37
|
+
**这是知识库最重要的用法**:所有上传的文档在上传时都会自动生成一份 `.md` 文本副本(同名加 `.md`,例如 `报告.docx` 旁边有 `报告.docx.md`),所以 grep 能直接搜到 Word 和 PDF 里的正文:
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
grep -rl "关键字" /workspace/kb --include="*.md"
|
|
41
|
+
grep -rn "关键字" /workspace/kb --include="*.md" | head -20
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
搜到了原文,再决定要不要读整个文件。不要一上来就 `cat` 大文件。
|
|
45
|
+
|
|
46
|
+
### 搜索的局限
|
|
47
|
+
|
|
48
|
+
- 图片里的文字搜不到(解析不覆盖 OCR)
|
|
49
|
+
- 扫描件 PDF 只有 MinerU 能读出文字,读不出时该文件没有 `.md` 副本
|
|
50
|
+
- `.doc`/`.xls`/`.ppt` 老格式靠 LibreOffice 转换,可能丢失表格结构
|
|
51
|
+
|
|
52
|
+
## 二、增(新建与上传)
|
|
53
|
+
|
|
54
|
+
### 新建一个文本文件
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
cat > /workspace/kb/personal/调研笔记.md <<'EOF'
|
|
58
|
+
# 标题
|
|
59
|
+
|
|
60
|
+
正文。
|
|
61
|
+
EOF
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
**路径必须在三个桶之内**,写到 `/workspace/kb/` 根下会落在视图外层、不再受分桶与权限约束。
|
|
65
|
+
|
|
66
|
+
### 上传现成的文档
|
|
67
|
+
|
|
68
|
+
用户拖进知识库的 `docx`/`pdf`/`xlsx`/`pptx` 会自动解析出 `.md` 副本。你也可以自己复制文件进来:
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
cp /root/projects/报告.docx /workspace/kb/department/运维/
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
**用命令直接复制不会触发解析**,没有 `.md` 副本,grep 搜不到内容。需要检索的文档请走界面上传,或在复制后自行转出文本。
|
|
75
|
+
|
|
76
|
+
### 文件名的约定
|
|
77
|
+
|
|
78
|
+
- 中文、空格、括号都能用,但**不要**在文件名里放 `/`
|
|
79
|
+
- 以 `.` 开头的文件被视为隐藏文件,不会出现在列表里
|
|
80
|
+
- 不要手工编辑 `*.docx.md` 这类副产物:下次上传同名文件会重新生成
|
|
81
|
+
|
|
82
|
+
## 三、改(改名与内容修订)
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
# 改名
|
|
86
|
+
mv /workspace/kb/personal/草稿.md /workspace/kb/personal/定稿.md
|
|
87
|
+
|
|
88
|
+
# 改写内容(整篇替换)
|
|
89
|
+
cat > /workspace/kb/personal/定稿.md <<'EOF'
|
|
90
|
+
新内容
|
|
91
|
+
EOF
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
改名或移动时**保持在同一层内**:跨层(例如 `personal/` → `global/`)等于改变可见范围,需要用户明确同意,且调用者的写权限必须覆盖目标层。
|
|
95
|
+
|
|
96
|
+
大范围改写前先备份:
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
cp /workspace/kb/global/规范.md /workspace/kb/global/规范.md.bak
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
## 四、删(删除与恢复)
|
|
103
|
+
|
|
104
|
+
**删除是高风险操作,先确认再执行。**
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
rm /workspace/kb/personal/废弃草稿.md
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
删除前必须做到:
|
|
111
|
+
|
|
112
|
+
1. **确认路径**:把完整路径念一遍给用户听,不要凭记忆删
|
|
113
|
+
2. **确认归属层**:删 `global/` 里的东西影响所有人
|
|
114
|
+
3. **不要用通配符删**:`rm *.md` 在知识库里几乎一定是错的
|
|
115
|
+
4. **先想能不能改名保留**:不确定时改名成 `废弃-*.md` 比删除安全
|
|
116
|
+
|
|
117
|
+
**知识库的回收站目前尚未支持恢复**(功能在设计中)。删除即不可逆,所以:**只要用户没有明确说「删掉」,就不要删。**
|
|
118
|
+
|
|
119
|
+
## 五、权限
|
|
120
|
+
|
|
121
|
+
调用者的可见范围由 DataOps 的授权决定,不是你按目录推断出来的:
|
|
122
|
+
|
|
123
|
+
- 你看得到的文件,是调用者被授权读的文件
|
|
124
|
+
- 写、改、删各自需要对应的授权,读权限不等于写权限
|
|
125
|
+
- 没有权限时操作会失败——**这是正确行为,不要绕过它**
|
|
126
|
+
|
|
127
|
+
如果用户要求访问看不到的文档,正确回答是「你没有该文档的权限,需要管理员授权」,而不是去找别的路径读它。
|
|
128
|
+
|
|
129
|
+
## 六、常见错误
|
|
130
|
+
|
|
131
|
+
| 错误 | 为什么错 | 正确做法 |
|
|
132
|
+
| --- | --- | --- |
|
|
133
|
+
| 把文档写到 `/workspace/kb/` 根下 | 脱离三个桶,权限与可见性都不受控 | 先选层,再写进对应文件夹 |
|
|
134
|
+
| 用 `rm *.md` 清理 | 知识库不是临时目录 | 明确指定单个路径 |
|
|
135
|
+
| 假设 `department/` 里是自己部门的文件 | 目录名是桶名,具体部门在数据层区分 | 以实际列出的内容为准 |
|
|
136
|
+
| 上传后立刻 grep 搜正文 | 解析是异步完成的,且只对可解析格式生效 | 确认旁边有 `.md` 副本再搜 |
|
|
137
|
+
| 读不到文件就去翻 `/nas/kb` 原始库 | 那是权威存储,绕过视图等于绕过权限 | 尊重当前视图的可见范围 |
|
|
138
|
+
|
|
139
|
+
## 七、给用户写操作前的自检
|
|
140
|
+
|
|
141
|
+
动手改任何东西之前,问自己三句:
|
|
142
|
+
|
|
143
|
+
1. **这个路径属于哪一层?** 全局、部门、还是个人?
|
|
144
|
+
2. **用户明确要求了吗?** 还是我在推测他想改?
|
|
145
|
+
3. **改坏了能恢复吗?** 不能的话先备份。
|
|
146
|
+
|
|
147
|
+
三条都清楚再动手。
|
package/cordis.patch.yml
ADDED
package/i18n/zh.json
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_meta": {
|
|
3
|
+
"sourceHash": "manual",
|
|
4
|
+
"model": "manual",
|
|
5
|
+
"translatedAt": "2026-10-21T00:00:00.000Z"
|
|
6
|
+
},
|
|
7
|
+
"title": "知识库",
|
|
8
|
+
"description": "读取和修改共享知识库:在全局 / 部门 / 个人三棵目录树里浏览、搜索、新建、上传、重命名、移动和删除文档。当用户问到知识库里的某个文档、想往里加文件,或想知道团队已经记录了什么时使用。",
|
|
9
|
+
"summary": "把知识库当共享文档存储来操作,而不是聊天附件或临时工作区。先在三个桶里定位文档的归属(全局人人可见、部门本部门可见、个人只有自己),再按用户意图浏览、搜索、读取、新建、上传、重命名、移动或删除;写操作前先确认用户对该路径有写权限,删除进回收站而不是直接抹掉,桶与权限的可见范围始终由 DataOps 授权决定。"
|
|
10
|
+
}
|