ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

再见了 WebUI,DeepSeek 桌面版真不错。

再见了 WebUI,DeepSeek 桌面版真不错。 大家好我是二哥呀。从藏师傅那里看到了 DeepSeek Harness 桌面版的安装地址顺手就装上了。并且装上的那一刻会自动升级到 v0.1.7-rc.2 版本。这样就再也不用在Chrome浏览器里使用WebUI版本了爽啊。对于一套Harness来说终端里跑起来再在浏览器里使用总有点不爽的感觉。如果你还没有的话我把 Windows和 macOS 的下载链接放到这个链接了官方毕竟还没有公开所以不喜欢尝鲜的小伙伴可以暂时跳过不着急可以先安装后面推荐的几个官方都在推荐的插件很惊艳。https://paicoding.com/dsh-desktop-download还支持登录。这样的话未来不知道会不会有云端的版本。一些不需要在本地工作的可能就真的可以移动端、桌面端、云端同步。想想还是挺期待的。说一说我的AI员工吧。编程主力仍然是CodexGPT-6 Astra包括绘图做视频。文本主力是Claude CodeOpus 5.5。三号员工就是DeepSeek HarnessDeepSeek V4.1 Flash了。我个人还是喜欢DeepSeek性价比高还不用买Token plan用多少算多少关键是速度贼快。文本能力和编程能力也都在线作为三号员工是绰绰有余01、DSH 插件推荐接下来再给大家推荐几个官方都认可的DeepSeek Harness插件。①、DSH-better-sidebar为 DeepSeek Harness 添加了侧边栏、底边栏、分栏、可浮动栏等 UI 定制化能力。属于为其他插件提供基础能力的底座插件。安装方法也很简单。帮我安装 dsh-better-sidebar 插件地址https://github.com/omdsh-dev/DSH-better-sidebar虽然官方的安装方法只支持WebUI版本但DeepSeek V4.1 Flash显然有桌面版安装的能力直接就自己搞定了。打开设置也能看到插件安装成功了。我们还可以在右侧重新打开一个窗口左侧窗口的上下文是会自动注入的。喜欢开多窗口工作的小伙伴可以体验一下我个人还是非常喜欢这个插件的。②、dsh-TUI内测期就一直跟版本打磨的终端界面补的是官方缺的 TUI。喜欢键盘、SSH、远程、不想开浏览器的小伙伴这个比一堆皮肤更有用。https://dshtui.com/而且更新速度也能跟得上官方的速度。装上之后像素鲸鱼顶栏、实时工作状态行、思考流式展开、终端图片预览Sixel / Kitty、双击 Esc 时间回溯、蓝白上下文进度条 TPS 仪表就都有了。安装方法也很简单。帮我安装这个https://dshtui.com/官方提供了多种安装方式DSH 会自动帮我们做出最优选择。整体设计我觉得还是挺漂亮的是我喜欢的风格。③、DeepSeek Harness 插件库如果你还想尝试更多可以试试这个https://deepseek-harness-plugin.com/zh-CN/当然了对于插件我个人觉得也没必要装太多够用就行了太花里胡哨也就偏离了 Agent 的本质。随着模型能力的提升一部分Skills、MCP、插件能力都会被吃掉。就像 Memory 这块我认为官方的做法一定就是最优解千万别装什么第三方的 Memory 插件。02、桌面版和 WebUI 的差别装完桌面版我第一反应是好奇DeepSeek 是不是专门为桌面端重写了一套界面我把 DeepSeek Harness 的源码拉到本地翻了翻apps/desktop这个目录发现没有重写。桌面版用 Electron 打包主窗口加载的就是完整的 WebUI 页面。启动时Electron 会以 Node 模式拉起一个子进程子进程里跑的是dsh web背后那套本地服务只是端口从 3080 换成了 19387。窗口里发出的请求都转给这个本地服务处理。也就是说Agent 还是那个 Agent界面也还是那个界面。我们原来要在终端里执行pnpm dsh web再去浏览器里打开链接这两步现在由桌面版替我们做了。那桌面版多了什么最明显的是自动更新。网页没办法替自己换掉本地的程序桌面版可以。更新模块apps/desktop/src/update-coordinator.ts用的是 electron-updater通道固定为 nightly允许安装预发布版本。它每 10 分钟检查一次时间上加了一点随机抖动检查失败就退到一小时一次。有新版本也不会自动下载要我们点了才下。外壳、Agent 运行时和 pnpm 作为一个签过名的整体一起更新。this.updater.autoDownloadfalsethis.updater.autoInstallOnAppQuitfalsethis.updater.channelnightlythis.updater.allowPrereleasetrue// Selecting a channel can enable downgrade in electron-updater.this.updater.allowDowngradefalse关掉窗口后任务会继续跑真要退出时如果还有任务没跑完桌面版会弹窗提醒。长任务丢给它窗口一关就可以去干别的。运行环境也省心。桌面版自带 Python带 numpy、pandas 和处理 Word、PPT、Excel 的库、Node 和 pnpm还默认注册了 Office 相关的 Skills。让它做个表格、改个 PPT不用先在本机装一堆依赖。侧边栏里的内置浏览器桌面版默认打开。还有一点平时感觉不到但我觉得挺讲究。WebUI 其实就是一个本地 HTTP 服务只监听 127.0.0.1每次启动会生成一个随机 token 放在链接里。浏览器第一次访问时拿 token 换一个 HttpOnly 的 cookie之后每个请求还要校验 Host 和 Origin防止别的网站借我们的浏览器去调用本地 Agent。桌面版把凭证挂在自己的主窗口上页面拿不到文件系统、shell 和底层 IPC。再说登录。桌面版登录用的是 DeepSeek 开放平台的账号走标准的 OAuth PKCE 流程点登录会打开系统浏览器授权授权完成后由本地回调接收。登录令牌存在~/.dsh/.credentials.yaml文件权限是 0600只有当前用户能读还没有接入系统钥匙串。登录之后模型列表里多了一套账号模型推理直接扣账号余额和 API Key 那套入口是分开的余额、用量、充值页面也都嵌进了应用。rc.2 还专门修了一个问题额度提醒会跟着当前任务的计费方式走用 API Key 的小伙伴不会被提示去给登录账号充值。03、Everything is a Plugin回到插件。前面装 better-sidebar 的时候提过官方安装方法只支持 WebUI。functionrejectElectronProfile(program:Command,profile:string):void{if(profile.toLowerCase()desktop){program.error(error: profile desktop is managed exclusively by the Electron application)}}名叫 desktop 的配置只归 Electron 应用管命令行不许碰。要看懂这段检查得先知道 DSH 的插件是什么。DeepSeek Harness 仓库的简介只有一句话Everything is a Plugin一切皆插件。在源码里这是字面意思Agent loop、工具注册表、会话日志、上下文压缩、Sub-agent 都是插件连 Skills 的加载和 MCP 客户端也是两个普通插件。DSH 的插件建立在 Cordis 这个框架上。一个插件就是一个导出apply(ctx)函数的模块用inject声明自己依赖哪些服务。better-sidebar 的服务端部分就声明了 webServer、sessions、webRuntime、tools 这四个依赖DSH 把这些服务准备好之后才会加载它。发布的时候插件要打成一个 npm 包官方叫 bundle。package.json 里有一个dsh字段指向一个cordis.patch.yml文件文件里写着要往插件列表里加哪几行。DSH 启动时先加载基础 bundle再依次叠加各个 bundle 自带的 patch、profile 目录里的 patch最后是用户目录下的 patch。插件装在 profile 里。profile 就是一套独立的配置目录WebUI 用~/.dsh/profiles/web桌面版用~/.dsh/profiles/desktop。两边的会话、设置和登录凭证是共享的插件不共享。有一件事大家一定要知道DSH 的插件没有沙箱。插件的服务端代码直接跑在 Agent 宿主进程里在工作区沙箱之外权限和 DSH 本身一样。桌面版上宿主和所有插件共用同一个 Electron Node 进程插件的页面部分和应用在同一个页面里运行没有 iframe 隔离。官方的 SAFETY.md 专门提醒过不要装来路不明的插件。插件SkillMCP形式npm 包JS 代码SKILL.md 说明文件外部进程或 HTTP 服务安装命令行、插件页、插件管理工具放进 skills 目录自动热加载在 cordis.patch.yml 里加一行配置权限和宿主相同只是注入的提示词沙箱外的可执行程序默认一个都不开04、插件是怎么接进来的对于 better-sidebar 来说。服务端在 DSH 的 Web 服务上注册了一组 HTTP 接口和两个 WebSocket一个推送 Agent 打开文件的事件一个监听文件变化还给模型加了一个可选的sidebar_open工具Agent 可以主动把文件在侧边栏里打开。页面把按钮和卡片挂进 DSH 预留的界面插槽比如会话头部的工具栏和设置页。前面说右侧窗口会自动注入左侧的上下文对应的是它的 Side Chat 功能。点击的那一刻插件会新建一个子会话把父会话截至这一刻的完整事件日志复制过去。由于复制的是完整事件日志所以子会话拿到的上下文和父会话完全一致。dsh-TUI 和 DSH 之间没有走 HTTP 或 WebSocket它本身就是跑在 DSH 进程里的一组插件。第一次运行dsh-tui时启动器会执行dsh plugin --profile dsh-tui add ...建一个名叫 dsh-tui 的 profile 把自己装进去然后用这个 profile 启动 DSH。它的 patch 文件替换了基础 bundle 里的几行包括系统提示词、DeepSeek 模型适配和 Agent loop再挂上用户提问、用户审批和它自己的界面插件。界面用 React 写渲染器是 fork 过来的 Ink最后输出在终端上。DSH 官方目前没有单独的长期记忆工具。跨会话能带过去的主要是指令文件~/.dsh/AGENTS.md加上项目里的 AGENTS.md、CLAUDE.md会在第一次请求时作为一条用户消息注入总预算 65536 字节。单个会话之内靠的是存在~/.dsh/sessions下的 JSONL 会话日志和上下文压缩快满了自动压缩也能手动执行/compact。想借用另一个会话的内容可以在 WebUI 里 那个会话把它的只读快照带进来。源码里其实有一个会话搜索工具session_search但目前没有在任何内置预设里启用。ending说说我最真实的感受。桌面版的界面和 WebUI 几乎一样。自动更新、关窗口不打断任务、自带 Office 运行环境这几样 WebUI 给不了。桌面版补上的是一个 Agent 常驻在本机需要的那些能力。期待官方正式发布更新啊。我们下期见。
返回列表