PandaWiki 本地 AI 知识库实战:文档导入、智能问答与远程访问

PandaWiki 本地 AI 知识库实战:文档导入、智能问答与远程访问

前言

如果资料只是"存起来",其实网盘、文件夹、笔记软件都能完成;真正开始麻烦,往往是在资料越来越多以后:你记得某个问题以前写过,却想不起在哪个 Markdown 里;文档明明都在 NAS 上,但每次查一个细节还是要逐个打开搜索;团队里已经积累了不少说明文档,却很难直接把这些内容变成一个可以检索、可以提问的知识入口。

PandaWiki 的价值就在这里。它不是单纯把文档集中到一个页面,而是让已经存在的资料继续参与 AI 搜索和问答。本文后面会直接用当前教程的 Markdown 文件做一次真实测试:导入、发布之后,询问"如何安装 PandaWiki?",再看模型能不能从这篇文档中找到步骤、展示图片并给出引用来源。

因此这篇文章的重点不只是"把 PandaWiki 装起来"。前半部分会在飞牛NAS上完成安装、模型接入、文档导入与发布;确认本地知识库能够正常检索问答后,再处理第二个需求------如果人在公司、外地或其他网络,怎么继续访问这套本地知识库。

这里使用 cpolar 补充公网访问,但后文会区分两个入口:PandaWiki 管理后台负责维护知识库,WIKI 首页负责搜索和问答。 两个页面用途不同,远程访问时也需要分别处理。

1 PandaWiki:把"文档存储"继续变成"可检索、可问答"

PandaWiki 是一款 AI 大模型驱动的开源知识库搭建系统 ,可以用来构建 产品文档、技术文档、FAQ、博客系统 ,并在已有内容之上增加 AI 创作、AI 问答、AI 搜索 等能力。

如果把这些功能放到实际使用里,可以分成四件事:

  • 内容进入知识库:支持网页 URL、网站 Sitemap、RSS、离线文件等来源导入。
  • 内容继续维护:提供富文本编辑能力,兼容 Markdown 和 HTML,并支持导出为 word、pdf、markdown 等格式。
  • 内容可以被 AI 使用:模型能够围绕知识库内容进行搜索、问答和辅助创作。
  • 内容可以继续对外提供服务:支持网页挂件,也可以与钉钉、飞书、企业微信等应用进行集成。

所以 PandaWiki 更像是在"文档管理"上再加一层检索和问答能力。后面的实测也会围绕这一点展开,而不是只验证页面是否能打开。

2 在飞牛NAS 上部署 PandaWiki

先把运行环境搭好,再谈 AI 问答。这里的顺序很重要:如果 PandaWiki 本身没有稳定运行,后面无论是模型接入、文档导入还是公网访问,都没有意义。

2.1 安装PandaWiki

首先,登录到飞牛NAS,然后打开设置,将ssh这一栏的选项打开

ssh功能打开后,使用shell工具进行远程登录连接,这里以finalshell为例,填写飞牛的相关ssh信息:

连接上ssh,然后切换至root用户(如果已经是用的root用户连接则无需切换),输入如下命令,会提示输入密码(输入不会提示):

shell 复制代码
sudo -i

然后执行如下命令,进入pandawiki的交互式菜单页面:

shell 复制代码
bash -c "$(curl -fsSLk https://release.baizhi.cloud/panda-wiki/manager.sh)"

选择安装(默认在安装选项),然后回车:

选择安装的目录,不修改的话默认直接回车即可:

等待拉取镜像:

安装完成会有如下提示,记住其中的内网访问地址以及用户名密码信息

访问给的内网访问地址,如果出现如下不安全提示,点击高级,然后点击继续前往即可:

继续访问后即可进入登录页面:

输入控制台中的用户名和密码信息,进行登录:

登录成功后即可进入 PandaWiki 首页,说明管理后台已经能够正常访问。

2.2 修改管理员密码

管理后台已经能登录,下一步先把管理员密码调整为后续长期使用的密码。这样后面继续配置模型、文档和公网入口时,不必一直依赖安装阶段生成的初始密码。

鼠标上移到修改密码栏目可以看到如下提示:

前面我们设置的安装位置是/data/pandawiki/,所以我们可以用命令直接修改该目录下的.env文件:

shell 复制代码
vim /data/pandawiki/.env

进入文件后,键盘按I进入编辑模式,然后修改管理后台登录密码栏的密码,修改完成后,按Esc,输入英文的:wq回车即可保存退出:

然后执行如下命令进行刷新(/data/pandawiki为安装目录,安装位置不同则需要替换该部分):

shell 复制代码
docker compose -f /data/pandawiki/docker-compose.yml up -d

2.3 配置智能对话模型

PandaWiki 到这里还只是一个知识库后台,真正让文档具备 AI 问答能力,还需要接入模型。

本文继续使用原文中的 DeepSeek 作为示例。在首页,点击去添加按钮:

然后在左侧选择您要添加的对话模型的供应商,这里以DeepSeek为例(如果您本地有部署AI,也可以使用Ollama本地模型,官网推荐使用DeepSeek模型):

提示需要API Key,我们来到DeepSeek的官网,创建一个API Key:

shell 复制代码
https://platform.deepseek.com/api_keys

创建好后,点击复制粘贴到PandaWikiDeepSeekAPI Key栏目中,然后点击获取模型列表,获取到后,选择一个模型,这里选择Reasoner

模型保存后,系统会继续要求创建一个Wiki站。这里实际上是在创建后面给使用者查看、搜索和提问的知识库页面,因此它和管理后台不是同一个入口。

需要填写知识库名称,这里以测试为例,然后直接点击保存(如果提示:端口可能已被其他程序占用,将80端口换一个即可):

配置完成后,点击右上角的访问WIKI网站进行测试:

测试wiki页面:

能够进入知识库页面,说明 PandaWiki 本体、模型配置和 WIKI 站点已经连通。接下来不急着处理公网访问,先用一篇真实文档验证它到底能不能完成"导入以后直接问"的核心功能。

3 使用PandaWiki:拿一篇真实 Markdown 验证问答效果

这一部分不再只看功能菜单,而是直接用当前文章做测试。目标很简单:把这篇 Markdown 导入 PandaWiki,发布以后提出一个文档中明确存在的问题,再看模型能否从知识库里找到答案。

首先点击右上角的创建文档,参考如下图:

这里先创建一个Markdown文件夹,然后导入一个 markdown 文件。为了让验证结果更直接,原文就使用当前这篇文章作为测试资料。

点击通过离线导入,拖拽或点击选择文件进来即可:

点击拉取数据后,等待一会,然后选择该文件,点击导入数据即可:

导入完成提示:

导入完成还不等于 WIKI 页面已经可以使用这份内容,因此下一步需要发布新版本。

点击完成,接着点击去发布按钮,发布新版本,输入版本号和版本描述(也可以使用默认生成的版本信息),点击确认:

发布成功后再进入访问WIKI网站,这时左侧目录已经能看到创建的Markdown文件目录和刚才导入的Markdown文件,点击文件也可以直接查看 markdown 内容。

到这里可以确认"文档导入 → 发布 → WIKI 展示"这一段已经正常,下一步才是 AI 问答验证:

我们可以点击右上角的搜索输入框,进行提问,或者点击左上角的logo图标回到首页,进行提问:

这里以如下问题进行提问:

shell 复制代码
如何安装PandaWiki?

从页面结果可以看到,DeepSeek已经检索到刚才导入的文档,并基于这份内容进行分析。原文这里使用的是Reasoner,官方推荐使用的是Chat模型;选择 Reasoner 后,输出会带思考过程,因此更容易观察这次检索是否真正命中了知识库内容:

这次测试最有价值的并不是"模型回答出来了"这一句话,而是返回内容能够继续展示文章中的图片,并在结尾给出引用列表,引用当前导入的这篇文章。

也就是说,前面搭建知识库的意义在这里真正体现出来:资料不只是被存进系统,而是可以继续作为回答依据参与检索。

至此,PandaWiki 在局域网内的核心链路已经验证完成:安装、初始配置、模型接入、文档导入与发布都能正常工作,AI 检索问答也已经通过实际文档测试。

如果这套知识库只在家里或办公室内网使用,到这里其实已经够了。下面继续,是因为另一个需求出现了:人在外面时,管理后台和 WIKI 问答页面怎么访问。

4 使用cpolar穿透PandaWiki以支持公网访问

本地验证完成以后,远程访问的问题才值得处理。

这里有一个容易忽略的细节:PandaWiki 实际上存在两个不同用途的页面。一个是管理后台 ,用于登录、维护文档和修改配置;另一个是WIKI 首页,用于浏览知识库、搜索和提问。

如果只是把其中一个端口映射出去,就只能解决一半问题。比如管理后台可以远程打开,但分享给其他人使用的 WIKI 页面仍然只能在局域网里访问。因此这一章会分别处理两个入口,而不是简单地"给 PandaWiki 建一条隧道"。

下面使用 cpolar 增加公网访问路径,PandaWiki 本身的文档、模型和发布逻辑保持不变。

4.1 什么是cpolar?

在本文里,cpolar 只负责把已经正常运行的本地 Web 服务映射到公网。它并不参与 PandaWiki 的 AI 检索、文档管理或模型调用,因此后面如果远程页面打不开,应把"PandaWiki 本身是否正常"和"公网隧道是否正常"分开排查。

  • cpolar 是一款内网穿透工具,可以将你在局域网内运行的服务(如本地 Web 服务器、SSH、远程桌面等)通过一条安全加密的中间隧道映射至公网,让外部设备无需配置路由器即可访问。
  • 广泛支持 Windows、macOS、Linux、树莓派、群晖 NAS 等平台,并提供一键安装脚本方便部署。

4.2 安装cpolar

首先,在finalshell的命令窗口中执行如下命令(非root用户需要输入飞牛云nas的密码):

shell 复制代码
sudo curl https://get.cpolar.sh | sh

安装完成后,执行下方命令查看cpolar服务状态:

shell 复制代码
sudo systemctl status cpolar

cpolar安装和成功启动服务后,在浏览器上输入飞牛云主机IP加9200端口访问Cpolar管理界面,使用官网注册的账号登录,登录后即可看到配置界面,接下来在web界面配置即可:

4.3 穿透PandaWiki项目的WebUI界面

4.3.1 随机域名方式(免费方案)

这里先使用随机域名,不是因为它适合长期使用,而是它更适合做第一轮连通性验证:先确认公网能不能访问,再决定是否需要固定地址。

使用此方式时,系统会每隔 24 小时 左右自动更换一次域名地址。对于长期访问的不太友好,但是该方案是免费的,如果您有一定的预算,可以查看大纲4.3.2固定域名方式 ,且访问更稳定

点击左侧菜单栏的隧道管理,展开进入隧道列表页面,页面下默认会有 2 个隧道:

  • ssh隧道,指向22端口,tcp协议
  • website隧道,指向8080端口,http协议(http协议默认会生成2个公网地址,一个是http,另一个https,免去配置ssl证书的繁琐步骤)

点击编辑website的隧道,修改成我们PandaWiki需要的信息:

接着来到在线隧道列表,可以看到名称为PandaWiki-2443隧道的两条记录信息,一条协议为http,另一条协议为https:

以https为例,访问测试:

公网地址能够打开登录界面后,再使用前面修改过的密码登录。这个测试验证的是第一个入口------PandaWiki 管理后台:

登录后能够正常看到之前上传的Markdown文档,说明管理后台已经可以通过公网访问。

但这还没有完成全部远程访问,因为真正给使用者搜索、提问的WIKI网站是另一个入口。接下来点击设置页面查看它使用的端口:

可以看到,配置的端口为8088(即前面手动配置的端口,默认为80),接下来回到cpolar后台,点击创建隧道:

创建成功后,来到在线隧道列表里面可以看到名称为wiki-index-8088隧道的两条记录信息,一条协议为http,另一条协议为https::

以https为例,访问测试一下:

第二个公网地址能够正常打开 WIKI 页面,并且可以继续进行提问,说明管理后台 + WIKI 首页两个远程入口都已经跑通。

此时随机域名已经完成它最重要的任务:验证公网访问链路。需要注意的是,免费方案每24小时左右会更新域名地址,如果只是偶尔测试影响不大;如果准备长期保存书签、分享给团队或固定使用,下一步再配置二级子域名会更合适。

4.3.2 固定域名方式(升级任意套餐皆可)

前面已经证明两个页面都能从公网打开,接下来处理的就不是"能不能访问",而是"地址是否适合长期保存"。

由于管理后台和 WIKI 首页本来就是两个入口,这里也分别保留两个二级子域名:一个对应管理页面,一个对应知识库首页。这样后续不管是自己维护,还是把问答页面分享给其他人,都不会混用同一个入口。

接下来按原有步骤保留二级子域名:

首先,进入官网的预留页面:

shell 复制代码
https://dashboard.cpolar.com/reserved

选择预留菜单,即可看到保留二级子域名项,填写其中的地区名称描述(可不填)项,然后点击保留按钮,操作步骤图如下:

列表中显示了两条已保留的二级子域名记录:

  • 地区:显示为China Top
  • 二级域名:显示为pandawiki,用来设置知识库管理页面的。
  • 二级域名:显示为indexwiki,用来设置知识库首页提问页面。

注:二级域名是唯一的,每个账号都不相同,请以自己设置的二级域名保留的为主

接着,进入侧边菜单栏的隧道管理下的隧道列表,可以看到名为PandaWiki-2443的隧道,点击编辑按钮进入编辑页面:

来到状态菜单下的在线隧道列表可以看到隧道名称为PandaWiki-2443的公网地址已经变更为二级子域名+固定域名主体及后缀的形式了:

这里以https协议做访问测试:

访问成功!接着来配置知识库首页的固定子域名,回到隧道列表,编辑wiki-index-8088隧道:

填写好二级子域名相关的信息,然后点击更新:

再次来到状态菜单下的在线隧道列表可以看到隧道名称为wiki-index-8088的公网地址已经变更为二级子域名+固定域名主体及后缀的形式了:

以https协议进行访问测试(修改为deepseek-chat模型效果,不进入思考,直接简洁回答):

测试完成后,两个固定二级子域名均已生效:PandaWiki 管理后台WIKI 首页分别拥有自己的 HTTPS 公网入口。

这一步实际上把前面的结构固定了下来:后台继续用于维护,WIKI 首页继续用于阅读和提问,两种用途不需要混在同一个地址里。

5 给Wiki首页添加访问授权验证

公网访问解决以后,还有最后一个问题不能忽略:WIKI 首页默认无需登录即可访问。

如果这个页面只是自己临时测试,影响不大;但一旦地址长期固定,或者知识库接入了需要计费的 AI API,那么"别人拿到链接就能直接提问"就不再只是内容公开的问题,还可能带来额外的调用消耗。

因此这里继续给 WIKI 首页增加一层访问授权。管理后台本身已经有登录机制,这一步重点保护的是前台问答入口。

5.1 为什么需要访问授权?

对 WIKI 首页增加授权,主要对应四类实际风险:

  • 隐私保护:避免未授权访问知识库内容
  • 资源安全:减少 AI API 被无关用户持续调用的风险
  • 访问控制:限制为团队成员或指定人员使用
  • 成本控制:避免公开入口带来额外 API 调用量

5.2 配置访问授权验证

首先,打开cpolar管理界面,进入隧道管理隧道列表,找到wiki-index-8088隧道,点击编辑按钮:

在编辑页面中,点击高级按钮展开高级配置选项,按照下图进行设置:

在HttpAuth这一栏,输入admin:123456 其中【admin】为你想要设置的账号,中间的冒号是英文的(不是中文),【123456】为想要给admin用户设置的密码

5.3 验证授权效果

重新访问你的公网地址,会发现浏览器弹出登录验证框:

输入刚才设置的用户名和密码后即可继续访问。到这里,WIKI 首页不再是"知道链接就能直接打开"的公开入口,而是多了一层基础访问验证。

这并没有改变 PandaWiki 自己的用户体系,只是在公网入口前增加一道访问控制,用来限制谁能进入前台知识库。

总结

这篇文章真正完成的,不只是"在飞牛 NAS 上装了一个 PandaWiki"。

最先解决的是资料如何进入一个统一知识库:安装 PandaWiki、接入 DeepSeek、导入 Markdown、发布 WIKI 版本。随后又通过当前文章做了一次实际验证------提问"如何安装PandaWiki?",模型能够检索到导入文档,继续展示其中的图片,并给出引用来源。到这一步,PandaWiki 才从"文档页面"变成了真正可以围绕资料进行搜索和问答的知识库。

第二部分解决的是知识库从哪里访问 。本地使用时,只需要飞牛 NAS 保持运行;存在异地访问需求后,再通过 cpolar 分别处理 PandaWiki 管理后台和 WIKI 首页。之所以要做两条入口,是因为两者职责不同:一个用于维护,一个用于阅读、搜索和 AI 问答。

固定二级子域名则进一步把这两个入口长期区分开来。最后给 WIKI 首页增加 HttpAuth,并不是为了改变 PandaWiki 本身的登录逻辑,而是因为前台默认可以直接访问;当这个地址准备长期暴露到公网时,多一层访问验证更符合实际使用需求。

因此整套结构最终可以理解为:

  • PandaWiki 管理后台:维护知识库、模型和文档;
  • WIKI 首页:提供阅读、搜索和 AI 问答;
  • DeepSeek:参与知识库检索与回答;
  • cpolar:只处理两个本地 Web 入口的公网可达;
  • HttpAuth:给公开的 WIKI 入口增加额外访问限制。

如果只在局域网里使用,公网部分完全可以不做;如果只自己维护,不准备把 WIKI 页面分享出去,也可以根据实际需要决定是否增加额外授权。

真正有价值的变化,是原本散落在文件里的资料开始具备了新的使用方式:不只是"我记得以前写过",而是可以直接向自己的文档提问,并从答案继续回到原始内容。 这才是这套本地 AI 知识库相较于普通文件整理更值得使用的地方。

相关推荐
天远Date Lab1 小时前
零信任架构实战:基于天远行驶OCR证识别构建自动化高并发物流车队准入网关
人工智能·架构·自动化·ocr
厚皮龙1 小时前
CoT Monitoring 与 Activation Monitoring 总结
人工智能
Dream Cosmos1 小时前
自旋锁:从忙等待、原子操作到线程同步
linux
QYR-分析1 小时前
高端精密制造赋能,管材旋锻机行业市场格局、痛点趋势与发展研判
人工智能·制造
Hody911 小时前
【XR硬件介绍】苹果N50智能眼镜技术解读:Vision Pro让位之后,“无屏AI眼镜”凭什么接棒
人工智能·xr
海宇数据1 小时前
零信任架构实战:基于海宇运营商近3个月平均账单构建自动化分布式租赁网关
人工智能·分布式·架构·自动化
2601_967935561 小时前
PCB制造检测机器视觉系统哪个牌子好?五大品牌能力解析
人工智能·microsoft
极小狐1 小时前
用 Flow 编排 Agent 智能体:极狐GitLab Duo 自定义工作流实战
ai·gitlab·agent·devops·flow·duo
handler011 小时前
【Linux】进程退出、等待与程序替换
linux·运维·exec·进程·进程等待·进程退出·程序替换