DeepSeek 终于出手了。
8 月 13 日,DeepSeek 发布 Harness v0.1;消息一出来,很多讨论都指向同一个问题:国产 Claude Code 来了吗?
大家会这么兴奋,很正常。过去一年,Codex 和 Claude Code 已经把 AI 编程推到了一个新阶段:你不再逐行教它写代码,而是交给它一个任务,看它自己读文件、改代码、跑命令,再回来告诉你结果。
Harness 往前走了另一条路。它把一款 Agent 拆开给开发者看:模型可以换,工具可以换,Agent 怎样调用工具也能重新组合;继续拆下去,连会话、权限和 UI 都是插件。
DeepSeek 把这套设计概括成一句话:Everything is a plugin。
一切皆插件。
![图片[1]-我给 DeepSeek Harness 造了一个GUI,才发现“一切皆插件”也是有代价的 - AI资源导航站-AI资源导航站](https://www.aitube.vip/wp-content/uploads/2026/08/20260821_6a881285eeceb.png)
Harness 把 Agent 拆成可以独立替换、重新组合的模块。
我看到 UI 也能替换时,脑子里冒出的第一个念头很朴素:能不能把它做成 Codex 那样的桌面端?
我不想每次打开 PowerShell,不想记启动命令,也不想对着浏览器地址栏工作。我想双击桌面图标,看到项目、会话和设置;最好再酷一点,极光、粒子、扫描线全部开上,光污染也没关系。
于是,我真给它造了一个。
赛博朋克风GUI
我保留了 DeepSeek 官方 Harness 的模型、会话和工具,桌面启动与视觉交给外面这层壳。启动器会先拉起本地服务,等页面准备好,再用 Edge 的应用模式打开一个独立窗口。
这个模式很讨巧。Edge 会藏掉地址栏、标签页和侧栏,还会使用单独的用户目录;用户看到的是一款桌面应用,电脑不用再安装一套打包好的 Chromium。
打开后的第一眼,已经有点像 Codex 了。
顶部保留文件、编辑、视图和帮助;左边能看到“新对话”“拉取请求”“站点”“已安排”“插件”,中间继续使用 Harness 的真实会话。背景里有缓慢移动的极光,粒子会彼此连线,窗口边缘还跑着霓虹光。
![图片[2]-我给 DeepSeek Harness 造了一个GUI,才发现“一切皆插件”也是有代价的 - AI资源导航站-AI资源导航站](https://www.aitube.vip/wp-content/uploads/2026/08/20260821_6a8812877e323.png)
我给 Harness 做出的赛博朋克桌面端
很快,它卡了。
我让 Harness 检查自己的 UI
我在会话里输入了一句话:“你自己检查下你的 UI 为啥好卡。”
Harness 没有给我一段泛泛的优化建议。它开始查进程、端口、内存和 CPU,顺着连接找到承载页面的 Edge 渲染进程;随后又打开主题文件,数里面用了多少动画、模糊和阴影。
整轮诊断跑了四分多钟,三轮会话里执行了十四步。结果也很明确:本地 Harness 服务几乎不忙,Edge 的渲染进程却接近七百兆内存,采样时几乎吃满一个 CPU 核心;电脑当时只剩一点六 GB 左右的可用内存,滚动和流式输出都开始发涩。
还有一个很朴素的原因。为了检查页面,我同时开着 Edge 应用窗口和 Codex 内嵌浏览器,两套 Chromium 正在渲染同一套霓虹动画。
两个窗口都在发光,电脑就得画两遍。
这次自检让我第一次感受到 Harness 的实力。当前会话使用 PTC 模式,模型会写一段 TypeScript,把一组相关工具放进同一次执行;它能沿着真实环境不断往下查,而非每执行一步都停下来重新请求模型。
可我也碰到了一个更有意思的问题:Harness 已经有能力查清自己的卡顿,一款好用的桌面产品还需要把卡顿提前处理掉。
于是我打开了设置。
一百六十个插件,两个“设置”
Harness 的插件列表里,大约有一百六十个组件。
往下滚时,你会逐渐明白“一切皆插件”并不是一句宣传语。模型和会话是插件,PowerShell 与文件工具也是;权限、消息反馈和会话统计继续往下拆,到了用户每天触碰的部分,主题、布局、设置页和侧边栏仍然可以替换。
四种内置预设也是四套不同的插件组合。标准模式负责完整编码任务,PTC 模式擅长把多步工具调用组合起来;极简模式只保留少量工具,创造模式则可以检查运行时并尝试新的插件组合。
开发者看到这里,很难不兴奋。过去挑一款 Agent,通常要把它整套接受下来;Harness 允许你保留喜欢的部分,再换掉不合适的部分。
然后我看见自己刚造好的界面里,有两个“设置”。
一个来自我叠上去的 Codex 外壳,一个属于 Harness 原来的 Web 界面。新的左侧导航已经画好,官方侧边栏仍然留在页面结构中。窗口宽度变化时,两套布局会争同一块空间;遮罩和点击区域稍微算错,按钮就会被挡住,弹窗也可能关不掉。
截图里已经是赛博朋克,鼠标点下去,仍能碰到原来的网页结构。
这就是 UI 插件真正麻烦的地方。
![图片[3]-我给 DeepSeek Harness 造了一个GUI,才发现“一切皆插件”也是有代价的 - AI资源导航站-AI资源导航站](https://www.aitube.vip/wp-content/uploads/2026/08/20260821_6a88128898f30.png)
插件解决的是可组合性;流畅、统一和可恢复,仍要由产品层完成。
为了解决问题,我一开始采用了最快的办法:保留官方页面,在外面增加顶部菜单、左侧导航和动态背景。它很快,也确实能做出视觉冲击力;不过,这套方案并没有接管 Harness 的布局、设置和会话插件。
想把 UI 完整换掉,开发者得继续处理焦点、滚动、窗口尺寸和弹窗层级。官方页面更新以后,新的桌面 UI 还要跟着适配。CSS 可以让页面一夜之间变酷,日常体验需要一次次真实点击才能改顺。
性能同样不会自动变好。为了让无人操作时的页面仍然保持动态,我放进了十二组关键帧动画、二十多处阴影和多处毛玻璃滤镜。极光在移动,扫描线在走,粒子网络不断计算位置;只要窗口开着,渲染进程就一直有活干。
下一版要做的已经很明确:窗口失去焦点后暂停粒子,模型生成时减少背景重绘,毛玻璃只留在需要区分层级的地方;同时进入 Harness 的 UI 插件层,只保留一套导航和设置。
它可能会少闪一点,但会更像一件每天愿意打开的工具。
写在最后
做完这轮改造,我对 DeepSeek Harness 的判断很矛盾,其实很难评价这种万物皆插件的形式,到底是否是利大于弊。
插件确实大大提升了灵活性,满足了很多人的DIY诉求,但是从用户体验而言,相较于原生一体化产品设计的CC或者Codex,其实感觉不太好。
但是这引申出来一个探讨:如果 Agent 越来越像一个可以自行组合的系统,产品到底由谁完成?框架作者、插件开发者、做 UI 的人,还是最后那个把所有东西装到一起的用户?
让子弹飞一会。












