DeepSeek Harness上线后,以“一切皆插件”的理念重新定义AI编程工具,目前已开发测试。就在DeepSeek V4 Pro 正式版发布半天后,DeepSeek Harness (开发者预览版)也来了!

image-20260815164815667

Github项目地址:GitHub - deepseek-ai/deepseek-harness: DeepSeek Harness: Everything is a Plugin. · GitHub

仓库已经包含超过 230 个 workspace 成员,代码分布在 packages/、apps/、examples/、python/、native/、vendor/、website/ 等区域。文件系统、终端、子进程、PTY、语言服务器、网页访问、技能、子智能体、工作流、计划模式、会话持久化、设置、凭据、遥测,几乎每一项能力都有自己的包。

项目上线半小时,GitHub仓库星标突破一万,短短时间内已经冲破3万。很多内测开发者纷纷晒出体验感言与内测合影,期待已久的产品终于浮出水面。但上手之后不少人发现:它和大众提前猜想的产品形态完全不同,这不是一款面向普通用户的CodingAgent,而是一套自由度极高的Agent底层开发框架。

image-20260815235003976

DeepSeekHarness负责人崔添翼也在社交平台坦诚,当前只是预览版本,诸多细节仍显粗糙,欢迎全球开发者参与测试、提出优化意见。

DeepSeek Harness是什么?

DeepSeek Harness 并非新的 DeepSeek 模型,也非一个单纯的 API 客户端。它是一套用来构建、运行和扩展智能体的 SDK 与应用框架,默认可以连接 DeepSeek 模型(也可方便地自定义连接其它模型),让模型读取项目、修改文件、运行命令、管理任务、分配子任务,并通过 Web UI、全屏终端、Headless 命令或自动化协议与用户交互。

官方给的定位很简单:Agent = Model + Harness

模型负责理解需求、分析问题和决定下一步做什么,但仅有模型还不能完成一个真实项目。它需要读取文件、修改代码、执行命令、调用工具、保存上下文,还要知道任务进行到了哪里。

如果把模型理解成Agent的大脑,那么Harness更像是它的工作环境:给它工具,告诉它能访问什么,记录它做过什么,并让它在多轮任务中持续工作。

DeepSeek没有把这些能力全部固定在一套封闭的产品里,而是试图将它们拆开。

开发者可以替换模型,可以增加新的工具,也可以重新组合沙箱、存储和界面。官方提供的标准模式、PTC模式、极简模式与创造模式,就是针对不同任务组合Agent能力。

官方也反复强调一句话:Everything is a Plugin,至少有三层含义

image-20260815232505896

第一层是组装层,决定这次启动要装什么(基础层:dsh-base)**

DeepSeek Harness 启动时不会加载一份巨大的固定配置

它会按顺序叠几层东西:

  • Bundle 列表,先放进 dsh-base

  • webheadlessProfile,决定产品入口

  • Profile 自己的 cordis.patch.yml

  • 用户目录里的长期修改

  • 本次命令行传入的 --patch

Profile 决定整个进程有哪些能力,Preset 决定某个会话能拿到哪些工具、提示词和工作流

第二层是 Cordis 运行层,决定插件如何依赖、通信、卸载和清理(也叫协议层)

它的 Context可以理解成一个带作用域的服务容器,插件从里面拿toolsllmsessions等服务,也把自己提供的能力注册进去

一条能力通常会拆成三个角色:

  • 服务定义:约定能力叫什么、数据长什么样

  • Provider:真正提供能力,例如 DeepSeek 模型适配器

  • Consumer:使用能力,例如 Agent Loop 请求模型

第三层才是用户能看到的 Agent 能力,模型、工具、循环、会话、存储、沙箱和 UI 都在这里(运行时层DSH)

负责任务理解、逻辑推理、工具调用决策与结果验证,是整个智能体的“大脑”,提供稳定的推理上限支撑复杂任务执行。

核心构成:

1. 插件加载与编排系统‌ 所有插件通过配置文件声明加载,无需硬编码集成,支持40+类别的官方插件与第三方自定义插件。 提供四种事件分发模式:emit(异步无等待)、waterfall(中间件式链式传递)、parallel(并行执行)、serial(顺序串行执行),适配不同插件的协同场景。 支持依赖注入自动编排插件加载顺序,无需手动编写启动逻辑。

2.全链路会话管理系统

  • 采用追加式日志记录所有执行事件,完整留存每一轮模型调用、工具执行、状态变更的全量轨迹

  • 原生支持会话断点续跑、任务分支重放、历史执行回溯,可随时从任意历史节点重启任务,无需从头执行

  • 内置会话压缩机制,自动裁剪冗余上下文,避免长任务下的上下文溢出问题

3.沙箱与权限管控系统

  • 集成Linux Landlock自限制启动器,实现进程级别的资源隔离,限制工具的文件系统、网络访问范围

  • 支持细粒度权限配置,可单独为每个插件、每个工具分配执行权限,避免恶意代码执行风险

  • 配套Shell执行器、文件系统提供者等基础能力插件,默认提供安全隔离的代码运行环境

4.多入口运行载体

  • 提供CLI命令行入口、Web可视化UI入口、Python SDK入口三种运行模式,默认启动后可通过127.0.0.1:3080访问Web管理界面

  • 支持与SuperQode等第三方工具集成,将DSH的执行进度统一映射到外部编排系统中

配套的运行模式

三层架构之上还提供四种开箱即用的运行模式,适配不同开发场景:

  • 标准模式‌:提供完整工具集,覆盖通用智能体任务

  • PTC模式‌:支持生成代码编排多轮复杂工具调用

  • 极简模式‌:仅开放Shell与文件编辑能力,用于模型基准测试

  • 创意模式‌:支持自定义插件与运行时扩展,用于技术实验

DeepSeek Harness特点
  • 热插拔能力‌:运行过程中可直接替换任意插件的实现,无需重启整个Agent进程,比如在线切换模型适配器、更新工具逻辑,不中断当前正在执行的任务

  • 全链路可观测‌:所有插件的执行过程、事件流转、状态变更都可被监控记录,便于排查Agent执行失败的根因

  • 高度可扩展‌:通过开放扩展点机制,可快速接入自定义模型、私有工具、第三方通知服务、编辑器联动等能力,比如官方已提供直接在VS Code中打开工作区的配套插件

  • 低侵入集成‌:原有DeepSeek Responses API的调用代码几乎无需修改,即可直接接入DSH运行时,获得完整的会话管理与沙箱能力

按照DeepSeek公布的信息,开发者无需直接修改DeepSeek Harness源码,即可通过插件独立替换或扩展模型、工具、技能等能力,并在配置层进行组合。

img

Token节省不?

DeepSeek Harness 很重视 Token 复用

DSH 有三层自动 Token 管控机制,配合 PTC 编程工具调用、前缀缓存、工具输出裁剪、上下文自动压缩,WebUI/TUI 均可实时看消耗统计。

image-20260816000404779

  1. PTC(Programmatic Tool Calling):Agent 运行逻辑用 TypeScript 在本地执行,中间变量不全部喂给 LLM,只把最终结果送入上下文,避免多轮工具调用疯狂堆 token。

  2. 工具返回结果自动裁剪

  • 工具输出 > 8192 字符:保留开头 4096 + 结尾 1024 字符,中间替换为省略摘要

  • 文件 / 大输出超过50000 字节:内容落盘保存,对话上下文只放文件路径 + 简短摘要,不把大文本塞进 prompt

3.上下文自动压缩(窗口水位触发)

  • 上下文占用达到模型窗口80% 水位,下一轮 step 自动触发压缩

  • 保留最近 16% 原始对话,更早历史做 LLM 摘要压缩,防止越跑越长爆窗口

  • 压缩失败会降级为简单截断,保证任务不崩溃

如何安装?

DeepSeek Harness的安装很简单,一行命令搞定

1)初次安装

通过 npm 运行

安装 Node.js,然后运行:

 npx @deepseek-ai/dsh web

该命令会启动 Web UI,默认地址为 http://127.0.0.1:3080

从源码运行
 git clone https://github.com/deepseek-ai/deepseek-harness.git
 cd deepseek-harness
 pnpm install
 pnpm run build
 pnpm dsh web

2)Web UI配置

Web UI;命令会打印其访问地址,dsh 进程会把调用目录作为默认文件系统位置,但新的 Web UI 在添加工作区前不会选中任何工作区。

1、配置模型

打开设置 → 模型,输入 DeepSeek API 密钥并保存。模型路由会立即可用,不需要重启服务器。

image-20260815233338781

支持自定义配置其他模型

image-20260815233548331

请添加新提供方并删除旧提供方。显示名称、基础 URL、协议、凭据和模型仍可编辑。

模型目录中选择获取可用模型,可查询表单当前显示的基础 URL 和凭据。选择候选项只会更新草稿;保存前不会存储提供方。目录提供方使用已安装目录,不发起网络请求。

2、选择工作区

点击选择工作区,添加启动 dsh 时所在的项目目录,然后选中它。选中工作区前,会话输入框不可用

3)UI界面

支持WebUI和TUI

1、WebUI

适合日常开发与图形化操作。启动后在浏览器访问本地地址(默认 http://127.0.0.1:3080),提供工作区管理、可视化配置、轨迹回放(Trajectory)及 Token 仪表盘等功能,交互界面类似 DeepSeek 网页版但增加了本地项目管理能力

安装方式: 通过 npx @deepseek-ai/dsh web 一键启动

image-20260815235844309

界面说明:

  • 左侧:会话 / 工作区列表、设置

  • 主面板:对话、工具调用卡片、工作目录选择、模型切换、权限控制

  • 底部输入框,支持挂载本地目录作为 Agent 工作区

2、TUI

专为终端用户设计,提供全屏交互式键盘操作体验。需安装社区插件(如 dsh-TUI)激活,支持 ASCII 启动画面、实时状态栏、Tab 自动补全及 /model 等指令切换,适合偏好命令行环境的开发者 。

安装方式:TUI 需先安装插件并使用 dsh --profile tui 命令进入终端界面

  • 克隆社区插件源码:git clone git@github.com:ccch1mneyyy/dsh-TUI.git

  • 安装插件到 TUI 配置层:dsh plugin --profile tui add file:$(pwd)

  • 运行 dsh --profile tui 进入终端界面,首次使用前需在配置文件或环境变量中设置 DEEPSEEK_API_KEY

启动界面

image-20260815235933569

会话框

image-20260815235950935

界面说明:

  • ASCII 像素鲸鱼大 Logo 启动界面

  • 全屏终端交互式会话,状态栏显示模型、token、effort 等级

  • 内置命令:/model切换模型、/help帮助,Tab 自动补全,Esc 返回上一级

  • 支持 Plan/Agent/YOLO 三种运行模式,文件读写、shell 执行、工具审批弹窗

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐