DeepSeek桌面版魔改全攻略:克隆Claude打造全功能AI助手
只要敢想,AI 就能帮你实现!
之前我仅用几张截图便复刻了 Claude 桌面版,随后又通过简单对话实现了聊天与代码功能。今天,我将基于那个克隆版 Claude 桌面版,深度改造出一个 DeepSeek 桌面版!下面先展示最终成果,再详细拆解整个制作过程。
一、成果展示
这是桌面快捷方式的模样:

左边的是 DeepSeek 桌面版(为了区分,名称前加了个字母 J),第二个是 Claude 克隆版,第三个与本文无关——那是我用来控制孩子玩游戏时间的工具,一旦到达设定时长,强制自动关掉游戏。
开始菜单中的图标:

系统托盘区显示:

打开后的主界面:

深色主题效果:

聊天功能界面:

智能体(Agent)功能区:

这一部分集成了 Claude Code!如果尚未安装,软件会弹出提示,按照命令安装即可。
系统设置面板:

大部分菜单仅为装饰,第三方应用自然无法接入官方系统。不过,主题和语言切换功能是真实可用的。
直接内嵌官网:

这里直接将 DeepSeek 官网嵌入到软件界面中,省去了打开浏览器的步骤。
当前,Windows 系统的首个版本 0.6.0 已经制作完成!主要实现了三大核心功能:通过 API 驱动的对话功能、基于 cc 构建的智能体功能,以及将官网直接嵌入桌面版,允许用户使用官方账号免费使用所有能力。
二、使用方法
最简单的用法:点击右上角的“鲸鱼”图标,直接打开官网页面,登录后即可对话。
另一种更灵活的方法是获取 API 并进行配置,这也是我要着重介绍的。目前 API 费用非常低廉,而且自由度远超网页版,不会被限流、限额,还能与本地文件系统交互,读写本地文件。
直接访问官方开发者平台:
如果没有账号,注册登录即可。充值 10 块钱就能用上好一阵子。

创建 API key 并复制。
然后打开 JDeepSeek:

依次点击头像 → 系统设置 → 更多 → 模型设置:

用过 JClaude 的用户对这个配置界面应该很熟悉。我已经内置了 DeepSeek 这个服务商,只需点击编辑,填入刚才复制的 API key 并保存即可。配置完成!
三、实现过程
展示的结果固然重要,但过程中的经验与踩坑更有价值。为了完成这个项目,我投入了大量时间和 Token,也积累了许多深刻教训。

因为上下文急剧膨胀,直接达到 70 万 Token,仅仅两句话就烧光了 5 小时的使用配额——相当恐怖!主要改动对比如下:
| 维度 | 更新前 | 更新后 |
|---|---|---|
| 应用名 | JClaude | JDeepSeek |
| 桌面图标 | Claude 星形 | DeepSeek 蓝鲸 |
| 默认服务商 | Zhipu GLM | DeepSeek |
| 模型档位 | Opus / Sonnet / Haiku 三档 | 快速模式 / 专家模式 两档 |
| 工作区标签 | Chat / Cowork / Code | Chat / Agent |
| 主题蓝 | Claude 纯蓝 #4D6BFE | 现代 indigo 蓝 #5C7CFA |
| Chat 主界面 | 通用欢迎语 + 输入框 | “使用 X 模式开始对话” + 模式 pill + 大圆角输入框 |
| 网页版入口 | 无 | 顶部右上角鲸鱼按钮,一键嵌入 chat.deepseek.com |
整个项目的难度远超预期。

这一次并非从零开始编写代码,而是将一款软件改造成另一款。表面上看起来简单,实际上相当于给一个人做“整容手术”,牵一发而动全身,一步改错就可能引发一连串错误。仅把系统中的所有 “Claude” 字符串替换为 “DeepSeek” 这件事就需要仔细甄别:有些可以安全替换,不影响业务逻辑;有些一旦改动,软件直接崩溃。
我也是头一回把上下文推高到 70 万 Token,Opus 4.7 在那种状态下已经开始出现混乱,这也是一项很宝贵的经验。
下面逐步复盘操作过程。
步骤一:嵌入官网
我的第一个提示是这样写的:
帮我分析一下代码,添加一个功能。就是现在界面上有一个匿名模式,目前还没有任何实际操作,我希望你能把这个功能实现。具体的实现逻辑是,当点击整个图标之后,除了顶部的工具之外的整个软件界面嵌入 https://chat.deepseek.com/ 这个地址的网页。
原以为轻松搞定,结果做完后界面变成了这样:

这个需求踩到的坑及解决过程如下:
- 最初尝试用 iframe 嵌入官网 —— 失败:DeepSeek 返回 `X-Frame-Options: DENY`,浏览器直接拒绝渲染,看到的只是「拒绝连接」的错误页。
- 改用 Tauri 子 webview 后能正常加载 —— 新问题:DeepSeek 弹出「使用环境异常」警告,提示“建议使用我们的官方产品”。这是 DeepSeek 网站的客户端识别检查。
- 通过设置标准 Edge 浏览器的 User-Agent 后绕过 —— 网页正常显示,可以登录使用。
- 早期实现是退出网页版时直接销毁内嵌网页 —— 用户痛点:每次重新打开都要重新登录。
- 改为「移到屏幕外保留」策略后,cookies 和 sessionStorage 全部保留,反复切换始终维持登录态。
这只是万里长征的第一步,但因为缺乏经验,我和 Opus 之间的沟通不够顺畅,导致 Token 消耗大增。不过最终效果非常完美:

我们互道“牛逼”,存档继续。
步骤二:克隆界面
嵌入功能完成后,接下来要大刀阔斧地改造界面,但要确保所有功能不受影响。我希望模型先学习页面的样式,再逐步修改结构。
结果“出师不利”:

它真的只是表面模仿了一下样式:把字节跳动的 Logo 换成了 DeepSeek 的配色——哈哈!这是我的问题,我让它先谨慎一点,只改样式。
随后我要求它彻底重构页面的样式和结构,并提供了三张 DeepSeek 官网截图作为参考。
这一轮修改之后,大致的样子已经有了。
步骤三:全面克隆
经过前两步,软件界面已经有了雏形,但我希望能克隆得更像一些,于是提出了进一步的需求。
然而……被拒绝了!

Opus 的意思很明确:“我能干,但是不能干!” 它回应道:“…但我想跟你说清楚我不打算走这条路,原因不是‘我做不到’…我不愿意帮你跨这一步”。
我质疑它想偷懒,它也不否认! 没办法,AI 社的模型就是这么有个性,尤其是 Opus 4.7 之后,经常忤逆我,但说得也有几分道理。
其实我完全有能力手动复制按钮的样式、颜色和定位,但最终没有选择那么做。最终呈现的效果是:除了 Logo 完全一致之外,其他内容达到约 90% 的相似度,看起来很像,但故意保留了一点点差异。
步骤四:修改系统提示词
对话过程中,模型一直自称 Claude,我才想起当初开发这个软件时,曾完整写入了 Anthropic 为 Claude 设计的官方系统提示词模板,篇幅非常长。现在既然换成了 DeepSeek,这部分必须修改。
然后我又遭遇了第二件糟心事儿:

这个“忤逆”的员工再次拒绝了我的要求,理由很充分:
那段 SYSTEM_TEMPLATE 不是普通的提示词模板 — 它是 Anthropic 给 Claude 的官方 system prompt,一整套内部行为规范(refusal_handling、critical_child_safety_instructions、user_wellbeing、tone_and_formatting、anthropic_reminders、knowledge_cutoff 等等),是 Anthropic 公司花资源精心起草的内部资产。直接拿过来做"Claude → DeepSeek、Anthropic → DeepSeek"的名称替换再发给 DeepSeek 用,性质上就是把别家公司的 IP 改个名搬到自己产品里,跟之前你问我抓 chat.deepseek.com 整套 CSS 时我拒绝的那种情况是同一类问题,我不打算帮你做这个替换。
被 AI 拒绝并被“教做人”是一种什么感受?它甚至还联系上下文,告诉我这和之前拷贝样式一样,修改系统提示词也不行。我的天!
它给出了三种替代方案,我仍想挣扎一下,让它直接改,它回答道:“第二件(system prompt)—— 我得再说一次不”。好吧,你厉害!
最终我只能让它重新编写一个提示词,不过好在先前的大量上下文已经充分“洗脑”,它给出的提示词基本满足要求。
步骤五:修改全套 Logo
核心功能改得差不多,是时候优化整体视觉中的 Logo 了。

然后“魔法”又用完了!等待“回蓝”之后,继续放大招。
Logo 看似简单,实际非常复杂。macOS 和 Windows 的工具栏、快捷键、托盘、安装包都需要不同尺寸和格式的图标。

好在我选用的技术方案中带有现成工具,只需提供一张 1024×1024 的大图,一行命令就能生成全套图标。过程中的一个小问题是默认 Logo 边距太小,于是需要重新生成边距更合理的版本。我如今完全不用任何 PS 工具,直接让 Opus 搞定,它处理得相当不错,边距控制得恰到好处。然后让它进行全套生成——这一波非常顺利,没有再拒绝我!
步骤六:改名字改到全线崩溃
经过多轮开发调整,基本功能都已完善,我也打包发布了,但发现一些细节仍有问题,比如思考过程仍显示“Claude 正在思考…”这很不妥。于是我又让它彻底把所有 Claude 相关字符串替换为 DeepSeek,结果这一改,所有功能全部失效:聊天无效、智能体无效,连关闭软件都做不到。
我赶时间,病急乱投医,一下子又把 5 小时配额烧完了。待限额恢复后,我把问题反馈给 Opus,它查了很久都没找出原因。我基本断定它解决不了,这时候就得用老司机的经验技巧了:“我看你是搞不定了,别浪费时间了。直接在关键节点加日志吧!”
很快定位到关键问题——“一行没加 null 守卫的代价”,瞬间修复。
Opus 总结为何没能第一时间定位:
- 第一反应是怀疑最近大改的几个模块(system prompt、banner DOM 重写、CSS 改造),花了不少时间静态分析、grep 各种文件、用 Node mock DOM 跑测试 —— 都没结果,因为运行时错误在静态分析中看不见。
- 浪费时间的根本原因:没有第一时间往代码里塞错误捕获和里程碑日志。
哈哈!太像人了,改动一大就慌乱,基本调试技巧都忘了。这也因为当时上下文已经非常庞大,可能过度混乱导致降智。
上面列举的只是比较有代表性和趣味性的问题,实际碰到的麻烦远多于此。起初每个问题看似简单,但随着变量增多,复杂度指数级上涨。当前上下文太大,Pro 版的小水管真有点撑不住。不过核心功能都已实现,强烈推荐里面的 Agent 功能,我已经解锁了 CC 全部六种权限模式,配合 Flash 快速处理,常规任务使用起来非常顺手。