☰
从WebUI到桌面版:DeepSeek本地AI工作台搭建实战
2026/10/7 18:45:23 网站建设 项目流程

如果你和我一样,日常主力模型就是 DeepSeek,那你大概率逃不过一个问题:到底是继续在浏览器里挂一个 WebUI,还是换一个正经的桌面版客户端?我自己在 Open WebUI 上泡了大半年,一开始觉得 WebUI 挺方便——不用装软件、浏览器打开就能用,配上 Docker 部署后感觉自己也是"部署过 AI 服务的人了"。但时间一长,痛点一个接一个冒出来:标签页多到崩溃、工作流保存迷之失败、想导出聊天记录做资料整理时格式乱成一锅粥。最后在某个周五晚上,我忍无可忍,把社区里那个 DeepSeek 桌面版装上了。用了一周之后,我把浏览器里那套 WebUI 整个关掉,再也没回头。这篇文章不聊太玄的东西,就说说我实际踩过的坑、桌面版怎么配置、接入 API 和本地模型分别怎么搞,以及两个星期里发现的那些小毛病。

1. WebUI 让我崩溃的三个瞬间:从多标签到工作流丢失

在说桌面版多好用之前,先交代一下我为什么放弃 WebUI。不是说 WebUI 一无是处,对临时用一下、不需要长期维护的人来说,它依然是个不错的选择。但如果你像我一样把它当日常主力工作台,以下三个问题基本绕不过去。

1.1 浏览器当工作台的天然尴尬

我最开始用 Open WebUI,图的是"不用装客户端"。实际上 WebUI 这个词本身就意味着:对话界面跑在服务端,用户用浏览器访问。问题在于,浏览器不是为"常驻型工作台"设计的。

我日常工作流是:Chrome 常年开着十几个标签,其中一个就是 Open WebUI。每次想开始一段新对话,得在一堆标签里翻找。更难受的是内存占用,一个 WebUI 页面往往吃掉几百兆内存,对话一长页面就开始卡顿,滚动时会明显掉帧。这是 Electron、浏览器渲染这类方案的通病——你加载的不只是一段对话,还有整个前端运行时、Markdown 渲染器、流式解析器这些组件。

还有一个隐藏问题:浏览器标签是"易失"的。我至少遇到过三次误关标签页的损失,有时候是正在生成回复,标签一关,整段上下文要从头再来。WebUI 确实有会话记录,但在服务端;标签页一刷新,页面要从服务端重新拉历史消息,拉回来之后往往还要等很久才能继续输入。至于服务端哪天悄悄挂了,你在浏览器里只会看到"连接失败"或"无法连接到服务器",然后背上一个排查运维问题的锅。

1.2 工作流保存问题:不是你不会用,是它真不好用

"WebUI 里怎么保存工作流"这个搜索词热度一直很高,我特别理解。因为我当初也搜过。

在浏览器环境里,WebUI 的工作流保存往往依赖 localStorage 或服务端数据库。听起来技术上是可行的,但实际用起来很痛苦。我先花了一个下午搭了一个"综述生成工作流",里面包含几个固定的提示词模板、读取文献摘录的步骤、以及一个输出 Markdown 结构的要求。搭的过程不复杂,问题出在保存之后——某次我给部署 WebUI 的服务器更新镜像,重启之后所有自定义工作流全部清空。因为是自部署服务,数据库文件和镜像没有做好持久化挂载,等于我那个下午白干。

退一步说,就算数据库没丢,WebUI 这类网页应用的工作流管理也偏"黑盒"。你保存的东西存在哪里、以什么格式存放、能不能纳入版本管理,这些问题基本没有好答案。对于做代码、写文档的人来说,没法用 Git 管理的工作流配置,本质上就是不可靠的。我当时就意识到,WebUI 更适合"聊了就忘"的场景,不适合"我想把一套流程沉淀下来反复用"的场景。

1.3 导出的混乱:想做资料整理的时候才最崩溃

真正让我崩溃的是导出。DeepSeek 这类大模型聊天工具,对话记录本身是有价值的资产。我在 WebUI 里聊了很多关于数据库调优的内容,想整理成一篇团队内部文档,于是点导出。导出选项倒是有几个,但出来的东西一言难尽:JSON 文件里结构混乱,Markdown 导出则丢掉了代码块的语言标注,表格变成一行行纯文本,长对话导出后文件乱到没法看。

这种问题在网页工具里非常常见,因为网页端的渲染和导出是两套逻辑:页面上好看,导出的数据却不完整。后来我又试了手动复制,结果复制出来的 Markdown 在粘贴进编辑器后图片链接、代码缩进全部变形。从那一刻起我就决定:必须换一个把数据当作本地文件来管理的客户端。也正是这个念头,把我推向了 DeepSeek 桌面版。

2. 桌面版的第一次启动:从下载到跑通第一个对话

决定换桌面版之后,我花了点时间研究市面上的方案。这里有个背景要先说清楚:至少在我写这篇文章的时候,DeepSeek 官方主推的是网页端和 API,桌面版基本都是社区项目封装出来的东西,名字五花八门,常见的有 Harness、Hermes 这些分支,底层思路却一致:把 DeepSeek 的 API 或本地推理服务封装进一个原生桌面壳子里,类似 ChatGPT 桌面版、Claude 桌面版的形态。我最后选的是 Harness 系的一个发行版,后面说的功能都基于这个版本。

2.1 桌面版到底是个什么东西

用一句话解释:桌面版是一个"装了轮子的 DeepSeek 客户端",你自己带模型(通过 API)或者带引擎(本地推理服务),它负责提供界面、会话管理、插件、快捷键这些外围体验。

它和 WebUI 的本质区别在于:WebUI 的界面和对话数据都在服务器上,你每次打开浏览器都是"访问";桌面版则是把界面和数据都放在你本地,模型在远端还是本地,只影响回答的来源,不影响整个工作台的存在感。换句话说,WebUI 是网吧模式,桌面版是包间模式——后者能存私货、能断网恢复、能自己动手改造。

如果你想确认自己下载的桌面版是不是真正基于本地存储,装好后去安装目录或用户配置目录里看一眼,会发现明显的会话数据文件夹,里面是 JSON 或 SQLite 文件。我第一次看到这些文件时,心里反而踏实了——数据终于在我可控的范围里了。

2.2 安装过程:没有想象中麻烦,但有几个小坑

我分别在 Windows 和 macOS 上装过。Windows 那一遍最顺:下载 exe 安装包,双击下一步,几分钟就好。唯一需要注意的是 SmartScreen 可能会弹一个"未知发布者"的提示,因为社区签名证书不一定齐全,遇到这种情况不要慌,确认下载来源没问题后点击"仍要运行"即可。

macOS 多了两步。一是从网上下载的未签名应用,首次打开会提示"无法验证开发者",需要到"系统设置-隐私与安全性"里手动允许;二是如果提示应用已损坏,通常是 quarantine 属性没去掉,终端里执行xattr -dr com.apple.quarantine /Applications/你的应用.app就能解决。

装完之后启动,它会让你配置一个本地数据目录,我建议不要用默认位置,改成自己专门建的一个目录,比如~/deepseek-workspace。这样后续备份、同步、清理都方便,而且如果你以后想管理多台机器,直接把目录拷贝过去,会话记录就都跟着走了。

2.3 接入 DeepSeek API:三步跑通对话

桌面版本质上是一个 HTTP 客户端,背后调用的是 OpenAI 兼容的/chat/completions接口。搞清楚这一点,配置就很简单了。我在设置页面里填了三样东西:

配置项我填的值说明
Base URLhttps://api.deepseek.comDeepSeek 官方接口地址,部分客户端需要写成/v1,取决于实现
API Keysk-xxxx在 DeepSeek 开放平台创建,按量付费
模型名deepseek-chat或deepseek-reasoner普通对话用前者,需要推理过程用后者

第一次跑通对话之后,我特意用 Python 脚本手动调了一次同样的接口,确认桌面版在背后确实就是发一个标准请求:

from openai import OpenAI client = OpenAI( api_key="sk-xxxx", base_url="https://api.deepseek.com" ) resp = client.chat.completions.create( model="deepseek-chat", messages=[{"role": "user", "content": "你好"}], max_tokens=1024 ) print(resp.choices[0].message.content)

搞懂这层关系,后续排查问题就简单了:如果桌面版提示 401,先检查 Key 是不是填错;如果提示模型不存在,检查模型名是否和官方文档一致;如果一直转圈没响应,用这段脚本直接请求,能通说明问题在桌面版的网络设置上,和模型本身无关。

2.4 进阶路线:接本地 vLLM 部署的 DeepSeek

如果你对数据隐私要求高,或者想彻底摆脱 API 计费焦虑,可以选择本地部署模型,然后让桌面版指向本地服务。DeepSeek 模型权重可以从官方渠道获取,我用 vLLM 跑过一次,启动命令大致长这样:

python -m vllm.entrypoints.openai.api_server \ --model /path/to/deepseek-model \ --served-model-name deepseek-local \ --port 8000

启动后,桌面版的 Base URL 改成http://127.0.0.1:8000/v1,模型名改成deepseek-local,其他配置不动,一样能聊。我实测下来,本地路线的优点是免费、离线可玩、数据不出内网;缺点是显存要求高、响应速度取决于你的显卡、而且部署维护本身有一堆活。API 和本地的取舍,我列了一张表:

对比项官方 API本地 vLLM
成本按 token 计费一次性硬件投入
响应速度取决于服务端负载取决于显卡性能
数据隐私请求会经过服务端完全内网
部署难度零部署需要配置环境和下载权重
模型更新官方直接升级需要自己拉新权重

我的选择是两者都配:日常写代码、写综述走官方 API,速度快、模型最新;涉及内部文档评审时切到本地服务,图个安心。桌面版可以保存多套服务配置,切换成本很低。

3. 真正留住我的三件事:会话、工作流、导出

安装配置只是第一步,真正让我决定把 WebUI 卸掉的核心原因,是桌面版在会话管理、工作流和导出三方面的体验完全不一样。这三件事都是用出来的,不是看参数看出来的。

3.1 会话管理:终于在本地落盘了

WebUI 最大的问题是"会话属于服务器",桌面版把这个问题彻底反转了:会话属于本地文件。

现在我在桌面版里为每个项目建独立会话,一个项目一个目录,会话标题按"项目名_日期"命名。写了一半关掉电脑,第二天打开,会话还在原位置,上下文一条不少。如果我正在生成回复时手滑关掉了应用,重新启动后它会提示"恢复到上次会话",直接接着生成,不用再重新组织语言。

更爽的是搜索。之前用 WebUI 时,找一个上周聊过的内容,我得在历史列表里翻半天。桌面版的会话数据是结构化的,直接搜关键词,几秒钟就能定位到是哪一天的哪段对话,还能跳到当时的回复上下文里看前后文。这种"把对话当成文档来检索"的体验,是浏览器标签完全给不了的。

3.2 工作流真的能保存了:Skill 和插件机制

桌面版最打动我的点,是它把"工作流"变成了一堆看得见、摸得着的文件。以 Harness 系客户端的 Skill 机制为例,一个 Skill 就是一个文件夹,里面用 YAML 或 Markdown 定义一段能力,比如"代码评审""SQL 优化""文案润色",每个 Skill 都可以配置自己的提示词、规则和参数。

我搭过一个代码评审 Skill,文件内容大致是这样:

name: code-review description: 对 git diff 进行代码评审,输出按严重程度分级的建议 rules: - 先读取 diff,再逐条分析 - 问题按 critical / major / minor 分级 - 每个问题必须给出修改方向和示例

关键在于,这些文件是纯文本,我能直接扔进 Git 仓库管理。哪次改了规则效果变差,git diff一目了然,改坏了还能一键回退。这在 WebUI 里是不可想象的——网页应用的自定义工作流,充其量活在数据库的某个表里,更新一次镜像就全没了。

热词里有一条"deepseek harness 代码回退",我猜很多人也遇到过插件升级之后不兼容的情况。桌面版的回退逻辑很简单:Skill 目录本身就是版本化的,把上一个能用的版本记录在 Git 里,升级后出问题就git checkout回来。我后来养成了一个习惯:每次新增或修改 Skill 都顺手提交一次,等于是给自己的 AI 工作流上了一道保险。

3.3 导出到 Markdown/JSON:从素材到成稿

WebUI 导出格式乱的问题,在桌面版得到了解决。它的导出功能会按照 Markdown 结构把整个会话落盘,代码块保持语言标注,表格保持对齐,连消息的角色和时间戳都能保留。我整理数据库调优的对话记录时,直接导出成一份 Markdown 文件,再用 Pandoc 转成团队文档,整个过程基本不用手动清洗。

更实用的场景是写综述。我在桌面版里把十几篇文献的要点分多条消息喂给模型,让它按照固定结构输出综述草稿,然后把这段对话导出为 Markdown,作为初稿素材库。导出后的文件里有我每条提问的原始描述,也有模型的输出,后面改稿时能非常清楚地看到哪些结论是模型推的、哪些依据是我自己贴的。这种"可追溯性",在写技术方案和综述时特别重要。

4. 把桌面版接进工具链:Codex、内网 Skill 部署和价格管理

桌面版不是一个孤岛,它完全可以嵌进已有的开发工具链里。这一章说说我怎么把它和 Codex CLI、内网部署、成本管理串起来用的。

4.1 和 Codex CLI 配合:桌面版管长对话,终端管代码

Codex CLI 是 OpenAI 系的一个终端编程工具,但它可以配置成访问第三方兼容 API。我把它指向 DeepSeek 的接口之后,桌面版和终端工具就形成了分工:处理长文档、综述、思路梳理这类需要反复上下文的活儿,交给桌面版;代码仓库里机械性的重构、批量替换、小 bug 修改,直接开终端跑 Codex CLI。

这里多说一句配置上的注意事项。Codex CLI 的环境变量具体叫什么,不同版本不一样,最好的办法是看它仓库里的文档说明。但不管哪个版本,都建议把 API Key 放到环境变量里,而不是写进项目配置文件然后误提交到 Git。我见过同事把 Key 直接写进 shell 脚本的,后来仓库一公开,整个账号的额度被刷爆,这就是纯纯的学费。

4.2 把 Skill 部署到内网服务器

热词里有一条是"deepseek harness 附带 skill 怎么部署到内网服务器",这题我会。如果你在团队里负责维护一套共用的 AI 工作流,做法其实不复杂:把定义好的 Skill 目录打包,传到内网服务器上的共享目录,然后在桌面版的配置里把 Skill 的加载路径指向这个共享目录。

这样做的意义在于:团队所有人用的是同一套规则,评审标准统一,Prompt 模板也能集中维护。谁改了 Skill,其他人下次触发时自动用新版,不用挨个去别人机器上同步。更重要的是,内网服务器意味着模型请求可以指向团队内部的推理服务,数据完全不出内网。这个部署方式对合规要求高的项目非常友好。

唯一要提醒的是权限。共享目录不能让所有人都能写,否则某个人误改一个规则文件,全团队的工作流都会跟着变。我在服务器上建了一个只读账户给客户端加载用,只有管理员账户才有写权限。

4.3 成本控制:桌面版也要盯紧 API 账单

桌面版用起来太顺手,就很容易忽略一个现实:背后调的是 API,花钱是真的在花。DeepSeek 的定价在同类模型里算便宜的,但日常高频使用,一个月累积下来也够吃一顿火锅。

我的控制方法很简单:给不同任务设置不同的上下文长度预算。短问答和代码补全用 8K 上下文,长文档分析才用 32K 以上。原因在于,API 计费是按 token 数算的,而上下文越长,每次请求携带的历史 token 就越多。一个 128K 上下文的会话,哪怕模型每次只回复 500 字,光是把前面 100K 历史重新发给模型,费用就在悄悄上涨。

另外我一般关掉自动重试,并且把max_tokens设一个合理上限。不然遇到复杂问题,模型可能反复输出冗长回复,费用很快超预期。桌面版的设置页里基本都有这些参数,用之前花两分钟看一眼,能省不少冤枉钱。

5. 两周实测后的避坑清单:这些事没人提醒我

最后说说我用了两周之后总结出的避坑经验。桌面版虽好,但它毕竟还在快速迭代期,有些坑踩完之后你才会意识到"原来还能这样"。

5.1 上下文窗口别再往死里调

我第一次用桌面版,看到一个"上下文窗口"设置项,脑子一热直接拉满。结果就是:会话变得又卡又贵。原因其实上文提过——上下文窗口越大,每轮请求携带的历史 token 越多,API 计费和本地显存占用同步上升。

现在我自己按场景分配:日常问答 8K,代码任务 16K,长文综述 32K。除非真的有长文档要分析,否则不要长期挂着大窗口。桌面版的好处是给不同会话分别设置是可行的,别一个全局设置通吃所有对话。

5.2 导出格式问题的真正根因

桌面版导出偶尔也会出现格式问题,但根因和 WebUI 不一样。WebUI 是导出逻辑本身不完整,桌面版更多是因为会话里的内容本身不规范——比如模型输出的代码块没写语言标签、表格用了不标准的写法、或者某个插件对内容做了二次包装。

解决思路也不一样:与其导出后手工清理,不如在对话开始时就让模型遵守格式。我通常会在首条消息里加一句"输出使用标准 Markdown,代码块必须标注语言类型,表格使用管道语法"。实测下来,加了这句之后导出质量明显提升。这是一个典型的"把要求前置"的经验,而不是事后补救。

5.3 升级要谨慎,配置先备份

桌面版迭代频繁,几乎每周都有新版本。多数时候升级是无感的,但有两次我升级之后发现某个 Skill 失效了——不是规则内容变化,而是插件协议改了,旧 Skill 不兼容新版本。

我的应对是两层:第一,Skill 目录纳入 Git 管理,出问题随时回退;第二,升级前看一眼更新日志,如果涉及插件协议或者配置格式变更,先不动,等插件作者适配了再升。社区项目不像商业软件那样保证向后兼容,软件版本比你想象中的活跃,回退能力就是安全感来源。

5.4 多模型切换的隐形坑

桌面版支持在同一个会话里切换模型,但这里藏了一个坑:历史消息里包含上一个模型的输出格式,有些模型支持工具调用,有些不支持。我在一个会话里先用deepseek-reasoner做推理分析,再切到deepseek-chat继续聊,结果后面的对话里偶尔出现参数格式解析问题,报错信息指向"unknown tool call"。

现在我给自己定了一条规矩:同一个会话从头到尾只用一个模型,真想对比效果,开新会话。反正桌面版开新会话的成本很低,没必要在一个会话里混用。

最后再分享一个小习惯:我在桌面版里新建会话时,标题一定写成"项目名_日期";Skill 文件每次改动都提交 Git;导出的对话记录按周归档到项目目录。这套组合拳打下来,桌面版对我来说已经不是"替代 WebUI 的工具",而是把 DeepSeek 变成了一个真正常驻在本地的 AI 工作台。如果你也正在被 WebUI 的会话丢失、格式混乱和工作流保存问题折磨,找个下午换个桌面版试试,大概率会和我一样不再回头。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询