DeepSeek Harness上线后,以“一切皆插件”的理念重新定义AI编程工具,目前已开发测试。就在DeepSeek V4 Pro 正式版发布半天后,DeepSeek Harness (开发者预览版)也来了!
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底层开发框架。
DeepSeekHarness负责人崔添翼也在社交平台坦诚,当前只是预览版本,诸多细节仍显粗糙,欢迎全球开发者参与测试、提出优化意见。
DeepSeek Harness是什么?
DeepSeek Harness 并非新的 DeepSeek 模型,也非一个单纯的 API 客户端。它是一套用来构建、运行和扩展智能体的 SDK 与应用框架,默认可以连接 DeepSeek 模型(也可方便地自定义连接其它模型),让模型读取项目、修改文件、运行命令、管理任务、分配子任务,并通过 Web UI、全屏终端、Headless 命令或自动化协议与用户交互。
官方给的定位很简单:Agent = Model + Harness
模型负责理解需求、分析问题和决定下一步做什么,但仅有模型还不能完成一个真实项目。它需要读取文件、修改代码、执行命令、调用工具、保存上下文,还要知道任务进行到了哪里。
如果把模型理解成Agent的大脑,那么Harness更像是它的工作环境:给它工具,告诉它能访问什么,记录它做过什么,并让它在多轮任务中持续工作。
DeepSeek没有把这些能力全部固定在一套封闭的产品里,而是试图将它们拆开。
开发者可以替换模型,可以增加新的工具,也可以重新组合沙箱、存储和界面。官方提供的标准模式、PTC模式、极简模式与创造模式,就是针对不同任务组合Agent能力。
官方也反复强调一句话:Everything is a Plugin,至少有三层含义
第一层是组装层,决定这次启动要装什么(基础层:dsh-base)**
DeepSeek Harness 启动时不会加载一份巨大的固定配置
它会按顺序叠几层东西:
Bundle 列表,先放进
dsh-baseweb或headlessProfile,决定产品入口Profile 自己的
cordis.patch.yml用户目录里的长期修改
本次命令行传入的
--patch
Profile 决定整个进程有哪些能力,Preset 决定某个会话能拿到哪些工具、提示词和工作流
第二层是 Cordis 运行层,决定插件如何依赖、通信、卸载和清理(也叫协议层)
它的Context可以理解成一个带作用域的服务容器,插件从里面拿tools、llm、sessions等服务,也把自己提供的能力注册进去
一条能力通常会拆成三个角色:
服务定义:约定能力叫什么、数据长什么样
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源码,即可通过插件独立替换或扩展模型、工具、技能等能力,并在配置层进行组合。
Token节省不?
DeepSeek Harness 很重视 Token 复用
DSH 有三层自动 Token 管控机制,配合 PTC 编程工具调用、前缀缓存、工具输出裁剪、上下文自动压缩,WebUI/TUI 均可实时看消耗统计。
PTC(Programmatic Tool Calling):Agent 运行逻辑用 TypeScript 在本地执行,中间变量不全部喂给 LLM,只把最终结果送入上下文,避免多轮工具调用疯狂堆 token。
工具返回结果自动裁剪
工具输出 >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 密钥并保存。模型路由会立即可用,不需要重启服务器。
支持自定义配置其他模型
请添加新提供方并删除旧提供方。显示名称、基础 URL、协议、凭据和模型仍可编辑。
在模型目录中选择获取可用模型,可查询表单当前显示的基础 URL 和凭据。选择候选项只会更新草稿;保存前不会存储提供方。目录提供方使用已安装目录,不发起网络请求。
2、选择工作区
点击选择工作区,添加启动dsh时所在的项目目录,然后选中它。选中工作区前,会话输入框不可用
3)UI界面
支持WebUI和TUI
1、WebUI
适合日常开发与图形化操作。启动后在浏览器访问本地地址(默认http://127.0.0.1:3080),提供工作区管理、可视化配置、轨迹回放(Trajectory)及 Token 仪表盘等功能,交互界面类似 DeepSeek 网页版但增加了本地项目管理能力
安装方式: 通过npx @deepseek-ai/dsh web一键启动
界面说明:
左侧:会话 / 工作区列表、设置
主面板:对话、工具调用卡片、工作目录选择、模型切换、权限控制
底部输入框,支持挂载本地目录作为 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
启动界面
会话框
界面说明:
ASCII 像素鲸鱼大 Logo 启动界面
全屏终端交互式会话,状态栏显示模型、token、effort 等级
内置命令:
/model切换模型、/help帮助,Tab 自动补全,Esc 返回上一级支持 Plan/Agent/YOLO 三种运行模式,文件读写、shell 执行、工具审批弹窗