主流 Agent 入门教程 / DeepSeek Harness
1. DSH是什么
原文备份 · 第 2 / 21 篇 · 查看极客时间原知识库 ↗
本篇目录 · 12 节
本文属于《DeepSeek Harness 入门教程(实战版)》· 第一部分 · 先认识这个产品
第 1 章 DeepSeek Harness 是什么
第一次打开 DeepSeek Harness,很容易把它理解成“又一个 AI 聊天窗口”:选择模型、输入需求,然后等它返回一段代码。
界面确实有点像聊天工具,但这只是表面。普通对话产品主要负责生成答案,Harness 的重点则是让模型进入一个可以使用工具、受到权限约束、能够持续执行任务的运行环境。
读完这一章,你不需要记住所有术语,只需要能分清模型、Agent、插件、Profile 和客户端分别负责什么。这个区别会直接影响后面配置产品的顺序。
一句话理解 DSH
DeepSeek Harness,简称 DSH,是 DeepSeek 开源的一套 Agent Harness:它把模型、工具、权限、工作方式和交互界面组合成一个可以真正执行任务的 Agent。
这里的 Harness 可以理解成“运行和约束 Agent 的整套装置”。模型负责判断下一步做什么;Harness 负责把文件、终端、网页、外部服务等能力提供给模型,同时记录过程并控制边界。
所以,DSH 不是一种新模型。你可以给它配置 DeepSeek 官方模型,也可以接入内置的第三方 Provider 或兼容 API。更换模型以后,工作区、插件和 Agent 的其他配置不必跟着全部重建。
从一句需求到真正完成,中间发生了什么
假设你对 DSH 说:
请给这个项目增加
--limit参数,补上测试并确认原功能没有被破坏。
要完成这个任务,光生成一段代码还不够。Agent 通常需要:
- 查看项目里有哪些文件;
- 找到命令行参数的入口和现有测试;
- 制订或调整修改方案;
- 编辑代码和测试文件;
- 在终端运行测试;
- 根据报错继续修正;
- 把实际改动和验证结果交给你审查。
模型只负责其中的推理和选择。读取文件、执行命令、审批危险操作、保存会话、展示差异,都是 Harness 提供的能力。
这也是 Agent 和普通问答最实际的区别:它不只是告诉你“可以怎么做”,而是可以在授权范围内把事情做完。不过,最后仍要由你检查文件、测试和差异,不能只接受一句“已经完成”。
先建立五层心智模型
DSH 的名词不少,但初学时可以先把它看成五层。
第一层:模型与 Provider——谁来思考
模型负责理解任务、生成内容,并决定下一步调用什么工具。Provider 则负责把请求发送给对应的模型服务。
因此,“切换 DeepSeek 模型”和“接入一个自定义中转 API”属于模型与 Provider 层的问题。我们会在第8章专门处理。
第二层:Agent 预设——以什么方式工作
同一个模型可以用不同方式完成任务。例如,有的任务适合使用完整工具链,有的任务更适合让模型通过代码批量处理工具结果,还有的任务只需要很少的基础能力。
Agent 预设定义的不是一句角色提示词,而是一组工作方式、工具和插件组合。DSH 内置了标准、PTC、极简和创造等预设,也允许通过创造模式制作自己的预设。第9章会让同一个项目分别体验这些差异。
第三层:插件——能够做什么
文件读写、Shell、网页搜索、Skill、会话记录、计划、子智能体,甚至 Agent Loop 本身,都可以由插件提供。
这里的插件不是浏览器里的小扩展,而是 DSH 的基本组成方式。官方用“Everything is a Plugin”概括这套架构:模型适配器、工具注册表、会话日志和 Agent 循环都可以通过配置组合或替换。官方架构说明
插件越多不等于 Agent 越强。每多一个工具,模型都要理解它的用途,权限和故障面也会增加。正确做法是围绕任务安装和启用必要能力,而不是把所有插件一次性打开。
第四层:Profile——这次启动装载哪套系统
Profile 是一套可以启动的组合配置。它决定装载哪些 Bundle、插件和补丁,并保存属于这套运行环境的依赖与设置。
例如,Web、Headless、SDK 和 ACP 都有各自的运行组合。桌面端还拥有独立的 desktop Profile。它们可以复用 DSH 的共同能力,但启动入口和加载的组件并不完全相同。
对初学者来说,暂时不需要手写 Profile。先记住一点就够了:在桌面端安装或启用的插件,不应想当然地认为已经同步到 CLI 的 Web Profile,反过来也一样。
第五层:交互入口——你从哪里使用它
你可以通过不同入口使用同一套 Harness 能力:
- 桌面端:适合直接打开应用、管理工作区和查看文件、计划与差异;
- Web:由本机
dsh web启动,在浏览器中使用完整界面; - Headless:不打开界面,执行一次任务后退出,适合脚本和自动化;
- SDK / ACP:把 Harness 接入其他程序或 Agent 客户端,属于进阶开发场景。
桌面端并不是另起炉灶的一套产品。它携带匹配版本的 DSH 运行时,并在 Electron 外壳中运行完整的 Web 应用;差别主要在安装、生命周期、本地目录选择和系统集成。桌面端官方说明
把这五层放在一起,就是下面这条链:
桌面端 / Web / Headless / SDK
↓
Profile
↓
Agent 预设 + 插件组合
↓
Provider 与模型
↓
文件、命令和外部服务
这不是严格的内部调用图,但很适合用来判断“某个问题应该去哪里配置”。
后面会遇到的几个词
现在只需要认识,不必背定义。
| 概念 | 先这样理解 | 后续出现位置 |
|---|---|---|
| Provider | 模型服务的接入方式 | 第8章 |
| Agent 预设 | Agent 的工作方式与能力组合 | 第9章 |
| Plugin | 给 Harness 提供能力的模块 | 第10章 |
| Skill | 可被发现并按需加载的任务说明 | 第12章 |
| MCP | 连接外部工具与资源的标准协议 | 第12章 |
| Subagent | 把一项独立工作委派给另一个智能体 | 第13章实操 |
| Workflow / Agent Team | 多步骤编排,或让具名成员持续协作 | 第13、18章只讲选型边界 |
| Goal | 让 Agent 跨多个回合持续推进的目标 | 第14章 |
DSH 现在仍处于开发者预览阶段
这一点不能略过。官方明确说明 DeepSeek Harness 仍是 Developer Preview,后续可能出现不兼容变更。官方仓库说明
这意味着:
- 教程中的按钮名称和配置位置以后可能变化;
- 第三方插件可能暂时跟不上新版本;
- 自定义 Profile、插件和旧配置在升级后更需要先检查兼容性;
- 遇到差异时,应先确认自己的版本,再查对应版本的发布说明。
对入门学习没有必要因此停下来,但不要把候选版本当成接口永远不变的成熟平台。
动手前,先约定三条边界
Agent 能读取文件、执行命令和访问网络,所以它需要比普通聊天产品更明确的边界。
- 只开放练习目录。 不要把整个个人主目录、公司资料目录或包含无关凭证的仓库作为练习工作区。
- 密钥只放在凭证设置中。 不把 API Key 写进提示词、README、代码或截图。
- 审批前看清动作。 安装依赖、删除文件、访问工作区以外的路径和向外部服务写入数据,都要先确认必要性与目标范围。
如果项目使用 Git,在重要改动前保存一个干净基线。之后审查的重点不是“Agent 说了什么”,而是文件究竟变成了什么、测试是否真的通过。
这一章真正需要记住的内容
以后碰到设置问题,可以按下面的顺序判断:
先确认自己从哪个入口、哪个 Profile 运行,再选择 Agent 的工作方式和插件,最后确认由哪个 Provider 与模型执行。
下一章先不急着安装。我们会从实际任务出发,看看 DSH 能做哪些事情,以及哪些能力值得放进这套入门教程。
← 上一章:封面与导读 | 回目录 | 下一章:DeepSeek Harness 能做什么 →