简介:这份面向技术爱好者与开发者的文档,聚焦DeepSeek大模型的多平台部署,内容覆盖本地Ollama运行、苹果手机快捷指令、安卓Termux环境搭建,以及Open WebUI配合Docker Desktop的图形化方案,帮助读者依据硬件条件与使用偏好选择合适路径,降低跨终端配置门槛。压缩包共1个文件,为单一docx文档,大小约15KB,篇幅紧凑,便于在电脑或移动设备上快速查阅。文档已有767人学习,说明多平台部署需求较为集中。正文按部署路径分节组织,涉及模型拉取、接口密钥配置、命令行执行与网页界面联调等关键环节,并给出阶段式操作说明、验证思路和常见问题提示,同时提醒不同系统下的依赖差异与运行检查方式,适合希望把DeepSeek迁移到不同计算平台、需要一份可对照配置参考的开发者收藏。
1. 先弄明白一件事:DeepSeek 部署到底在部署什么
很多新手第一次听到「DeepSeek 部署」这四个字心里就发怵,以为得自己动手做一个 AI 出来。其实不是这样。DeepSeek 本身是一个已经训练好的模型,部署只是把它搬到你能控制的机器上,让它能开口回答你的问题。好比在线用是去餐厅吃饭,部署则是把厨师请回自家厨房——菜还是那些菜,但火候和上菜节奏由你自己说了算。
说人话就是:在你自己的电脑、手机,或者一台你说了算的机器上,让模型跑起来,随时能问、随时能停。这篇从零讲起,只讲新手怎么迈出第一步,不碰底层原理。
2. 为什么要学部署:本地跑模型解决的是谁的痛点
先说一句实话:如果你只是想偶尔问两句、查个资料,网页版就够了,没必要折腾部署。部署真正有价值的场景,是那些网页版给不了你的部分——比如网断了还得用、比如手上有些资料不方便往外发、比如你想让模型固定按你的套路回答、又比如你单纯想搞清楚 AI 模型部署这件事到底是怎么运转的。把这几条想明白,你才不会装到一半嫌麻烦就放弃。
2.1 三条路线先分清:哪条真的在本地跑,哪条其实在上网问
原材料里给了很多条路,新手最容易犯的错是把它们当成同一件事的不同皮肤。其实这几条路的本质差别很大,先分清这一点,后面才不容易翻车。
第一条是电脑上的本地部署,靠 Ollama 这个工具完成。Ollama 干的事很像一个「模型管家」:你去它那儿说一句「我要 DeepSeek」,它就自动把几个 G 的模型文件下载到你硬盘上,然后在你的机器里跑起来。模型是真真切切躺在你电脑里的,断网也能用。
第二条是安卓手机上的本地部署,走 Termux 这条路。Termux 是一个跑在手机上的命令行环境,它让安卓手机能像一台小电脑那样装依赖、编译程序。这条路的本质和第一条一样,都是把模型塞进你的设备,只不过设备从电脑换成了手机,所以要多做一步「编译」。
第三条是iPhone 上的快捷指令,这里必须提醒一句:它听着像「手机部署」,实质并不是。快捷指令干的事是给你做一个按钮,你点一下,它把你输入的问题发出去,再把回答显示出来。模型不在你手机上跑,所以才需要填 API Key。它解决的是「手机上点一下就能问」的体验问题,不是「模型在我手里」的掌控问题。这两件事差别很大,别混。
第四条是Open WebUI 加 Docker,这条路是给前两条配界面的。Docker 你可以理解成一个「标准集装箱」:把软件和它需要的环境一起打包,你直接搬过来就能用,不用管里面装了哪些依赖。Open WebUI 装在集装箱里,跑起来是一个网页聊天界面,背后连的还是你电脑上的 Ollama。所以它不是新的部署方式,是把黑窗口换成能点、能翻、能存历史记录的聊天页。
一句话概括这四条:前两条是真本地,第三条是换了个壳的在线调用,第四条是给本地部署装个好看的门面。搞清楚这个分类,你就知道自己到底在装什么了。
2.2 本地跑和在线用,差别到底在哪
差别可以归成四句话。
第一句是断网也能用。模型文件在你硬盘上,路由器拔了它照样回答,只是第一次下载模型的时候必须联网。这一点对经常在没网环境里干活的人特别重要,血泪经验是:别等到要用了才发现没下模型。
第二句是数据不出门。你输入的内容、你贴进去的文档片段,都只在你机器里转,不会发到别的地方去。很多人开始研究本地部署,起点就是这一点。
第三句是你可以随便折腾。同一个模型,你可以让它固定扮演某个角色、固定用某种格式回答、固定先给结论再给理由。这种「调教」在网页版上是受限制的,本地跑起来想怎么试就怎么试。
第四句是代价:吃硬件、速度慢。这是新手最容易忽略的一条。DeepSeek 这类模型有大小之分,几 B 到几十 B(B 指十亿参数)。参数越大越聪明,但也越吃内存。一台普通笔记本跑一个 7B 左右的模型,16G 内存勉强够,回答速度大概是一边打字一边等;跑更大的模型,机器会开始喘。所以入门阶段,我的建议永远是先选小的、先跑通,再往上加,而不是一上来就挑最大的那个。
2.3 我该选哪条路:一张对着选的表
下面这张表是给零基础的人做选择用的,不是技术对比,看「你手上有什么」和「你想要什么」两列就行。
| 路线 | 你需要准备什么 | 适合谁 | 大概体验 |
|---|---|---|---|
| 电脑 + Ollama | 一台内存 16G 左右的电脑,几十 G 空闲硬盘 | 想真正把模型拿在手里的人 | 最省事,一条命令搞定,终端里对话 |
| 安卓 + Termux | 安卓手机、耐心、一个稳定的网络 | 想在手机上离线用,且不怕折腾的人 | 步骤最多,编译要等,成功后很有成就感 |
| iPhone + 快捷指令 | 一个可用的 API Key | 只想在手机上点一下就能问的人 | 最轻,但不是本地跑模型 |
| Open WebUI + Docker | 已装好 Ollama,再加 Docker Desktop | 受不了黑窗口、想要聊天界面的人 | 装完体验最好,前面多一层环境要配 |
选不出来就看这句话:想省事就从 Ollama 开始,想要界面就加 Open WebUI,想在路上用就再研究手机那两条。不要四条同时开工,会乱。
2.4 上手前先会什么:零基础的前置清单
很多人卡住不是因为笨,是因为缺了几样很小的基本功。入门的话建议先把下面这几件事确认一遍,每件都只要几分钟。
- 会打开终端。macOS 叫「终端」,Windows 叫 PowerShell,安卓上就是 Termux 那个黑底界面。知道怎么打开、怎么粘贴文字、怎么按回车执行就够了。
- 会复制粘贴命令。听起来很傻,但确实有人把命令里的
$和提示符一起复制进去,结果一直报错。命令里以#开头的行是注释,不用敲。 - 知道自己的内存多大。Windows 在任务管理器里看,macOS 点左上角苹果图标看「关于本机」。这个数字直接决定你能跑多大的模型。
- 看得懂报错的第一行。报错往往有好几行,真正有用的通常是第一行和最后一行。看不懂也没关系,把整段复制出来搜,比瞎猜快得多。
- 接受「第一次一定不顺利」。装环境这件事有个玄学:同样的步骤,换一台机器就可能多一步。这不是你的问题。
3. 第一次跑通:用 Ollama 三步把 DeepSeek 装进自己电脑
这一章是全文最该动手的部分。整个过程其实只有三步:装 Ollama、拉模型、开口说话。下面的每一步都落一条命令或者一个动作,照着做就行。
3.1 第一步:装 Ollama,三个系统各点哪里
打开浏览器,访问 Ollama 的官方网站,首页会自动识别你的操作系统并给出对应的下载按钮。macOS 和 Windows 都是下载安装包,双击、一路下一步,装完系统里就多了一个叫ollama的命令。Linux 用户按官网给的脚本装,装完之后在终端里输入ollama --version能看到版本号,就说明成功了。
注意一个新手高频翻车点:装完之后一定要把终端窗口关掉重开一个。原因是你现在开着的这个终端,是在安装之前启动的,它不认识新装进来的命令。很多人装完立刻敲ollama,看到一整屏「command not found」就以为装失败了,其实只是没重开窗口。
重开之后,先跑一条最简单的验证命令:
# 查看 Ollama 版本,能打印出版本号说明安装成功且已进入 PATH ollama --version这条命令只做一件事:确认系统能找得到ollama这个程序。如果它报「不是内部或外部命令」,先回去重开终端;重开还不行,就是安装路径没进环境变量,重新装一次通常比手动改路径快。
3.2 第二步:拉模型并启动,一条命令其实干了三件事
接下来这条命令是整个流程里最重要的一条:
# 拉取 deepseek-r1 的 7b 版本,并直接进入对话模式 # 第一次执行会自动从模型库下载模型文件,大小有几个 G,需要联网和耐心 ollama run deepseek-r1:7b敲下去之后你会看到进度条在哪下载。这里要理解的是,这一条命令实际上连着干了三件事:
第一件是去模型库认领模型。冒号前面的deepseek-r1是模型名字,冒号后面的7b是版本标签,也就是参数量级别。名字和标签共同决定了下载哪一份文件,写错一个字就会提示找不到模型。
第二件是把模型文件下载到本地。这一步只发生在第一次,进度条走完,文件就躺在你硬盘上了。以后再跑同一条命令,它会直接跳到第三步,秒开。所以第一次慢是正常的,别以为是卡死了。
第三件是进入交互式对话模式。下载完成后,光标前面会变成一个提示符,你输入问题、按回车,模型就开始一个字一个字往外吐回答。想退出,按Ctrl + D或者输入/bye。
这里有个值得记住的小技巧:如果你只想下载不想立刻对话,把run换成pull就行;想看看自己机器上到底存了哪些模型,用这条:
# 列出本地已经下载好的所有模型,能看到名字、大小和下载时间 ollama list3.3 第三步:把第一次对话完整跑一遍
模型下好之后,建议按下面这个顺序走一遍,每一步都能验证一个环节是不是通的。
先开一个新终端窗口,启动服务:
# 启动 Ollama 的后台服务,它默认监听本机的 11434 端口 ollama serve正常情况下它会在那儿挂着不动,这表示服务起来了。这时候不要关这个窗口,另开一个窗口去对话。很多人把serve关掉再去run,然后发现连不上,就是这个原因。
再开一个窗口,确认服务真的活着:
# 向本地服务发一个请求,能返回版本信息就说明端口通 curl http://localhost:11434看到返回一串包含版本号的文字,就说明服务在正常运行。这一步看着多余,但它把「服务有没有起来」和「模型能不能回答」拆成了两件事,后面出问题时能快速定位是哪一环坏了。
最后回到对话窗口,问一句简单的,比如「用三句话解释什么是模型部署」。看到回答一个字一个字出来,你的第一次本地部署就算跑通了。这个瞬间挺爽的,我第一次跑通的时候盯着屏幕看了半天,因为那几行字是从我自己电脑里长出来的。
3.4 7b、8b 这些数字是什么意思,选大了会怎样
新手最常问的就是这个。7b、8b里的 B 指十亿参数,你可以把它理解成模型的「脑容量档位」。档位越高,理解复杂问题的能力越强,但对内存的要求也越高,回答速度越慢。
选择的经验是:先按你内存的一半来估。16G 内存的机器,跑 7B 这一档比较稳;8G 内存的机器,建议找更小的版本,或者干脆接受「问一句等半分钟」的节奏。跑到一半机器开始卡、风扇狂转、甚至进程被系统杀掉,八成就是模型选大了——这不是玄学,是内存真的不够用了。
还有一点要提前说清楚:小模型不是大模型的缩小版全能替身。它在日常问答、写短文案、整理思路这些事上够用,但遇到需要长链条推理的活儿,它会明显吃力。入门阶段的目标是「跑通 + 熟悉流程」,不是「一步到位找到最强模型」。
4. 手机端和网页端:另外三条路线的完整走法
电脑上跑通之后,很多人会想:能不能在手机上也能用?能不能别对着黑窗口?这一章把剩下的三条路补齐。建议一次只做一条,做完一条再开下一条。
4.1 iPhone:用快捷指令做一个「点一下就能问」的按钮
先说清楚它的定位:这条路不下载模型,它只是在你手机上做一个按钮,把问题发出去、把答案显示出来,所以必须准备一个可用的 API Key——也就是调用模型服务的凭证,相当于一张通行证。Key 从你使用的服务方那里获取,拿到后自己保存好,别随手发到群里。
具体走法是这样的:
- 用 iPhone 自带的 Safari 打开快捷指令的分享链接,点「获取快捷指令」,把它添加到你的快捷指令库里。
- 打开这个快捷指令,找到需要填 Key 的那一格,把 API Key 粘贴进去。粘贴完退出来再进一次,确认它真的保存住了。
- 第一次运行时,系统会弹窗问你是否允许这个快捷指令访问网络,选「允许」。这一步不点,后面每次都会静默失败,什么提示都没有。
跑通之后,你可以把它加到主屏幕,变成一个图标,点一下就能输入问题。想更顺手一点,还可以把它绑到「轻点背面」上,手机背面敲两下就弹出来。
这里有一个容易被忽略的点:快捷指令这条路和本地部署是两套东西。你在电脑上用 Ollama 跑起来的模型,手机上的快捷指令是够不着的。想在自己手机上调自己电脑上的模型,得让手机和电脑在同一个局域网里,还得额外做端口访问的配置——这件事对新手来说性价比不高,先别碰。
4.2 安卓:在 Termux 里从零把 Ollama 编译起来
这条路是四条里步骤最多的,但它也是唯一一个真正把模型装进手机的方案。耐心一点,一步一步来。
第一步,装 Termux。去它官方发布的安装包页面下载 APK 装上。装完打开,先给存储权限并更新软件包:
# 给 Termux 访问手机存储的权限,执行后会弹窗,点允许 termux-setup-storage # 更新软件包列表并把已装的包升级到最新,-y 表示全部同意 pkg update && pkg upgrade -y第二步,装编译 Ollama 需要的一堆依赖:
# git 用来拉源码,cmake 和 golang 是编译工具,libjpeg-turbo 是图像处理相关的库 pkg install git cmake golang libjpeg-turbo -y第三步,把 Ollama 的源码拉下来并编译:
# --depth 1 表示只取最新一次提交,能省下大量流量和等待时间 git clone --depth 1 https://github.com/ollama/ollama.git # 进入源码目录 cd ollama # 生成编译需要的代码,然后正式编译 go generate ./... go build .go build .这一步会跑挺久,手机性能越弱等得越久,中途屏幕别锁、别切后台,不然容易断。编译完当前目录里会多出一个ollama可执行文件,这就是你的成果。
第四步,启动服务并验证:
# 启动 Ollama 服务,末尾的 & 表示放到后台运行,这样还能继续敲命令 ./ollama serve & # 验证服务是否真的起来了,能返回版本信息就算通了 curl http://localhost:11434第五步,拉模型并对话:
# 拉取模型,标签以你能下载到的为准 ./ollama pull deepseek-r1:8b # 运行模型,进入对话 ./ollama run deepseek-r1:8b注意这里所有的命令前面都带./,因为你运行的是当前目录下的程序,不是系统里安装的程序。这个细节新手特别容易漏,漏了就报「command not found」。
4.3 Open WebUI 加 Docker:把黑窗口换成网页聊天界面
前面几步跑完之后,你可能已经受够了终端:不能翻历史、不能复制长回答、界面也不好看。Open WebUI 解决的正是这件事——它在 Docker 里跑一个网页应用,你打开浏览器就能像用普通聊天工具那样对话。
安装顺序有讲究,别跳步:
- 先确认 Ollama 已经在电脑上装好并且能用(第 3 章那三步跑通过)。
- 再装 Docker Desktop。去 Docker 官网下载对应系统的安装包,装完启动它,等右下角图标变成稳定状态再继续。
- 打开终端,跑下面这条命令把 Open WebUI 拉起来:
# -d 后台运行;-p 3000:8080 把容器里的 8080 端口映射到你电脑的 3000 # --add-host 让容器里能通过 host.docker.internal 访问到你电脑上的 Ollama # -v 把数据存到一个独立的卷里,容器删了聊天记录还在 docker run -d -p 3000:8080 \ --add-host=host.docker.internal:host-gateway \ -v open-webui:/app/backend/data \ --name open-webui \ ghcr.io/open-webui/open-webui:main这条命令里的参数值得逐个知道一下:-p 3000:8080的意思是「外面用 3000,里面用 8080」,所以你在浏览器里访问的是http://localhost:3000;--add-host那一行是关键,没有它,容器里的网页就找不到你电脑上的 Ollama,表现就是登录进去了但一个模型都看不到;-v那一行是给自己留个后悔药,以后换镜像、重建容器,聊天记录不会一起没。
- 打开浏览器访问
http://localhost:3000,第一次会让你注册一个本地账号,随便填,这个账号只存在你自己机器上。
进去之后如果模型列表是空的,回到第 3 章那条ollama serve,确认服务在跑,再刷新页面。镜像名和端口在不同时期可能有变化,一切以仓库首页的说明为准,别死记我这里的写法。
4.4 三条路怎么搭:给新手一个够用的组合
不用全装。我的建议是这个组合:电脑上装 Ollama 打底,再装 Open WebUI 当日常入口,手机端等有需要了再说。理由很实在——Ollama 是地基,Open WebUI 是门面,两个加起来就把「能跑」和「好用」都占了;手机那两条,一条要编译、一条要 Key,都属于「有了更好,没有也不影响入门」。
5. 新手避坑:五个最容易翻车的地方怎么排查
这一章是给已经动手、正在卡住的人看的。下面五条是最高频的,每条按「现象 → 原因 → 解决」写,对号入座就行。
5.1 坑一:命令敲进去提示「找不到这个命令」
现象:敲ollama或者docker,终端回一句「command not found」或者「不是内部或外部命令」。
原因:三种可能。最常见的是装完没重开终端,旧的窗口不认识新装的程序;其次是真的没装上,或者装到了系统不认识的路径里;安卓上则是漏了./,ollama和./ollama对系统来说是完全不同的两个东西。
解决:先关掉终端重开一个,再试。还不行就重装一次,比手动改环境变量省事。安卓上记住当前目录下的程序要加./。
5.2 坑二:模型下载到一半卡住不动,以为死机了
现象:进度条停在某个百分比很久,或者速度从几兆掉到几十 K。
原因:模型文件有好几个 G,下载速度受网络波动影响很大,进度条不动不等于失败。另外硬盘空间不够时,也会表现成下到一半没反应。
解决:先别关,等几分钟看进度条会不会动。确认硬盘还有几十 G 空闲。实在反复失败就换个时间重来,已经下载的部分通常会复用,不用从头开始。
5.3 坑三:一提问机器就卡死,或者进程直接消失
现象:模型能下、能启动,但一问长一点的问题,风扇狂转,机器卡住,终端里的进程没了。
原因:模型选大了,内存不够。系统在内存吃紧的时候会主动杀掉占用最大的进程,表现出来就是「莫名其妙退出了」,其实是被系统清理了。
解决:换更小的版本重来,先把流程跑顺。跑之前关掉浏览器的一大堆标签页和其他吃内存的软件。这一步没有技巧,就是承认硬件有上限。
5.4 坑四:安卓上编译到一半报错退出
现象:go build .跑到中途刷出一堆红色报错,或者go generate就失败了。
原因:多数是依赖没装全,或者中途切了后台导致进程被打断。手机上的编译对内存和电量的要求比想象中高。
解决:把pkg install那一行重跑一遍,确保依赖齐了;编译期间别锁屏、别切应用;实在不行就重新git clone一份干净的源码再编。这条路的容错率确实低,编不过也别怀疑自己。
5.5 坑五:Open WebUI 打开了,但一个模型都看不到
现象:浏览器能进localhost:3000,也能注册,就是模型列表空的,或者报连接失败。
原因:容器里的应用找不到你电脑上的 Ollama。容器是一个相对封闭的环境,它说的localhost指的是容器自己,不是你电脑。
解决:确认启动命令里带了--add-host=host.docker.internal:host-gateway;确认ollama serve在另一个窗口里跑着;确认模型真的下载过(用ollama list看一眼)。三样都对了,刷新页面就出来了。
5.6 出错时的排查顺序:从下往上查,别一上来就重装
新手最常见的反应是「坏了,重装吧」。重装会把已经跑通的部分也一起清掉,反而更乱。建议按这个顺序查:
第一步,看服务在不在。curl http://localhost:11434有没有返回。服务不通,后面全是白搭。
第二步,看模型在不在。ollama list里有没有你要的那个名字。名字对不上,就是标签写错了。
第三步,看端口通不通。浏览器能不能打开localhost:3000。打不开是容器的问题,打得开但没模型是连接的问题。
第四步,才去看日志和报错全文。到这一步再搜,命中率会高很多,因为你知道自己卡在哪一环了。
6. 下一步学什么:从「能跑」到「会用」的三级台阶
跑通第一个例子之后,很多人会陷入一种空转:模型装好了,但不知道拿它干嘛,问两句就没词了。这不是你的问题,是学习路径断了一截。下面这三级台阶,是我见过的零基础新手走起来最顺的顺序。
第一级,先把「怎么问」练熟。同一件事,问法不同,结果差很远。你可以拿一个固定问题反复试:先直接问,再换成「先给结论再给三条理由」,再换成「用给外行解释的口吻」,对比三次的输出。这一步不花任何成本,但收益最大——很多人以为部署是为了跑模型,其实真正决定体验的是你会不会提问。
第二级,把模型接进你的日常流程。比如固定让它帮你整理会议记录、固定用它把一段长文压成要点、固定用它检查邮件语气。做法是把那句固定的指令存成一个文本文件,每次复制过去,而不是每次重新组织语言。这一步的意义在于:你开始有个「助手」,而不是有个「玩具」。
第三级,才去碰参数和界面的进阶功能。Open WebUI 里可以建多个对话、可以给模型预设角色、可以调回复的随机程度。这些东西在你不熟悉模型脾气之前调,只会把变量搞乱。顺序反了,就是玄学。
| 台阶 | 练什么 | 怎么判断自己过关了 |
|---|---|---|
| 第一级 | 同一个问题换三种问法 | 你能说清哪种问法为什么更好 |
| 第二级 | 把一句固定指令存下来复用 | 你有三句每天都在用的指令 |
| 第三级 | 调预设角色和回复参数 | 你能预判改完之后输出会怎么变 |
还有一个具体的技巧值得单独拎出来:给自己建一个「翻车记录」。每次装环境失败,把报错原文和最后解决的动作记一行。我最早那半年全靠这个,因为同样的问题隔一个月一定会再犯一次,而人会忘。有了这份记录,第二次遇到只需要三十秒。
最后说个我自己的习惯。从那以后我每次折腾新环境,都会先在纸上写一句「这次要跑通的最小目标是什么」,写完才开始动手——比如第一次装 Ollama,我的目标就只有「问一句,看到回答」,Docker、界面、手机全都不碰。目标一窄,翻车的面积就小,跑通之后再加东西,心态完全不一样。希望你也能顺顺利利跑通第一个例子,后面的事,一步一步来就好。
本文还有配套的精品资源,点击获取