第 29 次课:DeepSeek Harness 架构与配置跑通
一、上节课回顾
上节知识要点:
- 上节课把 Hermes Agent 跑通:装上、配 Provider、接飞书、跑一个真实小任务。
- Hermes 的特色是能接聊天软件、能在后台跑任务,但它的图形界面还是要点。
- 这节课的主角 DeepSeek Harness 更「极客」,很多配置要自己动手写。跑通思路不变:装上、配好、用起来。
二、本节课任务与安排
本课交付
这节课认识一个开源的 Agent 运行时框架:DeepSeek Harness。它不是装完就能用的应用,而是一个啥都要手动配的骨架。
你会得到一个跑起来的 Harness 环境,外加一份亲手写出来的配置文件。
| 顺序 | 环节 | 学生产出 | 时间 |
|---|---|---|---|
| 回顾 | 回顾上节课 | 想起飞书链路 | 5分钟 |
| 交付 | 看跑起来的 Harness 演示 | 知道本课交三样 | 3分钟 |
| 理论 | 理论基础:Harness 的「一切皆插件」 | 能说出它和前面工具的区别 | 12分钟 |
| 案例1 | 🔧 案例1:看懂 Harness 的插件架构 | 一张手画或 AI 生成架构图 | 10分钟 |
| 案例2 | 🔧 案例2:装 Harness 运行时 | Harness 启动成功 | 12分钟 |
| 案例3 | 🔧 案例3:手动配好模型 API Key | 模型能回复 | 15分钟 |
| 案例4 | 🔧 案例4:跑通一个最小任务 | 一次成功运行记录 | 12分钟 |
| 收尾 | 回扣跑通思路 | 能复述三课异同 | 3分钟 |
| 机动 | 等待与排错 | 补齐必做成果 | 8分钟 |
| 扩展 | 扩展任务:给 Harness 挑一个插件(选做) | 插件调研卡 | 10分钟 |
上课前完成课前准备,按老师发的安装方式开始配置。
环境与准备:Windows 10/11;本机课程目录 D:\AIGC\lesson-29;Node.js 与 Harness 运行时由教师课前装到学生机或统一发放。教师侧准备项见 [课前演练补充]。
三、理论基础:Harness 的「一切皆插件」
今天三个工具课的收官课,目标不是做出作品,是把 Harness 这个「毛坯房」跑通一次:模型、工具、界面都要你自己接。接完你会发现,前面三个工具里都藏着今天这套「一切皆插件」的骨架。
Harness 是运行时,不是成品应用。 WorkBuddy、Codex、Hermes 都是装完就能对话的工具;Harness 只提供「让 Agent 跑起来」的骨架。前三个工具把模型、界面都替你装好了,它一件都不装——这正是它和前三个工具最大的区别。
「一切皆插件」是 Harness 的核心架构。 模型是一个插件、工具是一个插件、沙箱是一个插件、会话存储是一个插件、界面还是一个插件。哪个不合适就换哪个——毛坯房的好处就在这:房间格局随便改。
为什么零基础学生也要看一眼这种东西。 期末项目做大了、或者以后进了公司,你会发现很多 AI 产品底层都是这种「运行时 + 插件」的架构。这节课不求你精通,只求你跑通一次、看懂它的骨架长什么样。
四、实操环节
案例1:看懂 Harness 的插件架构
任务目标:
用 AI 帮你把 Harness 的「一切皆插件」架构看懂:哪些部件是插件、它们之间怎么配合,画成一张能讲给同学听的架构图。
实操步骤
打开任意一个跑通的 Agent(Codex、Hermes 或 WorkBuddy 都行),发送下面这段,素材已内嵌:
text请根据下面这段介绍,画一张简化的架构图, 用文字或文本方式表示,能讲给零基础同学听。 输入素材: DeepSeek Harness 是一个开源的 Agent 运行时框架, 架构特点是「一切皆插件」: 模型是一个插件(负责理解和生成), 工具是一个插件(负责执行动作), 沙箱是一个插件(负责隔离运行环境), 会话存储是一个插件(负责保存对话历史), 界面是一个插件(负责展示和输入), 就连 Agent 主循环也是一个插件(负责调度其他插件)。 这些插件通过统一的接口协作, 哪个不合适就换哪个,不影响其他部分。 输入素材结束。执行后你会看到:AI 输出一张文字架构图,插件和接口关系清晰。
让 AI 再给你讲一遍这张图,看看它能不能把「为什么换插件不影响其他部分」讲清楚:
text请用坐地铁换乘的类比,向零基础同学解释「一切皆插件」。执行后你会得到:一个你能听懂、还能转述给别人的类比。
查什么 合格的样子 图能看懂 文字架构图能画出至少四个插件 类比能讲 类比能说清「换一个不影响其他」 自己能复述 不看屏幕能把架构复述给同桌
扩展练习(选做)
想亲手把架构画出来:
- 在纸上照着 AI 输出的架构图手绘一遍,标出每个插件的名字和它们之间的连接线。
- 执行后你会看到:一张自己画的架构草图,期末项目里可以直接引用。时间不够直接进案例2。
案例2:装 Harness 运行时
任务目标:
把 DeepSeek Harness 的运行时装到电脑上并启动。机房统一安装的学生跳过安装步骤,直接进入验证步骤。
实操步骤
确认 Node.js 已装好。教师在课前已统一安装,学生打开命令提示符验证一次:
batnode --version执行后你会看到:一行版本号(v22 或更高),说明运行时已就绪。
安装 Harness 运行时。机房已统一安装的跳到第 3 步:
batnpm install -g @deepseek-ai/dsh 输入素材: 安装包名 @deepseek-ai/dsh; 使用 npm 全局安装; 安装完成后命令行应能识别 dsh 命令。 输入素材结束。执行后你会看到:进度条走完,没有报错。
在命令提示符里启动 Harness:
batdsh web执行后你会看到:终端显示本地服务地址(通常是 127.0.0.1 开头),浏览器自动打开 Harness 界面。
把启动成功的界面截一张图,保存到 D:\AIGC\lesson-29,文件名叫 Harness启动成功.png。执行后你会得到:第一份本课证据。
查什么 合格的样子 Node.js 可用 命令提示符输出版本号 Harness 已装 npm 安装过程无报错 能启动 浏览器打开 Harness 界面 证据已留 lesson-29 目录里有启动成功截图
扩展练习(选做)
想看清 Harness 到底是什么:
在命令提示符里跑:
batdsh --help执行后你会看到:一长串子命令列表,每个对应一个插件能力。把最感兴趣的三个写在扩展记录里。时间不够直接进案例3。
案例3:手动配好模型 API Key
任务目标:
手动给 Harness 写一份模型配置,把 DeepSeek 接进去。这是本课最核心的一步,配通了 Harness 才真正能用。
实操步骤
打开 Harness 的配置入口。不同版本的入口略有差异,常见做法是在项目根目录新建一个配置文件。执行后你会看到:一个空的配置文件窗口或命令提示符里的配置引导。
照下面的结构填写配置,素材已内嵌:
text供应商类型:DeepSeek 官方 API Key:粘贴你自己的 Key 默认模型:deepseek-chat 接口地址:https://api.deepseek.com 输入素材: 本课使用 DeepSeek 作为默认模型供应商。 API Key 由教师课前发放,以 sk- 开头。 默认模型选 deepseek-chat,接口地址见上方。 输入素材结束。执行后你会看到:配置保存成功,Harness 状态显示模型已就绪。
在 Harness 对话框里发一句测试:
text你好,请用一句话自我介绍。执行后你会看到:DeepSeek 模型返回正常回复。
找到配置文件在磁盘上的位置,把完整路径记到扩展记录里。执行后你会得到:你亲手写出来的第一份 Agent 配置文件路径。
查什么 合格的样子 配置成功 Harness 显示模型已就绪 能对话 DeepSeek 正常回复,无报错 配置可查 能说出配置文件在哪个路径
扩展练习(选做)
想试着换一家模型:
- 在配置里把供应商换成 Kimi 或 GLM,填上对应 Key,保存后重启 Harness 看能不能正常对话。
- 执行后你会看到:至少两家供应商都能用。时间不够直接进案例4。
案例4:跑通一个最小任务
任务目标:
用跑通的 Harness 做一件最小但完整的事:让它按模板生成一份周报,验证「配置进 → 模型出」的链路真的能用。
实操步骤
在 Harness 对话框发送,素材已内嵌:
text请根据下面这份学习记录,按「本周完成、本周产出、 遇到的问题、下周计划」四类整理成周报,输出 Markdown。 输入素材: 本周把 Codex 在国内跑通,学会了离线安装和 CCSwitch。 本周把 Hermes Agent 接上了飞书,跑了一个课程表任务。 本周在配 DeepSeek Harness 的 API Key 时卡了一会儿。 下周想把 Harness 的插件市场试一试。 输入素材结束。执行后你会看到:一份四类齐全的 Markdown 周报。
换一个任务再跑一次,验证稳定性:
text请把下面这句话翻译成英文发回来: AI Agent 正在改变我们使用电脑的方式。执行后你会得到:一段流畅的英文翻译,说明模型链路稳定可用。
查什么 合格的样子 任务能跑 周报四类齐全,Markdown 格式正确 结果可复 第二个任务也正常回结果 链路完整 从输入到输出没离开 Harness 界面
扩展练习(选做)
想让 Harness 干更复杂的活:
发送这个组合任务:
text请先列出我的 D 盘 lesson-29 文件夹里有哪些文件, 然后把清单保存成 Markdown 文件,文件名叫「目录清单.md」。执行后你会看到:Harness 调用文件工具列目录并落盘。时间不够直接进课后巩固。
扩展任务:给 Harness 挑一个插件(选做)
任务目标:
Harness 的插件市场里有很多现成插件。挑一个你最感兴趣的,做一张「插件调研卡」,期末项目里如果用得上可以直接引用。
实操步骤
复制下面的提示词直接发送,素材已内嵌可直接运行:
text我想给 DeepSeek Harness 加一个插件,请从下面清单里 帮我挑一个最适合零基础学生的,并做一张调研卡, 格式:插件名、它能干什么、装它难不难、 对期末项目有没有用、一句话推荐理由。 输入素材: 插件 A:网页浏览插件,让 Agent 能自己打开网页查资料。 插件 B:定时任务插件,让 Agent 能每天定时提醒或跑任务。 插件 C:代码执行插件,让 Agent 能直接跑一段代码看结果。 插件 D:文档生成插件,让 Agent 能输出 Word 或 PDF 文件。 输入素材结束。执行后你会看到:一张插件调研卡,推荐理由明确。
想真的装上去试:按 Harness 的插件市场流程操作一次,把安装过程记录到扩展记录里。
五、总结与巩固
随机请两位同学 1 分钟展示:我的 Harness 现在跑的是什么模型、配置文件在哪、这节课最难的一步是哪一步。
回想这门课最后三个工具的跑通思路:Codex 要装得上、连得上、用得动;Hermes 要配 Provider、接飞书、跑任务;Harness 要装运行时、手写配置、跑通最小任务。三次跑通,同一套思路:先让工具转起来,再谈怎么用得好。
说一说:如果把这门课四个工具(WorkBuddy、Codex、Hermes、Harness)按「上手难度」从低到高排个序,你会怎么排?为什么?
期末项目选型时,这四个工具没有高低之分,只有合不合适:处理文档用 WorkBuddy、写代码用 Codex、接聊天软件用 Hermes、做定制 Agent 用 Harness。
六、资料与下载
延伸视频
推荐观看:开源 Agent 运行时与「一切皆插件」架构。