主流 Agent 入门教程 / DeepSeek Harness
2. DSH能做什么
原文备份 · 第 3 / 21 篇 · 查看极客时间原知识库 ↗
本篇目录 · 12 节
本文属于《DeepSeek Harness 入门教程(实战版)》· 第一部分 · 先认识这个产品
第 2 章 DeepSeek Harness 能做什么
上一章把 DSH 拆成了模型、Agent 预设、插件、Profile 和使用入口。这一章换一个更实际的角度:哪些任务值得交给它,哪些能力会在后面的项目中真正用到。
DSH 的功能很多,尤其是插件不断增加以后,很容易列出一张很长的清单。但入门阶段没有必要把所有功能都试一遍。判断一项能力是否重要,可以看它是否进入了下面这条完整工作链:
理解任务 → 查看环境 → 制订方案 → 使用工具执行
→ 检查结果 → 根据反馈继续 → 把改动交给用户审查
这套教程围绕这条工作链选择内容。
1. 在真实项目里创建和修改文件
这是最容易看到价值的一类任务。
你可以让 DSH:
- 从空目录创建一个小项目;
- 阅读已有代码并解释结构;
- 搜索某个参数、函数或配置出现在哪里;
- 修改代码、测试和文档;
- 打开生成的 Markdown、图片或其他支持预览的文件;
- 汇总本轮实际改动。
区别不在于它能不能“写出一段代码”,而在于它可以围绕同一个工作区连续行动。模型先看到项目当前状态,插件再把文件读写能力提供给它,所有操作都受到工作区和审批策略约束。
第7章中,我们会让它从零创建「日报助手」。第11章再在已有代码上增加功能,体验“先读懂、再修改”的区别。
2. 执行命令,并根据结果继续处理
很多任务必须运行以后才能判断是否完成。例如:
- 安装或检查项目依赖;
- 运行测试、构建和格式检查;
- 启动本地程序;
- 查看 Git 状态和代码差异;
- 运行一次数据处理脚本;
- 观察长时间任务的实时输出。
DSH 可以让 Agent 调用 Shell 工具,也可以在 Web 或桌面端侧边栏中打开由你亲自操作的终端。这两者不要混淆:
- Agent 调用的 Shell受当前工具、沙箱和审批策略控制;
- 你打开的侧边栏终端以当前系统用户权限运行,不会因为 Agent 是只读模式就自动变成只读。
因此,侧边栏终端适合你手动复核命令,却不应拿来绕过 Agent 的安全限制。第7章和第11章会反复使用“Agent 执行一次、用户独立复核一次”的方式闭环验证。
3. 把执行过程变成可以审查的工作
一个 Agent 是否好用,不只看它最后给出的答案,还要看你能否确认中间发生了什么。
在当前 Web 和桌面端中,你可以查看工具调用、文件改动、代码差异、提交的计划以及子智能体会话。代码差异支持逐行或左右分栏审查;长命令和工作流也可以转入后台,在任务面板中继续显示输出。v0.1.7-rc.1 更新说明
这些界面能力解决的是三个不同问题:
| 你想确认什么 | 应该看哪里 |
|---|---|
| Agent 调用了哪些工具 | 对话中的工作过程或工具卡片 |
| 哪些文件发生了变化 | 文件改动或代码差异面板 |
| 修改后是否真的可用 | 自己重新运行测试或打开产物 |
最后一项最重要。界面里的“任务完成”只是 Agent 的判断,测试结果和最终文件才是独立证据。
4. 更换模型,也更换 Agent 的工作方式
DSH 把“谁来思考”和“如何工作”分开了。
你可以配置 DeepSeek 官方模型、内置第三方 Provider,或者兼容 API;也可以在标准、PTC、极简、创造及自定义预设之间选择。于是同一个任务可以从两个方向调整:
- 模型不合适:切换 Provider 或具体模型;
- 工具使用方式不合适:切换 Agent 预设或调整插件组合。
这比简单地把所有问题归结为“模型不够聪明”更实用。第8章会配置三类 Provider,第9章则用同一个项目对比不同 Agent 预设,并创建一个自定义预设。
5. 用插件扩展和裁剪能力
插件既可以增加能力,也可以减少不必要的能力。
当前插件管理页支持安装、配置、启用、停用和运行时卸载插件;安装时还可以根据网络情况选择官方源、国内镜像或自定义源。v0.1.7-rc.1 更新说明
在实际使用中,一个完整的插件动作不是“点一下安装”,而是:
确认任务需要什么
→ 查看插件的来源、权限和兼容性
→ 安装并配置
→ 在新任务中验证能力是否出现
→ 不再需要时停用或卸载
第10章会完整走一遍这个闭环,还会配置终端、Agent Loop 和网页搜索等常用项目。这样学完后,你不只是理解“万物皆插件”,还会真正管理插件。
6. 用 Skill 固化做事方法,用 MCP 接入外部能力
Skill 和 MCP 经常一起出现,但解决的不是同一个问题。
- Skill更像一份可以被 Agent 发现并按需加载的操作说明,适合沉淀项目规范、固定流程和工具使用方法;
- MCP是一套连接外部工具与资源的协议,让 Agent 能调用数据库、浏览器、内容服务或其他程序提供的能力。
举个简单例子:
- MCP Server 提供“读取资讯源”的工具;
- Skill 告诉 Agent什么时候调用、参数怎么填、失败后检查什么、输出要整理成什么格式。
第12章会创建一份能被 DSH 实际发现的项目 Skill,并连接一个只允许访问练习目录的 MCP 文件服务。我们会检查它是否出现在目录中、是否真的被加载,再用一次范围内写入和一次越界拒绝证明授权边界,而不只是让 Agent 普通地读取一个 Markdown 文件。
7. 把独立工作交给子智能体
当一项任务里包含多个相互独立的问题时,主 Agent 可以把部分工作委派出去。例如:
- 一个智能体分析第一个数据源;
- 一个智能体分析第二个数据源;
- 另一个智能体检查测试覆盖;
- 最后由主 Agent 汇总结论并修改项目。
这里的并行发生在“完成开发任务的过程中”,而不是让普通 Node.js 程序自动拥有 Agent 能力。程序里的 Promise.all 是代码并发;Harness 的 Subagent 是多个智能体之间的任务委派,两者不能混为一谈。
第13章会实际创建两个子智能体完成并行审查,并比较 Subagent、Workflow 与实验性 Agent Team 的适用边界。主线不会启用 Agent Team,因此不把它写进“学完即会”的承诺。
8. 让 Agent 跨多个回合持续推进
如果任务包含多步检查、修改和验证,一条提示词不一定能在单个回合里可靠完成。Goal 可以让 Agent 围绕一个明确目标持续推进,并保留进度。
它适合“结果明确,但中间步骤需要根据实际情况调整”的任务。例如把日报助手从能运行的练习项目,打磨成有测试、有文档、失败时能给出清楚提示的小工具。
第14章会重点练习四件事:目标怎么写、如何观察进度、什么时候需要暂停或纠偏,以及最后如何独立验收。
9. 定时运行,或者完全离开界面
自动化有两种常见需要:
- 到时间自动触发:使用产品内置的定时任务创建提醒或周期任务,并查看运行记录;
- 由其他程序触发:使用 Headless 从命令行接收任务,完成后输出结果并退出。
当前版本的定时任务在 Web 和桌面端默认关闭,需要先在插件管理中启用;任务在应用重启后仍会保留。Headless 则支持从标准输入读取任务、用 --session-id 继续会话,以及用 --json 输出逐行 JSON 事件。v0.1.7-rc.2 更新说明
第15章会先用 Headless 完成一次离线检查,再启用内置定时任务完成两分钟测试,并由你决定是否保留“每天生成日报”。操作系统的 cron 和任务计划程序只作为服务器或 CLI 场景的补充方案。
还有一些能力,为什么不放进主线
当前版本还提供或正在试验更多能力,例如 Office 文件预览与处理、侧边栏浏览器、语音转写、SSH 远程工作区、Playwright/Chrome DevTools/Stagehand 浏览器后端以及 Computer Use。
它们并非不重要,而是会引入额外的运行环境、权限或实验性依赖。为了让第一次学习保持稳定,主线只在第18章说明入口和适用场景,不要求每位读者都配置。等你掌握模型、预设、插件和审批以后,再进入这些能力会更安全。
哪些任务不应该直接交给它
DSH 能执行真实操作,不代表适合不经检查地处理所有事情。以下任务至少需要更严格的权限和人工复核:
- 删除或批量覆盖重要文件;
- 直接操作生产环境和真实用户数据;
- 发送消息、发布内容或触发付费操作;
- 处理未脱敏的密钥、身份信息和公司机密;
- 在没有测试和备份的情况下大范围重构项目。
更稳妥的顺序是:先让 Agent 只读调查,再审查计划,然后开放最小写入范围,最后由独立测试或人工检查确认结果。
这套教程会让你真正完成什么
后续实战不是九个互不相干的功能演示。它们会把日报助手从空目录逐步推进到下面的状态:
能运行、能测试
→ 能切换数据源和限制条数
→ 有可复用的 Skill 和外部工具
→ 能借助多个智能体完成开发工作
→ 能作为长目标持续改进
→ 能定时或以 Headless 方式运行
→ 能把配置与经验沉淀下来
下一章先做第一个决定:你的电脑应该安装桌面端,还是使用 CLI/Web。选对路线以后,后面的安装会简单很多。
← 上一章:DeepSeek Harness 是什么 | 回目录 | 下一章:选择桌面端还是 CLI/Web →