# 方寸文档管家 · 用户使用手册
> 版本:v1.3
> 适用软件版本:v1.5
> 最后更新:2026-10-07
目录
- 产品介绍
- 快速上手(5分钟入门)
- 各页面功能详解
- 核心业务流程
- 规则说明
- 桌面收集箱工具
- kkFileView 用法
- 整体注意事项
- 联系我们
一、产品介绍
1.1 整体功能介绍
方寸文档管家 是一款私有化部署的文档知识库系统,帮助您把散落在桌面、手机、下载目录、微信中的各类重要文件,统一收集、自动归档、精准检索。
核心能力:
| 能力 | 说明 |
|---|---|
| 📥 统一收集 | 支持 Web、桌面悬浮窗、文件夹监控等多种收集入口 |
| 📂 智能归档 | 按分类树组织文档,支持标签、推荐分类、批量操作 |
| 🔍 精准搜索 | 支持关键词、短语、排除词、多条件组合,命中精确到块 |
| 👁 多格式预览 | 30+ 种文件类型在线预览(Office、PDF、代码、Markdown、CSV、图片、音视频等) |
| 📝 在线编辑 | 文本、代码、Markdown、JSON/XML、CSV 等类型可直接在线编辑 |
| 🛡 权限与审计 | 多用户、角色权限、登录日志、审计日志、授权管理 |
| :laptop: 全端打通 | Web、桌面悬浮窗、手机浏览器多端可用 |
1.2 适用范围
- 个人用户:管理个人资料、学习笔记、下载文档
- 小团队:部门内共享资料库,无需复杂的服务器运维
- 企业内网:需要私有化部署、数据不出内网、能对接现有认证体系
- 不适合:需要公网访问大规模协作、需要复杂工作流审批的场景
1.3 本软件的特色
- 私有化部署,数据不出内网:所有文档存储在您自己的服务器上,我们接触不到您的数据。
- 支持 30+ 文件格式:从 Office 到代码,从 Markdown 到 PDF,一站式管理。
- 智能分类推荐:根据文件名和内容,自动推荐合适的分类。
- 块级搜索与定位:不只能搜到文档,还能精确定位到文档中的具体位置,并高亮关键词。
- 桌面收集箱:悬浮窗一拖即收,全局快捷键随时唤起。
- 离线授权,机器绑定:无网环境也能使用,授权安全可靠。
二、快速上手(5分钟入门)
场景:把一份 PDF 文件收集到"工作/合同"分类
步骤 1:登录系统
- 打开浏览器,访问
http://服务器地址/ - 首次运行会跳转到"系统初始化",创建管理员账户
- 之后每次访问登录页,输入用户名密码即可
步骤 2:收集文件
- 点击左侧菜单":plus: 快速收集"
- 点击"选择文件"按钮,选中一份 PDF
- 文件被上传到"📥 收件箱",状态为"未整理"
步骤 3:归档文件
- 点击左侧菜单"📥 收件箱"
- 找到刚上传的文件,点击"整理"按钮
- 在弹窗里:
- 确认或修改"归档后标题"
- 选择分类(如"工作 / 合同")
- 勾选标签(可选)
- 点击"确认归档"
步骤 4:搜索文件
- 点击左侧菜单"🔍 搜索"
- 输入关键词(如"甲方")
- 在结果里点击文档标题 → 打开详情页 → 自动定位到命中位置 → 关键词高亮
完成! 这就是文档管家最基本的使用流程。
三、各页面功能详解
3.1 搜索页(首页)
路径:/ 或 /search
权限:登录用户
功能说明
这是文档管家的主入口,支持多条件搜索、结果过滤、搜索历史。
使用说明
基础搜索:
| 输入 | 效果 |
|---|---|
合同 |
搜索含"合同"的文档和内容块 |
合同+发票 |
搜索同时含"合同"和"发票"的文档 |
"合同管理" |
搜索含"合同管理"完整短语的文档 |
合同 -作废 |
搜索含"合同"但不含"作废"的文档 |
title:合同 |
只在标题里搜"合同" |
tag:发票 |
只搜打了"发票"标签的文档 |
type:pdf,docx |
只搜 PDF 和 Word 文档 |
搜索范围:
- 全部(文档 + 内容块)
- 仅标题
- 仅内容
分类和标签过滤:
- 下拉选择分类,只搜该分类(含子分类)下的文档
- 下拉选择标签,只搜打了该标签的文档
- 输入文件类型(如
html,txt,csv),只搜这些类型
结果过滤(搜索后):
- 输入过滤词 → 选择"在结果中包含"或"从结果中排除" → 点"应用过滤"
- 用于从大量结果里进一步筛选
搜索历史:
- 点击搜索框旁的"历史",显示最近 20 条搜索记录
- 点击历史词条可直接搜索
- 点击"清空"清空全部历史
分页:
- 文档命中和内容命中分别分页
- 支持"跳到第 N 页"
注意事项
- 搜索默认不拆分空格:搜
因为 CanEdit()会匹配完整字符串。 - 要搜多个关键词,必须用
+连接。 - 结果过多时会截断(最多 2000 条)。
- 内容命中太多时会截断(每块最多 100 条)。
示例
场景:想找"去年签的、但没作废的合同"
输入:合同 -作废
场景:想找标题里有"周报"的 Markdown
输入:title:周报 type:md
3.2 文件树
路径:/tree
权限:登录用户
功能说明
按分类树展示所有文档,支持展开/折叠、中文拼音排序、展开状态记忆。
使用说明
- 左侧是分类树,点击分类名前的三角箭头展开/折叠
- 点击分类名本身:展开/折叠该分类
- 点击文档链接:在新标签页打开文档详情
- 顶部按钮:
- 全部展开:展开所有分类
- 全部折叠:收起所有分类
- 重置为默认:只展开根分类(二次确认)
- 刷新:重新加载文件树
注意事项
- 展开状态按用户记忆(存在浏览器本地)
- 换浏览器或清缓存后,展开状态重置
- 未分类的文档显示在"未分类"节点下
3.3 已归档
路径:/archive
权限:登录用户
功能说明
展示所有已归档(Status=1)的文档,支持筛选、排序、分页、导出、单删、批量删除。
使用说明
筛选:
- 标题关键词
- 分类(含子分类)
- 标签
- 文件类型(逗号分隔,如
pdf,docx) - 排序:最近归档 / 最早归档 / 标题 A→Z / 标题 Z→A
操作:
- 详情:在新标签打开文档详情页
- 删除:单删(二次确认,删除物理文件 + 数据库记录)
- 导出当前筛选:把当前筛选结果打包成 ZIP 下载(仅 Admin)
- 批量删除筛选结果:删除所有筛选结果(仅 Admin + 白名单,见"注意事项")
批量删除流程:
- 点击":trashcan: 批量删除筛选结果"
- 弹出预检对话框,列出:
- 可删除(文件存在且未被占用)
- 只删数据库(文件缺失或路径为空)
- 不可删除(文件被占用或其它异常)
- 勾选要删除的类别
- 点"确认删除"
- 显示删除进度条
- 完成后显示结果报告(成功/跳过/失败/回滚情况)
注意事项
- 批量删除有白名单:只有 Admin 角色 且 用户名在
appsettings.json的Archive:BatchDeleteAllowedUsers列表里的用户才能看到按钮。 - 单次批量删除上限 2000 个(可配置)。
- 删除是不可恢复的,数据库记录和物理文件都会永久删除。
- 文件被其他程序占用时(如 Word 打开中),该项会被跳过。
3.4 收件箱
路径:/inbox
权限:仅 Admin
功能说明
展示所有未归档(Status=0)的文档,支持单个/批量归档、删除。
使用说明
单个归档:
- 找到文件,点"整理"
- 修改归档标题(默认用原文件名)
- 选择分类
- 勾选标签
- 点"确认归档"
批量归档:
- 勾选多个文件
- 点"📁 批量归档"
- 选择统一分类和标签
- 点"归档 N 项"
- 整体事务:任一项失败 → 全部回滚
批量删除:
- 勾选文件
- 点":trashcan: 批量删除"
- 二次确认
- 不支持整体回滚:已删除的保留删除状态
注意事项
- 归档后文档会从收件箱移到对应分类目录
- 归档时如果遇到同名文件,会自动加数字后缀(如
合同1.pdf) - 批量归档失败时自动回滚物理文件和数据库
3.5 快速收集
路径:/collect
权限:仅 Admin
功能说明
拖拽或选择文件上传到收件箱,是 Web 端的主要收集入口。
使用说明
- 拖拽区域:提示"拖拽无法直接读取本地文件,请使用选择文件"
- 选择文件:点击后打开文件选择器,支持多选
- 上传后显示处理结果:
- ✅ 成功
- ↻ 重复文件,跳过
- :cross_mark: 失败
注意事项
- 拖拽上传受浏览器安全限制,必须点"选择文件"按钮
- 单文件上限 200 MB
- 单次最多 20 个文件
- 上传后文件进入收件箱,需要手动归档
3.6 分类管理
路径:/categories
权限:仅 Admin
功能说明
管理分类树(创建、编辑、删除、移动),分类对应物理目录。
使用说明
新建分类:
- 点":plus: 新建根分类",或点分类行末的":plus:"添加子分类
- 填写:
- 分类名称(必填,不能含
\ / : * ? " < > |) - 图标(可填 Emoji,如 📁)
- 排序号(数字,越小越靠前)
- 上级分类
- 点"保存"
- 系统会同步创建物理目录
编辑分类:
- 点分类名或"📝"进入编辑
- 修改字段
- 点"保存"
删除分类:
- 点分类行末的":trashcan:"
- 二次确认
- 系统会:
- 把该分类下的文件移到
_uncategorized目录 - 把文档的 CategoryId 置空
- 删除分类记录
- 尝试删除空目录
注意事项
- 有子分类时不能删除,需先删除/移动子分类
- 改名或改上级分类时,物理目录同步重命名,文档路径同步更新
- 目录重命名前会预检文件占用,被占用时提示关闭程序
- 数据库失败时自动回滚物理目录
示例
场景:把"工作 / 项目A"改名为"工作 / 项目B"
- 点击"项目A"
- 名称改为"项目B"
- 保存
系统自动:
- 把物理目录
工作/项目A改名为工作/项目B - 更新该分类下所有文档的
FilePath
场景:项目A 下的文件被 Word 打开,改名会失败
- 点击"项目A" → 改名
- 保存时提示"文件被占用"
- 关闭 Word 后重试
3.7 标签管理
路径:/tags
权限:仅 Admin
功能说明
管理标签(创建、编辑、删除),标签是跨分类的横向维度。
使用说明
新建标签:
- 点":plus: 新建标签"
- 填写:
- 名称(不需要
#,系统自动处理) - 颜色(9 个预设 + 自定义 HEX)
- 点"保存"
编辑标签:点标签卡片 → 修改 → 保存
删除标签:
- 点标签行末的":trashcan:"
- 二次确认
- 系统会同时删除所有文档对该标签的引用
注意事项
- 标签名全局唯一
- 标签使用次数=关联的文档数(文档级)
- 删除标签会解除所有关联,文档本身不受影响
3.8 文档详情页
路径:/document/{id}
权限:登录用户(编辑需 Admin)
功能说明
文档的核心操作页面,包含预览、编辑、元信息修改、重新分块等功能。
使用说明
顶部工具栏:
| 按钮 | 说明 | 权限 |
|---|---|---|
| ← 返回 | 回到来源页(Archive 或 Search) | 全部 |
| 📝 编辑 | 进入编辑模式 | Admin |
| :arrow_left_hook: 取消编辑 | 退出编辑模式 | Admin |
| 💾 保存 | 保存标题、分类、标签,或保存内容 | Admin |
| 🔄 重新分块 | 重新解析文档,重建内容块 | Admin |
| 新窗口打开 | 浏览器新标签打开 | 全部 |
| 下载原文件 | 下载原始文件 | 全部 |
左侧信息面板:
- 标题(= 物理文件名,改名时物理文件同步改名)
- 分类(= 物理目录,改分类时物理文件同步移动)
- 标签
- 文本编码(仅文本类,可手动切换)
- 文档元信息:类型、大小、来源、收集时间、内容块数
右侧预览卡片:
- 工具栏:正文预览 / 查看源码 / 展开完整预览 / 新窗口打开 / 下载原文
- 预览区:根据文件类型显示不同的预览方式
- 文档内容:显示内容块,支持展开全部
注意事项
- 标题不能包含
\ / : * ? " < > | - 改标题/分类会移动物理文件
- 文件被其他程序占用时保存会失败
- 内容编辑有文件大小上限(5 MB)
- 内容块数 > 1 时禁止编辑(防止多块文档保存时丢失内容)
- JSON/XML 保存前会做语法校验
示例
场景:修改文档标题
- 打开文档详情
- 修改标题输入框
- 点"💾 保存"
- 系统自动:改数据库 + 改物理文件名 + 处理同名冲突
场景:JSON 文件语法错误
- 编辑 JSON
- 少写一个
} - 点"保存"
- 提示"JSON 语法错误,第 X 行第 Y 列"
- 修正后重新保存
3.9 差异诊断
路径:/diagnostics
权限:仅 Admin
功能说明
对比数据库记录和物理目录,找出不一致的地方。
使用说明
开始扫描:
- 点"开始扫描"
- 系统对比:
- 数据库:分类树、文档路径
- 物理目录:
KnowledgeFiles下的实际文件
- 显示四类差异:
- 分类目录缺失:数据库有分类,物理目录没有
- 文档路径不一致:文档的实际路径与"分类路径+标题"不匹配
- 文档文件缺失:数据库记录的文件在磁盘上找不到
- 物理目录/文件多余:磁盘上有数据库不认识的文件夹或文件
清理孤儿文件:
- 点"🧹 清理孤儿文件"
- 二次确认
- 系统扫描
.deleting残留文件:
- 数据库还有记录 → 恢复原名
- 数据库已无记录 → 永久删除
- 显示清理结果
注意事项
- 诊断只是报告,不会自动修复
- 差异可能是正常的(如手动放了文件),建议逐条判断
- 孤儿文件是批量删除/单删中断留下的残留
3.10 用户管理
路径:/users
权限:仅 Admin
功能说明
管理用户(创建、重置密码、改角色、禁用/启用、删除)。
使用说明
添加用户:填用户名、密码、角色
重置密码:为用户设置新密码
改角色:User ↔️ Admin
禁用/启用:软禁用,禁用后不能登录
删除用户:硬删除
注意事项
- 不能修改/删除/禁用自己
- 不能删除最后一个启用的管理员
- 建议优先用"禁用"而非"删除"
3.11 登录日志
路径:/login-logs
权限:仅 Admin
功能说明
记录每次登录尝试(成功 + 失败)。
使用说明
- 筛选:用户名、结果、时间范围
- 显示:时间、用户名、IP、结果、UserAgent
- 清空:清空所有日志
注意事项
- 日志保留 90 天,超期自动清理
- 结果包括:成功、密码错误、锁定、禁用、用户不存在、空输入
3.12 审计日志
路径:/audit-logs
权限:仅 Admin
功能说明
记录管理员的高危操作(批量删除、导出、重新分块)。
使用说明
- 筛选:用户名、操作类型、时间范围
- 显示:时间、用户、操作、统计(总/成功/跳过/失败)、耗时、筛选条件
- 详情:查看 JSON 明细
- 清空:清空所有日志
注意事项
- 日志不会自动清理,需手动清空
- 建议保留至少 1 年
3.13 授权管理
路径:/license
权限:全部(未登录也能访问)
功能说明
软件授权(激活、续期)。
使用说明
- 复制机器码
- 发送给供应商
- 供应商返回授权码
- 粘贴授权码
- 点"开始授权"
注意事项
- 授权码与机器码绑定
- 授权码有有效期(订阅制)或永久(买断制)
- 续期时会替换当前授权
3.14 查看授权
路径:/license/view
权限:登录用户
功能说明
查看当前授权状态、机器码、试用期信息(管理员可见安全信息)。
使用说明
- 顶部状态行:试用中 / 已授权 / 已过期
- 主信息区:剩余时间 + 机器码
- 详情区:客户名称、授权类型、到期时间
- 安全信息区(管理员):历史最大时间、累计运行、时间回拨、最后授权时间等
3.15 支持的格式
路径:/supported-files
权限:登录用户
功能说明
展示系统支持的所有文件类型、预览方式、编辑条件。
使用说明
- 一、可预览的文件类型
- 二、可编辑的文件类型
- 三、编辑规则
3.16 修改密码
路径:/change-password
权限:登录用户
功能说明
修改自己的密码。
注意事项
- 旧密码必须正确
- 新密码至少 6 位,需包含字母和数字
- 新密码不能与旧密码相同
3.17 关于我们
路径:/about
权限:公共页面(无需登录)
功能说明
产品介绍、服务内容、联系方式、微信二维码。
3.18 免责声明
路径:/disclaimer
权限:公共页面(无需登录)
功能说明
完整的免责声明全文。
注意事项
- 首次登录后需强制同意
- 同意记录存储在数据库
- 版本升级时全体重新同意
四、核心业务流程
4.1 文件收集 → 分类 → 归档
text
复制
下载
┌─────────────────────────────────────────────────────┐
│ 收集入口 │
│ ├─ Web 快速收集页 (/collect) │
│ ├─ 桌面悬浮窗拖拽 │
│ ├─ 全局热键 Ctrl+Shift+K │
│ ├─ 下载文件夹自动监控 │
│ └─ API 上传 (手机端) │
└──────────────────┬──────────────────────────────────┘
▼
┌──────────────┐
│ 收件箱 │ ← 文件进入 _inbox,Status=0
│ (/inbox) │
└──────┬───────┘
▼
┌──────────────┐
│ 整理归档 │ ← 设置标题、分类、标签
│ (inbox 操作)│
└──────┬───────┘
▼
┌──────────────┐
│ 物理文件移动 │ → _inbox → 分类目录
│ (自动) │
└──────┬───────┘
▼
┌──────────────┐
│ 数据库更新 │ → Status=1, CategoryId, DocumentTags
│ (事务) │
└──────┬───────┘
▼
┌──────────────┐
│ 已归档 │
│ (/archive) │
└──────────────┘
归档三步走:
- 收进来:从任意入口把文件收集到收件箱
- 理清楚:在收件箱里给文件设置标题、分类、标签
- 找得到:在归档页或搜索页随时找到
4.2 搜索定位高亮
text
复制
下载
用户输入关键词
▼
┌─────────────────────┐
│ 解析查询语法 │ ← SearchQueryParser
│ · 关键词 │
│ · 短语 "..." │
│ · 排除 -xxx │
│ · title:xxx │
│ · tag:xxx │
│ · type:xxx │
└─────────┬───────────┘
▼
┌─────────────────────┐
│ 文档级搜索 │ ← LIKE 匹配 Title/Summary
└─────────┬───────────┘
▼
┌─────────────────────┐
│ 块级搜索 │ ← LIKE 匹配 Block.Content
│ · 多命中扫描 │
│ · 按行去重 │
└─────────┬───────────┘
▼
┌─────────────────────┐
│ 补算章节/页信息 │ ← 计算命中在文档中的位置
└─────────┬───────────┘
▼
┌─────────────────────┐
│ 结果渲染 │
│ · 文档命中列表 │
│ · 内容命中列表 │
│ · 分页 │
└─────────┬───────────┘
▼
用户点击内容命中
▼
┌─────────────────────┐
│ 打开详情页 │ ← 带 highlight / keywords / matchIndex / ratio
└─────────┬───────────┘
▼
┌─────────────────────┐
│ 定位到目标块 │ ← 分页/章节模式自动加载对应块
│ · 滚动到目标块 │
│ · 高亮关键词 │
│ - 普通命中:黄 │
│ - 首个命中:浅橙 │
│ - 目标命中:深红 │
└─────────────────────┘
五、规则说明
5.1 可预览的文件类型
| 类别 | 文件类型 | 预览方式 | 补充说明 |
|---|---|---|---|
| 图片 | jpg jpeg png gif webp bmp |
原生 <img> |
— |
pdf |
原生 <iframe> |
浏览器内置 PDF 阅读器 | |
| HTML | html htm |
卡片渲染 + 章节/分页导航 | 大文件走分页;多块禁止编辑 |
| Markdown | md |
markdown-it 渲染 | 支持渲染/源码切换 |
| 结构化 | json xml |
structViewer 格式化 + 高亮 | 支持源码视图 |
| 表格 | csv tsv |
csvViewer 表格 | 自动嗅探分隔符 |
| 代码 | py java js ts jsx tsx cs go rs cpp cc cxx c h hpp sql css scss sass less php rb lua pl sh bash bat cmd ps1 kt scala swift dart r vue svelte jsonl |
codeViewer 高亮 | 超过 10 MB 退化纯文本 |
| 纯文本 | txt log |
iframe text/plain | 支持编码切换 |
| 配置文件 | ini yaml yml toml conf env config cfg properties |
iframe text/plain | 支持编码切换 |
| 视频 | mp4 webm |
原生 <video> |
其他格式走 kkFileView |
| 音频 | mp3 wav ogg |
原生 <audio> |
— |
| 压缩包 | zip rar 7z tar gzip gz |
仅下载 | 不支持在线预览 |
| MHTML | mhtml mht |
mhtml-viewer.js | 前端解析 MIME |
| Office / WPS / ODF / 工程图纸 / 其他 | doc docx xls xlsx ppt pptx wps et dps odt ods odp rtf ofd xmind epub eml dwg dxf dwf stl ifc avi mov mkv |
kkFileView | 依赖外部 kkFileView 服务 |
| 未知类型 | 其他 | 仅下载 | 兜底 |
5.2 可编辑的文件类型
| 类别 | 文件类型 | 编辑器 |
|---|---|---|
| 纯文本 | txt log |
textarea |
| Markdown | md |
Monaco |
| 代码 | py java js ts jsx tsx cs go rs cpp cc cxx c h hpp sql css scss sass less php rb lua pl sh bash bat cmd ps1 kt scala swift dart r vue svelte jsonl |
Monaco |
| 结构化 | json xml |
Monaco |
| 表格 | csv tsv |
textarea |
| 网页 | html htm |
textarea(仅单块可编辑) |
| 配置文件 | ini yaml yml toml conf env config cfg properties |
textarea |
5.3 编辑规则
| # | 规则 | 定义来源 |
|---|---|---|
| 1 | 文档大小 > 5 MB:不能编辑 | FileSizePolicy.EditableMaxBytes |
| 2 | 内容块数 > 1 块:不能编辑(防止多块文档保存时丢失内容) | DocumentDetail.razor → CanEdit() |
| 3 | 非编辑文件类型:不能编辑 | FileTypeCatalog.EditableTextExtensions |
编辑保存时自动处理:
- 保留原文件编码(UTF-8 / GBK / UTF-16 等)
- 保留原文件 BOM
- 保留原文件换行风格(CRLF / LF)
- JSON/XML 保存前做语法校验
- 内容级去重:与已有文档内容完全相同时给出提示
5.4 搜索 / 定位 / 高亮 文件类型矩阵
| 能力 | 含义 | 决定因素 |
|---|---|---|
| 搜索 | 关键词能否命中该文件 | 入库时是否解析文本并写入 Blocks.Content |
| 定位 | 打开详情页后能否跳到命中位置 | 详情页是否给对应类型提供容器 ID |
| 高亮 | 命中处的关键词是否标黄 | 容器是否可被 JS 访问,且内部有文本节点 |
完整支持:搜索 + 定位 + 高亮
| 类别 | 文件类型 | 备注 |
|---|---|---|
| 纯文本 | txt log |
分块模式,容器 text-content-{Id} |
| Markdown | md |
容器 md-viewer-{Id},按 # 标题分块 |
| 代码 | py java js ts jsx tsx cs go rs cpp cc cxx c h hpp sql css scss sass less php rb lua pl sh bash bat cmd ps1 kt scala swift dart r vue svelte |
容器 code-viewer-{Id} |
| 配置 | ini yaml yml toml conf env config cfg properties |
分块模式 |
| 结构化 | json xml jsonl |
容器 struct-viewer-{Id} |
| 表格 | csv tsv |
容器 csv-viewer-{Id} |
| 网页 | html htm |
html-frame-{Id} 或 shadow DOM |
| 单文件网页 | mhtml mht |
容器 mhtml-frame-{Id} |
仅支持搜索:能搜到,但定位/高亮缺失
| 类别 | 文件类型 | 原因 |
|---|---|---|
pdf |
浏览器原生 viewer,JS 无法访问内部 DOM | |
| Word | docx |
kkFileView 渲染,跨域/封闭 |
| Excel | xlsx |
同上 |
| PPT | pptx |
同上 |
体验:搜索能命中,但点进去看不到高亮,需要手动翻。
完全不支持:搜索不到
图片、视频、音频、压缩包、Office 旧格式、WPS、OpenDocument、RTF、OFD、思维导图、电子书、邮件、工程图纸、3D 模型等。
六、桌面收集箱工具
6.1 功能说明
WPF 桌面应用,提供悬浮窗、全局热键、文件夹监控。
6.2 安装与启动
- 把
KnowledgeBase.Shell.exe+appsettings.json放到用户电脑 - 建议路径:
%LOCALAPPDATA%\KnowledgeBase\Shell\ - 双击运行
- 系统托盘出现彩色圆点图标
6.3 托盘图标颜色
| 颜色 | 含义 |
|---|---|
| 🟢 绿色 | 文件夹监控中 |
| 🟠 橙色 | 监控已暂停 |
| ⚪️ 灰色 | 监控未启用 |
6.4 悬浮窗使用
- 打开:右键托盘 → "显示/隐藏悬浮窗"
- 拖拽:把文件拖到悬浮窗 → 自动上传
- 结果提示:显示成功/重复/失败统计
- 隐藏:点悬浮窗右上角的 ✕
6.5 全局热键
- 默认
Ctrl+Shift+K:打开 Web 端的"快速收集"页 - 可在
appsettings.json里修改
6.6 右键发送
- 略...
6.7 文件夹监控
- 默认监控
%USERPROFILE%\Downloads - 可在
appsettings.json里配置多个 - 新文件出现时自动上传到收件箱
6.8 注意事项
- 首次运行需要配置
BackendUrl和BackendApiKey BackendApiKey必须与 Blazor 端的Shell:ApiKey一致- 单实例:第二次启动会把文件路径转发给主实例
- 开机自启:把快捷方式放到
shell:startup
七、kkFileView 用法
7.1 kkFileView 是什么
第三方 Java 服务,用于预览 Office / WPS / ODF / 图纸等文件。
7.2 支持的文件类型
- Office:
docdocxxlsxlsxpptpptx - WPS:
wpsetdps - OpenDocument:
odtodsodp - 富文本:
rtf - 国标:
ofd - 思维导图:
xmind - 电子书:
epub - 邮件:
eml - 图纸:
dwgdxfdwf - 3D 模型:
stlifc - 视频:
avimovmkv
7.3 使用说明
- 用户无需直接操作 kkFileView
- 在文档详情页打开上述类型文件时,自动通过 kkFileView 预览
7.4 管理员维护
- 启动:
D:\kkFileView\bin\startup.bat - 停止:
D:\kkFileView\bin\shutdown.bat - 日志:
D:\kkFileView\logs\kkFileView.log - 配置:
D:\kkFileView\config\application.properties
7.5 注意事项
- 大文件转换可能较慢(几十秒)
- 首次预览某文件时转换,之后走缓存
- 缓存目录会持续增长,建议定期清理
八、整体注意事项
8.1 数据备份
- 强烈建议定期备份数据库和
KnowledgeFiles目录 - 数据库备份:SSMS 完整备份 + 事务日志备份
- 文件备份:
robocopy或其它工具,定期镜像到异地
8.2 文件操作
- 不要在 Windows 资源管理器里手动改动
KnowledgeFiles下的文件 - 如需批量修改,请通过系统功能操作
- 文件被程序占用时,操作会失败
8.3 多用户
- 支持多用户同时使用
- 不同用户的账号、登录日志隔离
- 授权是整机级,与用户无关
8.4 授权
- 授权绑定机器码
- 授权到期前 15 天开始黄色提醒
- 到期前 3 天开始红色提醒
- 授权过期后无法使用
8.5 免责声明
- 首次登录需同意免责声明
- 版本升级时会重新弹窗
- 同意记录存储在数据库
8.6 浏览器兼容
- Chrome 90+
- Edge 90+
- Firefox 88+
- 手机浏览器(响应式布局)
8.7 性能
- 单文件上限 200 MB
- 建议单次批量操作 ≤ 500 个文件
- 大文件预览/编辑需要耐心等待
九、联系我们
方寸软件
| 联系方式 | 号码 |
|---|---|
| 微信 | fhf9075407 |
| 邮箱 | 9075407@qq.com |
服务范围:
- 🔐 授权服务(购买、续期、换机)
- 🛠 功能定制
- 💼 其它产品服务
如需了解产品、授权、定制服务或其它合作事宜,欢迎随时联系。
文档版本:v1.3
适用软件版本:KnowledgeBase v1.5
最后更新:2026-10-07
反馈邮箱:9075407@qq.com
附:常见问题速查
| 问题 | 解决 |
|---|---|
| 上传文件失败 | 检查文件大小(≤ 200 MB)和数量(≤ 20 个) |
| 归档后找不到文件 | 去"已归档"页面搜,或在"文件树"找 |
| 搜索不到某些文件 | 查看"搜索支持矩阵",PDF/Office 只支持搜索不支持定位 |
| 预览 Office 文件空白 | 检查 kkFileView 服务是否正常 |
| 编辑时保存失败 | 检查是否被其他程序占用;检查文件大小是否超 5 MB |
| 授权到期 | 打开 /license 查看机器码,联系供应商续期 |
| 忘记密码 | 联系管理员重置 |
| 想删除文档 | 在"已归档"页点删除;批量删除需白名单 |
| 桌面工具连不上 | 检查 BackendUrl 和 BackendApiKey |
| 悬浮窗拖拽无反应 | 检查悬浮窗是否被禁用;查看托盘图标颜色 |
祝您使用愉快! 📚
📊 统计信息
总轮数:1 轮 | AI 回答数:1 条
总字符数:101,432 | 总字数:14,438
导出时间:2026/10/7 13:25:11
导出工具:方寸DS网页导出助手 V3.0
源码下载: https://pan.baidu.com/s/1yPzHgFt6aL0xo64qzI1xkQ?pwd=7121 提取码: 7121