
深求·墨鉴办公场景应用纸质文档秒变电子版Podman部署教程1. 为什么你需要一个“数字文房”想象一下这个场景你手边有一叠厚厚的会议纪要是同事手写的字迹潦草但内容重要。或者你从图书馆借了一本绝版书里面有几页关键内容需要摘录。又或者你收到了一份扫描的PDF合同需要把条款整理成电子文档。传统做法是什么一个字一个字敲进电脑眼睛盯着屏幕手指在键盘上飞舞半小时可能才处理完一页。效率低不说还容易出错。这就是“深求·墨鉴”要解决的问题。它不是一个冰冷的OCR工具而是一个融合了中国水墨美学理念的“数字文房”。你只需要把文档拍张照片或者把扫描件拖进去点一下那个红色的“研墨启笔”印章几秒钟后工整的电子文本就出来了连排版都给你保留好。更妙的是它生成的是Markdown格式。这意味着你可以直接把内容粘贴到Notion、Obsidian、Typora这些现代笔记软件里标题、列表、表格都自动识别完全不用再手动调整格式。今天我要分享的是如何用Podman这个更轻量、更安全的方式把这个“数字文房”部署到你的电脑上。如果你之前被Docker的权限问题、后台服务搞烦了那这篇教程就是为你准备的。2. 环境准备三分钟搭好你的“砚台墨锭”2.1 安装Podman比Docker更轻的选择你可能听说过Docker但Podman很多人还不熟悉。简单说Podman是Docker的“轻量版兄弟”——它不需要后台守护进程不用root权限就能运行容器命令和Docker几乎一样但更安全、更干净。为什么用Podman跑墨鉴因为墨鉴本身就是一个Web应用用完就关不需要常驻服务。Podman这种“用完即走”的特性正好契合。安装方法很简单一行命令Ubuntu或Debian系统sudo apt update sudo apt install -y podman podman-dockerFedora或CentOS系统sudo dnf install -y podmanmacOS用户去官网 https://podman-desktop.io 下载安装包图形界面安装和普通软件一样简单。安装完成后打开终端验证一下podman --version如果看到类似podman version 4.9.4的输出说明安装成功了。有个小细节podman-docker这个包会创建一个docker命令的软链接。也就是说你以后在终端里输入docker run实际上调用的是Podman。对老用户来说无缝切换对新用户来说更安全。2.2 创建工作目录给你的文件找个“家”墨鉴需要两个地方放文件一个放你要识别的图片一个放识别出来的Markdown文档。我们创建一个专门的目录来管理mkdir -p ~/inkstone/{input,output}这个名字我用了“inkstone”就是砚台的意思。~/inkstone是主目录里面input/文件夹放你要识别的图片支持JPG、PNG格式output/文件夹墨鉴识别完成后生成的Markdown文件会自动放在这里为什么要单独建目录因为Podman运行容器时需要把宿主机的目录“映射”到容器内部。这样容器里生成的文件才能保存在你的电脑上。2.3 获取墨鉴镜像把“文房”请进门墨鉴的官方镜像叫deepseek-ai/deepseek-ocr-2:latest放在Docker Hub上。用Podman拉取podman pull deepseek-ai/deepseek-ocr-2:latest如果你在国内觉得下载慢可以试试这个命令podman pull --override-arch amd64 --override-os linux docker.io/deepseek-ai/deepseek-ocr-2:latest拉取完成后检查一下podman images | grep deepseek-ocr-2应该能看到镜像信息大概3.2GB大小。DeepSeek-OCR-2模型本身比较大所以镜像体积不小但识别精度很高。3. 一键启动三行命令开始“研墨”3.1 最简启动方式进入刚才创建的目录然后运行这个命令cd ~/inkstone podman run -d \ --name mojian \ -p 8080:80 \ -v $(pwd)/input:/app/input:z \ -v $(pwd)/output:/app/output:z \ --usernskeep-id \ --rm \ deepseek-ai/deepseek-ocr-2:latest我来解释一下每个参数是干什么的参数作用为什么重要-d后台运行你关了终端墨鉴还在运行--name mojian给容器起名叫“墨鉴”方便管理比如停止服务时用podman stop mojian-p 8080:80端口映射浏览器访问http://localhost:8080就能打开界面-v .../input:/app/input:z挂载输入目录你往input/里放图片墨鉴就能看到-v .../output:/app/output:z挂载输出目录识别结果自动保存到output/--usernskeep-id保持用户ID一致关键生成的文件归你所有不会出现权限问题--rm退出后自动清理不留垃圾文件保持系统干净这个--usernskeep-id参数特别重要。Docker默认用root用户运行容器生成的文件也是root的你还要用sudo chown改权限。Podman加上这个参数容器里的用户就是你本人生成的文件直接就是你的。3.2 检查服务状态命令执行后会输出一串容器ID比如a1b2c3d4e5f6。这时候墨鉴已经在后台启动了但模型加载需要一点时间。查看是否运行成功podman ps | grep mojian查看实时日志看模型加载进度podman logs -f mojian当你看到类似这样的输出Uvicorn running on http://0.0.0.0:80 (Press CTRLC to quit)就说明墨鉴已经准备好了。现在打开浏览器访问http://localhost:8080你会看到那个熟悉的水墨界面宣纸色的背景左侧是图片上传区中间是红色的“研墨启笔”按钮右侧是预览区域。4. 使用指南四步完成文档数字化4.1 第一步卷轴入画上传图片墨鉴的界面设计得很雅致。左侧区域就是“卷轴”你可以点击“选择文件”按钮从电脑里选图片或者直接把图片文件拖拽到这个区域支持格式JPG、PNG、JPEG。建议图片清晰一些光线均匀文字不要太小太模糊。我测试过几种类型的文档打印文档识别率接近100%连表格线都能识别出来手写笔记工整的手写体识别不错潦草的可能需要后期校对书籍扫描页古籍的竖排文字也能识别但有些生僻字可能认不出屏幕截图完全没问题代码截图都能转成文本4.2 第二步研墨启笔开始识别上传图片后点击中间那个红色的印章按钮——“研墨启笔”。这个设计很有中国风像真的在研墨一样。点击后按钮会变成加载状态右侧区域开始显示识别进度。根据图片复杂程度一般需要3-10秒简单的一页文字3-5秒带表格、公式的复杂页面8-15秒超高分辨率的大图可能更久一些等待的时候你可以看看界面上的水墨动画挺有禅意的。4.3 第三步墨影初现查看结果识别完成后右侧会出现三个标签页墨影初现这里显示格式化后的文本排版美观可以直接阅读经纬原典这里是原始的Markdown源码你可以复制粘贴到任何支持Markdown的编辑器笔触留痕这个功能很实用——它用框线标出了AI识别到的文字区域你可以检查有没有漏掉的部分我特别喜欢“笔触留痕”这个功能。有时候图片边缘的文字可能识别不全或者表格线没完全识别通过这个可视化界面一眼就能看出来。4.4 第四步藏书入匣保存成果确认识别结果没问题后点击底部的“下载 Markdown”按钮。文件会自动保存到你电脑的下载目录文件名就是图片名加上.md后缀。如果你按照我的部署方式文件其实已经同时保存到了~/inkstone/output/目录里。这样有两个好处自动备份不怕浏览器下载失败批量处理时所有文件都在一个地方方便整理5. 办公实战几个真实场景的应用5.1 场景一会议纪要电子化我们每周都有技术评审会以前用白板记录会后总要有人花半小时整理。现在简单了会议结束前给白板拍张照照片拖进墨鉴点“研墨启笔”30秒后Markdown格式的会议纪要就出来了直接粘贴到团队Notion页面加上参会人、时间等信息完事以前整理一页要15分钟现在2分钟搞定。关键是手写的箭头、流程图符号墨鉴也能识别成对应的Markdown语法。5.2 场景二纸质合同转电子版法务同事经常收到扫描的PDF合同需要把关键条款摘出来。传统方法是打开PDF选中文字复制——但很多扫描件本质是图片根本选不中。现在的工作流# 1. 把PDF转换成图片一页一张 pdftoppm contract.pdf ~/inkstone/input/page -png # 2. 启动墨鉴如果还没运行 podman start mojian # 3. 批量上传所有页面 for img in ~/inkstone/input/page*.png; do echo 处理: $img # 这里可以用curl命令批量上传后面会讲 done # 4. 所有页面识别完成后合并成一个文档 cat ~/inkstone/output/page*.md contract_full.md20页的合同10分钟全部转成可搜索、可复制的电子版。法务同事说这是她今年用过最省时间的工具。5.3 场景三技术书籍摘录我是做技术的经常需要从纸质书里摘录代码示例、架构图描述。以前要么手打要么用手机OCR App拍照识别再发到电脑上——流程很割裂。现在书放在桌上手机拍一页AirDrop到Mac或者数据线传到Linux图片拖进墨鉴识别结果直接进Obsidian笔记库最让我惊喜的是墨鉴对代码的识别很准。缩进、括号、注释格式都保留得很好基本上粘贴就能用。6. 进阶技巧让墨鉴更懂你的工作流6.1 批量处理一键转换整个文件夹如果你有一堆图片要处理不用一张张拖。用这个脚本批量上传#!/bin/bash # 批量上传脚本 batch_ocr.sh # 确保墨鉴在运行 podman start mojian 2/dev/null || true # 等待服务就绪 sleep 5 # 遍历input目录下所有图片 for img in ~/inkstone/input/*.png ~/inkstone/input/*.jpg ~/inkstone/input/*.jpeg; do if [ -f $img ]; then echo 上传: $(basename $img) curl -F file$img http://localhost:8080/upload echo # 换行 fi done echo 批量上传完成请在 output/ 目录查看结果。保存为batch_ocr.sh给执行权限chmod x batch_ocr.sh然后把所有图片放到~/inkstone/input/运行脚本./batch_ocr.sh所有图片会自动上传、识别结果保存在~/inkstone/output/文件名和图片名对应。6.2 集成到笔记软件Obsidian自动化我是Obsidian的重度用户给墨鉴写了个小插件其实就是个脚本实现“图片拖进来自动转文本”// Obsidian插件示例监视input目录自动处理新图片 const fs require(fs); const path require(path); const chokidar require(chokidar); const inputDir /home/你的用户名/inkstone/input; const outputDir /home/你的用户名/inkstone/output; // 监视input目录 const watcher chokidar.watch(inputDir, { ignored: /(^|[\/\\])\../, // 忽略隐藏文件 persistent: true }); watcher .on(add, filePath { if (/\.(png|jpg|jpeg)$/i.test(filePath)) { console.log(检测到新图片: ${filePath}); // 调用墨鉴API处理 processImage(filePath); } }); async function processImage(imagePath) { const formData new FormData(); formData.append(file, fs.createReadStream(imagePath)); try { const response await fetch(http://localhost:8080/upload, { method: POST, body: formData }); const result await response.json(); console.log(处理完成: ${result.filename}); // 把结果插入到当前Obsidian笔记 insertToObsidian(result.markdown); } catch (error) { console.error(处理失败:, error); } }这样我在读书时拍的照片自动就变成笔记里的文本了。6.3 资源限制不让墨鉴“吃光”内存DeepSeek-OCR-2模型比较大如果电脑内存小可以限制一下墨鉴的资源使用podman run -d \ --name mojian \ -p 8080:80 \ --memory4g \ # 最多用4GB内存 --cpus2 \ # 最多用2个CPU核心 -v $(pwd)/input:/app/input:z \ -v $(pwd)/output:/app/output:z \ --usernskeep-id \ --rm \ deepseek-ai/deepseek-ocr-2:latest我的笔记本是16GB内存给墨鉴分配4GB其他程序完全不受影响。7. 常见问题与解决方案7.1 识别结果乱码或中文显示为方块这个问题通常是因为系统缺少中文字体。解决方法Ubuntu/Debiansudo apt install -y fonts-wqy-zenhei fonts-liberationFedora/RHELsudo dnf install -y google-noto-sans-cjk-fonts安装后重启墨鉴容器podman restart mojian7.2 点击“研墨启笔”没反应控制台报错大概率是权限问题。检查你的input/目录ls -l ~/inkstone/input/如果文件所有者是root需要改一下sudo chown -R $USER:$USER ~/inkstone/记住Podman用--usernskeep-id运行时要求宿主机文件能被当前用户读取。7.3 想换端口或配置HTTPS如果你想把墨鉴集成到现有网站或者用Nginx做反向代理podman run -d \ --name mojian \ -p 3000:80 \ # 改成3000端口 -e WEB_HOSThttps://ocr.your-company.com \ # 告诉墨鉴外部地址 -v $(pwd)/input:/app/input:z \ -v $(pwd)/output:/app/output:z \ --usernskeep-id \ --rm \ deepseek-ai/deepseek-ocr-2:latestNginx配置示例server { listen 443 ssl; server_name ocr.your-company.com; ssl_certificate /path/to/cert.pem; ssl_certificate_key /path/to/key.pem; location / { proxy_pass http://127.0.0.1:3000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }7.4 苹果M1/M2芯片能用吗完全支持。Podman Desktop for Mac原生支持ARM架构。你什么都不用改直接运行同样的命令Podman会自动拉取ARM版本的镜像。8. 维护与升级像保养文房四宝一样简单8.1 日常开关随用随启墨鉴不需要一直运行。用的时候启动不用的时候关掉# 启动 podman start mojian # 停止 podman stop mojian # 查看状态 podman ps -a | grep mojian因为用了--rm参数停止后容器自动删除不占磁盘空间。但你的input/和output/目录里的文件都还在。8.2 版本升级换支新“墨锭”当官方发布新版本时升级很简单# 1. 拉取新镜像 podman pull deepseek-ai/deepseek-ocr-2:latest # 2. 停止旧容器 podman stop mojian # 3. 用新镜像启动配置不变 podman run -d \ --name mojian \ -p 8080:80 \ -v $(pwd)/input:/app/input:z \ -v $(pwd)/output:/app/output:z \ --usernskeep-id \ --rm \ deepseek-ai/deepseek-ocr-2:latest数据都在配置没变只是换了个新版本。就像砚台还是那个砚台只是换了块新墨锭。8.3 开机自启真正的“数字文房”如果你希望墨鉴开机自动启动可以配置systemd用户服务不用root权限# 创建服务文件 mkdir -p ~/.config/systemd/user cat ~/.config/systemd/user/mojian.service EOF [Unit] DescriptionDeepSeek-Mojian OCR Service Afternetwork.target [Service] Typesimple Restartalways RestartSec10 ExecStart/usr/bin/podman run --name mojian -p 8080:80 -v %h/inkstone/input:/app/input:z -v %h/inkstone/output:/app/output:z --usernskeep-id --rm deepseek-ai/deepseek-ocr-2:latest WorkingDirectory%h/inkstone [Install] WantedBydefault.target EOF # 启用服务 systemctl --user daemon-reload systemctl --user enable mojian.service systemctl --user start mojian.service这样每次登录系统墨鉴就自动启动了。访问http://localhost:8080随时可用。9. 总结效率与美学的平衡点回顾一下我们完成了什么选择了更轻量的Podman不用Docker Daemon不用root权限更安全更干净三行命令部署墨鉴创建目录、拉取镜像、启动服务就这么简单解决了文件权限问题用--usernskeep-id生成的文件直接归你所有融入了实际工作流会议纪要、合同处理、书籍摘录都有了自动化方案掌握了进阶技巧批量处理、笔记集成、资源限制、开机自启但更重要的是墨鉴让我重新思考了工具的意义。我们用了太多“高效但丑陋”的工具界面杂乱体验割裂。墨鉴不同——它把OCR这件事做成了一种有美感的体验。那个宣纸色的背景真的护眼。我连续用一小时眼睛不累。那个“研墨启笔”的按钮每次点击都有种仪式感。识别过程中的水墨动画让人耐心等待而不焦虑。技术不应该只有效率。当工具本身成为一种享受工作也会变得愉悦。最后给个实用建议如果你经常处理纸质文档可以把墨鉴放在浏览器书签栏。遇到需要数字化的内容拍个照拖进去30秒后就有电子版。这种流畅感用过就回不去了。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。