Doc Browser 是一款面向开发者与知识工作者的本地文档浏览器桌面应用,支持 16 种文档格式(Markdown/JSON/CSV/HTML/代码文件等)与 8 种图片格式的快速预览与浏览。核心功能包括:文件树懒加载导航、全文搜索与内容高亮、Markdown 自研解析器与语法高亮、JSON 格式化与 CSV 表格渲染、图片预览(含 SVG)、多标签页浏览、思维导图导航、画廊/网格视图切换、文件收藏与书签、文件夹变更自动监听、版本快照管理(文件快照预览与恢复)、明暗主题切换、侧边栏宽度拖拽调整、键盘快捷键导航、文件管理操作(新建/重命名/删除)以及设置面板。应用采用零网络依赖的纯本地架构,所有数据均在用户设备上处理,无需登录即可使用,适合需要频繁查阅大量本地 Markdown 文档、技术笔记、API 文档和代码文件的开发者与写作者。
本项目采用 Tauri v2 框架构建跨平台桌面应用,前端为纯 HTML/CSS/JS 零框架单文件架构(约 2400 行),后端使用 Rust 单文件实现(约 570 行)。技术选型上,Tauri 相比 Electron 具有显著的体积优势(打包后约 3MB vs Electron 的 80MB+)和内存占用优势,Rust 后端通过 IPC 机制向前端暴露文件系统操作命令(目录扫描、文件读写、搜索、文件夹监听等)。前端通过 window.__TAURI__.core.invoke() 调用 Rust 命令,无任何前端构建工具链(Webpack/Vite 等),直接加载原生 HTML。主要技术挑战包括:WebKit(WKWebView)引擎兼容性问题(不支持正则 lookbehind,需用回调替代)、-webkit-app-region: drag 导致子元素点击事件被拦截的解决方案、大文件保护机制(>1MB 自动截断预览)、以及 macOS Finder 右键 Quick Action 集成。UI 层完全手写 CSS,使用 CSS counter 实现行号显示,highlight.js 提供 40+ 语言代码语法高亮,notify crate 实现文件系统变更实时监听。