歸藏的AI工具箱 3小时前
开源DeepSeek Harness 开箱即用客户端,还有几个易用插件
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_font3.html

 

前两天,DeepSeek 发布了 DeepSeek Harness。

印象最深的是它对" 一切皆插件 "的坚持,而且做得相当彻底。

Skills、MCP 和 UI 只是比较容易看到的部分。

继续往下看,模型适配器、工具、文件系统、会话存储、沙箱,甚至 Agent Loop 都可以通过插件组合。

运行中的 DeepSeek Harness,就是一棵由配置组装出来的插件树。

插件挂载时,可以向共享上下文注册服务、事件和界面。

插件卸载后,对应的注册也会撤销。想换掉某部分能力,通常只需要在配置树里替换一项,或者插入一个新插件。

这个思路很激进。非常厉害。

DeepSeek Harness 目前的使用门槛还是偏高。

首先是部署。官方启动方式已经很简单了,安装 Node.js,再去终端里执行一条命令就能跑起来。

但对不写代码的人来说," 打开终端 " 本身就是一道门槛。

我给一些朋友推荐开发者工具时,经常在这一步失去他们。

另一个问题是界面。原来的 Web UI 功能基本齐全,使用时仍然能感觉到它处在开发者预览阶段。

很多能力已经接进来了,交互细节还没有来得及逐个整理。

所以我做了 Pilot Harness。

https://github.com/op7418/pilot-harness

可以先把它理解成 DeepSeek Harness 加上一层桌面外壳,再配上一组客户端插件。

桌面端启动后,会在本机运行 DeepSeek Harness,然后把 Web UI 加载进原生窗口。

窗口管理、目录选择、数据目录和运行时重启交给桌面端处理,Agent 和工具执行继续沿用 Harness 原来的实现。

如果你已经部署好了 DeepSeek Harness,也可以跳过桌面客户端,单独安装自己需要的插件。

UI 和交互:从开发者预览变成日常工具

DeepSeek 原版 UI 的目标很明确:先把 Harness 的能力完整地露出来。

工作区、会话、模型选择、权限模式、Trajectory 和插件设置都已经有了。

对于刚发布的开发者预览版本,这个完成度其实挺高。

只是把它当成一个每天使用的 Agent 客户端之后,一些问题会慢慢冒出来。

比如左侧栏。原版已经支持工作区和多级会话树,但工作区、会话和当前任务的视觉差别比较小。

项目多了之后,需要花一点时间确认自己在哪个目录、当前打开的是哪条会话。

点击项目主要用于展开和收起,会话的新建入口则放在旁边,切换项目时容易多走一步。

我把桌面端里的项目点击改成了更直接的逻辑:

点击一个未激活的项目,会直接切换到该项目并进入新会话。

已经激活的项目继续保留展开和收起操作,旁边的加号也还在。

会话 Hover 卡片也补了更多信息。

现在可以看到会话所属的工作区、项目路径、Agent 模式、模型以及定时任务等信息。

这里预留了插件插槽,所以后面安装其他插件,也可以继续往 Hover 卡片里加内容。

输入区的变化更明显。

DeepSeek 原版在空会话里,会把工作区和 Agent 模式放在输入框外面;

进入会话后,统计和上下文信息又会出现在输入框下方。功能都能找到,只是不同状态下的位置会发生变化。

我把空会话需要选择的工作区、权限和 Agent 模式收进了输入框。

开始对话后,低频的上下文信息会进入 Context 弹层,常用的模型选择、附件、停止和发送按钮继续放在输入区里。

这样从空会话进入工作状态时,页面不会突然多出一条信息栏。

输入框的 Focus 状态、禁用状态和发送状态也分别做了反馈。

原版比较大的圆形发送按钮被换成更紧凑的方形按钮,附件、模型、Context 和权限控制的尺寸也统一了。

信息仍然很多,视觉上安静了一些。

这部分交互经验主要来自 CodePilot。CodePilot 是我之前做的 Agent 客户端,从产品、设计到开发都是我一个人完成的,开发过程中大量使用了 AI。

做了几个月以后,我对 Agent 客户端里哪些信息需要常驻、哪些适合收起来,以及用户会频繁点击什么,已经有了一些自己的判断。这次基本都搬到了 Pilot Harness。

设置页面、菜单、弹窗和工具调用卡片也一起调整了。

DeepSeek 原版里有不少通用配置表单,比较接近框架配置的原始结构。

我重新整理了页面导航和表单层级,让服务商、模型、插件和通用设置各自有固定入口。

样式层面的改动包括字号、间距、圆角、边框和明暗主题,交互上则补了 Hover、Focus、选中、加载和错误状态。

原版已经提供了轨迹功能,我保留了它的数据和事件逻辑,重新处理了时间轴、工具栏和表格。

现在可以搜索执行记录、查看每个阶段的时间分布,也可以导出日志。

遇到 Agent 行为不符合预期时,直接在这里查它收到了哪些上下文、调用了什么工具。

这些改动被放在独立主题和 UI 插件里。关闭插件,界面会恢复到 Harness 原来的样子。后面继续同步上游时,也能看清楚哪些是 DeepSeek 的功能,哪些是我增加的交互。

侧边栏和文件树插件

我平时使用 Agent 时,经常需要查看当前目录。

Agent 说它修改了某个文件,我会想点开看看;它新建了目录,我也想确认一下结构。

有时候我只是想把一个文件路径放进输入框,让 Agent 接着处理。

每次切回 Finder 或编辑器,会把操作过程弄得很碎。

现在左侧栏可以管理多个工作区,并按工作区展示对应的会话。

点击底部的 Files,右边会打开当前项目的文件树。

在文件树里,可以展开目录、新建文件或文件夹、重命名,也可以调用系统应用打开文件。

需要让 Agent 处理某个文件时,可以把路径直接添加到输入框。

文件操作被限制在当前工作区里。

工作区根目录不能被重命名,符号链接也会额外检查,避免文件树越过当前项目。

服务商配置插件

模型服务商的配置也重新做了一遍。

原来的配置方式对开发者没有多大难度,不过第一次使用时,需要先理解服务商、模型、API Key 和配置文件的关系。这些概念一次摆在用户面前,很容易让人停下来查文档。

现在设置里有单独的 Providers 和 Models 页面。

在 Providers 页面,可以搜索并添加 DeepSeek、Anthropic、Google、Amazon Bedrock、Azure OpenAI、Groq、Cerebras、Fireworks、Cloudflare、Kimi Coding、Hugging Face 等服务商。

列表之外的服务商,可以通过自定义地址接入,只要它兼容对应的 API 协议。

服务商连接完成后,Models 页面会列出可用模型。

每个模型旁边会显示图片输入和 Reasoning 等能力标签,也可以按这些能力筛选,并指定默认模型。

这些页面负责把配置过程整理清楚。

API Key 仍然交给 Harness 的凭据插件保存,服务商配置进入设置插件,运行时模型路由由 LLM 插件处理。

已有的插件边界都保留了下来。

Mac、Windows 和 Linux

Pilot Harness 支持 macOS、Windows 和 Linux。

macOS 提供 DMG 和 ZIP,Windows 使用常规安装包,Linux 提供 AppImage、DEB 和 RPM。

桌面版使用系统原生的目录选择窗口,第一次使用时选一个项目,就可以直接开始会话。

客户端会定期同步 DeepSeek Harness 的更新。

适配成本依然存在。上游如果调整 UI 插槽或页面结构,主题插件需要重新做视觉回归;

配置协议变了,对应插件也要跟着改。好处是需要维护的范围比较清楚,不会把整套客户端拖进长期分叉。

做完这个客户端之后的一些感受

做这个的时候,还是因为认同 DeepSeek Harness" 一切皆插件 "的理念。

所以做的时候,尽量把所有的东西都拆开,变成一个一个的插件,这样既方便更新,也方便大家单独安装。

现在做 AI 产品,变化速度太快了。模型接口会变,Agent 的工作方式也在变,今天觉得稳定的交互,过几个月可能就要重新设计。

能力全都绑在一起,每次调整都会带出一串迁移工作。DeepSeek Harness 选择先把系统拆开,允许使用者重新组合。

模型和 Agent 的自我训练、自我迭代,现在也有不少项目在探索,Pi 一类项目里就能看到类似思路。

DeepSeek Harness 走得更远一些,它把自己的组成部分也开放出来了。

以后 Agent 如果要参与调整自身配置,至少已经有一套可以识别和替换的组件结构。

这离 Agent 自己进化产品还很远,目前更多是在准备接口。

可我愿意看这种尝试。Harness 暂时没有成熟 C 端产品那种沉重包袱,可以承受频繁改动,也可以试一些风险更高的架构。

Pilot Harness 目前加了几项我自己需要的东西:

更顺手的界面、项目文件树、服务商配置和三个平台的桌面安装包。

后面 DeepSeek Harness 继续更新,我也会继续跟。

如果觉得有需要,或者是想尝试一下,可以到这里试试:

也可以帮我点个赞,或者是转发给你需要的朋友们。

宙世代

宙世代

ZAKER旗下Web3.0元宇宙平台

一起剪

一起剪

ZAKER旗下免费视频剪辑工具

相关标签

界面
相关文章
评论
没有更多评论了
取消

登录后才可以发布评论哦

打开小程序可以发布评论哦

12 我来说两句…
打开 ZAKER 参与讨论