一个开发者,因为PDF和Markdown文件太多、整理太麻烦,干脆自己动手写了一套文档管理系统。这个叫Kintara的项目,最初带着Tauri桌面壳,几个月后被他彻底推翻,重构成一个纯Rust服务器。
从桌面壳到纯Rust服务器
![]()
Kintara的架构在开发过程中经历了一次大改。作者最初给Kintara套了一个Tauri桌面壳,但很快意识到这根本不是自己想要的。他直接把桌面层拆掉,围绕一个同时提供API和前端服务的Rust服务器重建了整个应用。
现在,Kintara跑在Docker里,监视一个你已有的文件夹。把PDF、Markdown或纯文本文件丢进去,它会自动索引、提取可搜索文本和元数据、生成缩略图,整个文库可以通过浏览器或可安装的PWA访问。作者说,他现在可以把Kintara指向NAS文件夹,然后在桌面、笔记本、平板或手机上打开同一个文库。
AI功能:可选、轻量、不喧宾夺主
Kintara的AI功能是作者最得意的部分,但他坚持让AI完全可选——不想用的人不开启,就当它不存在。AI能做的事包括:总结文档、建议元数据并填空、为没有封面的文档生成封面图、搜索文库,或者直接和它聊你的文档。
作者特别提到一个叫Find的功能。它不会让模型含糊地说"内容在文档某处",而是要求模型给出带页码的实际段落,先在服务器端对照提取的页面文本验证引用,再对照渲染后的PDF验证一次。如果引用无法定位,就直接丢弃。
不过,作者说最让他惊喜的是AI元数据建议。他的文库里有大量文档的嵌入元数据不完整、不一致或完全没用,手动修复非常枯燥。Kintara能读取文档,建议标题、作者、摘要、关键词、DOI、ISBN和出版年份,然后显示建议,由他选择要应用的字段。听起来是个很小的便利,但当面对几百个文件时,这功能就变得相当实用了。
从"简单整理"到多用户权限系统
Kintara目前支持文库、集合、标签、全文搜索、高亮、收藏、阅读进度、私有文库分享和GitHub OAuth。作者说,这个项目最初的想法只是"想要一个不复杂的文档整理方式",结果一路做到了文件系统监视、OAuth、多用户权限,还顺手加了图片生成功能。
AI功能用起来成本很低。作者说,除了封面图生成稍微贵一点,大多数AI功能每次只消耗极少的token,花费不到一分钱。他特意把AI定位成文库里的工具,而不是让AI接管整个应用。
如果你也攒了一堆PDF和Markdown文件,Kintara这个自托管方案或许值得一看——毕竟,有时候"爱好太多"的终点,就是自己动手写个工具。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.