
本文将带你从零开始搭建DeepSeek Harness一个能读代码、改文件、跑测试的AI Agent。通过实战项目你将学会如何将大模型接入真实项目环境实现安全读取文件和执行命令并掌握如何制定可验证的任务完成标准。文章还将介绍如何通过测试和Git差异判断AI是否完成工作帮助程序员提升代码处理效率。把一段报错复制给大模型它会告诉你“可能哪里有问题”。把整个项目交给AI Agent它会自己打开文件、搜索调用关系、执行测试、修改代码再根据新的报错继续处理。两者看起来都在“写代码”本质却完全不同。前者输出的是建议后者操作的是一个真实环境。DeepSeek Harness就是这样一个开源的Agent运行框架。它由DeepSeek官方开源项目采用MIT许可证提供本地Web界面可以连接DeepSeek也可以接入其他模型服务和OpenAI兼容接口。这篇文章不做功能截图巡礼。我们从零搭建一个带有故障的项目然后让DeepSeek Harness完成一次真正的修复任务。读完之后你应该能掌握四件事怎样把大模型从“聊天窗口”接到真实项目怎样让Agent安全地读取文件和执行命令怎样给任务写出可以验证的完成标准怎样用测试和Git差异判断AI有没有真的完成工作。一、它和普通聊天模型到底有什么不同普通聊天模型的工作通常到“生成答案”为止。你把代码粘贴进去它根据已有上下文给出修改建议。至于文件是否真的存在、命令能否运行、修改后有没有破坏其他功能它并不知道。DeepSeek Harness在模型外面增加了一套执行环境工作区、文件工具、终端、任务计划、权限确认、会话记录和验证流程。它的价值不在于“换了一个更聪明的聊天页面”而在于把大模型放进一个可观察、可操作、可验证的工作闭环。例如你提出“修复订单金额计算错误”Agent可以查看目录和项目说明搜索金额计算函数阅读实现与相关测试执行测试复现错误修改代码再次执行测试汇报改了什么、为什么这样改。这才是Agent与聊天机器人的分界线模型不只生成文字还能通过工具影响真实状态并读取执行结果。二、安装前先准备一个安全的工作区DeepSeek Harness仍处于开发者预览阶段。它可以执行模型生成的命令也可以加载插件、访问网络和修改文件。第一次体验时不要直接打开公司的核心仓库更不要把整个用户目录交给它。建议准备一台Windows、macOS或Linux电脑当前长期支持版Node.js安装时包含npmGitDeepSeek API密钥或者已经运行的Ollama一个专门用于实验的目录。先在终端检查环境node -v npm -v git --version三条命令都能输出版本号才继续下一步。不需要安装Python也不需要先克隆DeepSeek Harness源码。官方提供的npm包可以直接启动Web UI。三、创建一个真的有Bug的演示项目为了避免“让AI随便改点东西然后宣布成功”我们先创建一个结果明确、可以自动验证的小项目。新建目录mkdir harness-demo cd harness-demo git init创建price.mjsexport function calculateTotal(items, discount 0) { const subtotal items.reduce((sum, item) sum item.price, 0); return subtotal * (1 - discount); }这段代码故意留下两个问题没有乘以商品数量也没有验证折扣范围。再创建price.test.mjsimport test from node:test; import assert from node:assert/strict; import { calculateTotal } from ./price.mjs; test(金额应该包含商品数量, () { const items [{ price: 10, quantity: 3 }]; assert.equal(calculateTotal(items), 30); }); test(应该在小计基础上计算折扣, () { const items [{ price: 10, quantity: 3 }]; assert.equal(calculateTotal(items, 0.1), 27); }); test(折扣超出0到1时应该报错, () { assert.throws( () calculateTotal([{ price: 10, quantity: 1 }], 1.5), /discount/i, ); });执行测试node --test此时测试应该失败。这很重要因为我们已经拿到了Agent开始工作之前的基准状态。把初始代码提交到Gitgit add price.mjs price.test.mjs git commit -m test: add failing price calculation case如果这是你第一次使用Git需要先配置用户名和邮箱。Git提交只用于保存基线不会向远程仓库上传任何内容。四、一条命令启动DeepSeek Harness在终端运行npx deepseek-ai/dsh web第一次运行时npm会下载所需依赖所以等待时间会比后续启动长。启动成功后终端会打印访问地址。当前默认地址为http://127.0.0.1:3080用浏览器打开这个地址就会进入本地Web界面。这里有一个常见误区Web UI运行在本地不等于模型也运行在本地。连接DeepSeek API界面和工具运行在你的电脑上推理由云端模型完成连接Ollama界面、工具和模型都可以在本机或局域网设备上运行。五、配置DeepSeek模型打开Settings → Models找到DeepSeek配置项填入API Key并保存。保存后不需要重启下一次请求就可以使用新配置。密钥在界面中是只写的保存后页面只会得到脱敏信息实际凭据会存入Harness自己的凭据文件配置文件保存的是凭据引用。不要把API Key写进项目源码也不要提交到Git。如果保存后无法调用优先检查Key是否完整当前网络能否访问模型服务会话中是否选中了已经配置的模型余额和接口权限是否正常。六、不用云端接入Ollama本地模型DeepSeek Harness支持添加自定义模型提供方。只要服务提供OpenAI兼容接口就可以尝试接入。先确认Ollama正在运行ollama list再检查兼容接口curl http://127.0.0.1:11434/v1/models进入Harness的模型设置选择添加自定义提供方填写Provider IDollama Base URLhttp://127.0.0.1:11434/v1 API protocolopenai-completions API KeyollamaOllama本地接口不会验证这个Key但部分OpenAI客户端要求它不能为空因此可以填写ollama作为占位值。然后点击获取可用模型。如果接口没有正确返回模型列表也可以手动填写ollama list显示的模型ID。需要注意本地模型能否稳定完成代码修改取决于模型的工具调用、指令遵循、上下文和代码能力。小模型可以用于项目问答、文件整理和简单修改但复杂重构通常更容易在规划或工具调用环节失败。如果Harness运行在Docker或NAS容器中127.0.0.1指向的是容器自己不是宿主机。此时要把Base URL改成宿主机可访问地址例如Docker Desktop环境中的host.docker.internal或者NAS在局域网中的实际IP。七、选择工作区Agent只能操作你给它的项目模型配置完成后点击Choose workspace添加刚才创建的harness-demo绝对路径并选中它。新建的Web UI会话如果没有选择工作区输入框会保持不可用。因为对Agent来说工作区不仅是一个文件夹也是所有文件操作和命令执行的上下文。这一步不要选择整个C盘用户主目录存放SSH密钥的目录挂载了大量个人资料的NAS根目录生产服务器的部署目录。更稳妥的办法是为AI任务创建单独分支准备独立工作区只开放完成任务所需的最小范围。八、不要一上来就让AI改代码第一次对话先让Agent只读分析。发送下面这段提示词请先只读检查当前项目不要修改文件也不要安装依赖。 任务 1. **说明项目包含哪些文件** 2. **执行现有测试确认失败情况** 3. **找出金额计算失败的根本原因** 4. **给出最小修改方案** 5. **等我确认后再修改。**这段提示词做了三件事限定权限、明确步骤、规定暂停点。比起一句“帮我修一下项目”它更容易产生稳定结果也方便你观察Agent是否正确理解了代码。正常情况下它应该发现calculateTotal只累加了价格没有计算price × quantitydiscount没有进行范围检查三个测试都可以作为完成标准。确认分析正确后再发送按照刚才的最小方案修复price.mjs。 约束 1. **不修改测试文件** 2. **商品小计必须计算price乘以quantity** 3. **discount小于0或大于1时抛出包含discount字样的错误** 4. **修改后运行node --test** 5. **如果失败读取错误后继续修正** 6. **最后汇报修改文件、测试结果和仍然存在的风险。**这时Harness才真正进入执行阶段。九、观察它怎样完成一次任务一个执行型Agent不是一次性生成整套答案而是在循环中工作理解目标、制定计划、调用工具、读取结果、调整行动最后验证完成。在这个例子中你应该能看到类似过程读取price.mjs和price.test.mjs执行node --test复现错误修改calculateTotal再次运行测试根据测试输出判断是否需要继续修改测试通过后停止。如果界面弹出命令或文件修改确认不要机械点击允许。先看清楚命令是否只作用于当前项目有没有安装来历不明的包有没有访问项目之外的路径有没有删除、发布、上传或修改Git历史。Agent的权限控制不是为了拖慢工作而是为了让错误停在真正产生破坏之前。十、不要相信“已经完成”要自己验收Agent说“测试通过”不等于任务真的完成。回到终端执行node --test git status --short git diff你需要确认三个测试是否全部通过是否只修改了price.mjs有没有加入与任务无关的依赖有没有删除原有校验或篡改测试实现是否覆盖数量和折扣边界。真正可靠的完成标准不是最后一句话而是三类证据代码发生了什么变化测试产生了什么结果这些差异能不能被人审查。这套方法不只适用于DeepSeek Harness。以后使用任何AI编程Agent都应该保留同样的验收闭环。十一、理解它的架构才能知道它适合做什么DeepSeek Harness强调“Everything is a Plugin”。它不是把所有功能写进一个巨大的应用而是把模型、工具、计划、交互、Web界面和扩展能力拆成可以组合的模块。从实际使用角度可以把它理解成五层1. 模型层负责理解目标、判断下一步和生成工具调用。模型可以来自DeepSeek也可以来自其他服务或自建的兼容接口。2. Agent循环负责把模型输出变成连续行动。它保存会话状态决定什么时候继续调用模型、什么时候执行工具、什么时候结束任务。3. 工具层把文件读取、代码搜索、终端命令等能力提供给模型。模型不能凭空操作电脑真正改变文件的是工具。4. 交互与权限层负责人工确认、权限策略和用户输入。高风险操作可以在真正执行之前停下来等待确认。5. Host与Web客户端Host提供服务和接口浏览器客户端负责工作区选择、会话、设置、执行过程和结果展示。插件化的好处是开发者可以替换模型、增加工具、扩展界面或者把同一套Agent能力接入不同宿主环境。代价也很明显项目仍在快速迭代配置结构、插件接口和部分行为可能发生不兼容变化。它现在更适合学习、实验和内部工具原型不适合未经评估就直接控制生产环境。十二、它真正能提高哪些效率快速理解陌生项目只读分析当前仓库说明入口、核心模块、数据流、测试方法和最值得先阅读的5个文件。所有结论必须附文件路径。修复可复现的Bug先运行测试复现问题再定位根因。只做最小修改不更改测试。修复后重新运行相关测试并展示git diff摘要。给旧代码补测试分析这个模块的公开行为和边界条件。先列测试计划确认后使用项目现有测试框架补充测试不引入新的测试依赖。排查CI失败读取CI配置和失败日志把环境问题、依赖问题、代码问题分开判断。先给证据和最可能根因不要直接修改部署配置。执行受控重构目标是消除重复代码但保持公开接口不变。先统计调用点运行基线测试每次只修改一个模块每步完成后重新测试。这些提示词都有一个共同点没有要求AI“尽量努力”而是规定了工作范围、步骤、禁止项和验收方法。Agent效率的上限不只由模型决定也由任务是否可验证决定。十三、常见问题npx命令不存在通常是Node.js安装不完整或者安装后终端没有重新打开。重新安装Node.js当前LTS版本并确认安装选项包含npm。Web页面打不开先看运行npx的终端是否仍然存在以及终端打印的真实访问地址。不要关闭正在运行的进程。输入框不能发送任务新会话没有选择工作区。点击Choose workspace添加并选中目标目录。模型列表获取失败或返回401自定义提供方会通过OpenAI兼容的GET /models接口发现模型。检查Base URL和Key如果服务不提供模型发现接口就手动填写模型ID。提示UNKNOWN_MODEL当前会话记录的模型没有配置或者对应提供方已被删除。重新选择可用模型必要时新建会话。Ollama连接失败先用curl验证/v1/models。如果Harness与Ollama不在同一台主机不能继续使用127.0.0.1需要使用对方可访问的局域网地址并检查防火墙和Ollama监听范围。Agent不断修改却无法通过测试停止当前任务把范围缩小。要求它先解释失败输出只修改一个文件并明确禁止改测试。复杂任务应该拆成多个可以独立验收的小任务。使用pnpm dlx出现缺少模块优先使用项目README给出的官方命令npx deepseek-ai/dsh web不要随意混用不同包执行器。项目仍在预览期遇到依赖问题时同时记录Node版本、包版本和完整错误信息再到项目讨论区检索。十四、最后记住Agent不是答案生成器而是一套执行系统DeepSeek Harness最值得学习的不是界面也不是某个模型的跑分而是它展示了一套清晰的Agent工作方式目标由人提出计划由模型生成动作通过工具执行结果由环境返回完成由测试和人工审核共同确认。当这条链路建立起来大模型才能从“告诉你怎么做”进化到“在授权范围内把事情做完”。但能力越接近真实操作权限边界就越重要。最好的使用方式不是把整台电脑交给AI而是给它一个明确目标、一个隔离工作区、一组必要工具和一套不能含糊的验收标准。做到这一点AI Agent才不是演示而是能够真正提高效率的生产工具。如何学习大模型 AI 由于新岗位的生产效率要优于被取代岗位的生产效率所以实际上整个社会的生产效率是提升的。但是具体到个人只能说是“最先掌握AI的人将会比较晚掌握AI的人有竞争优势”。这句话放在计算机、互联网、移动互联网的开局时期都是一样的道理。我在一线科技企业深耕十二载见证过太多因技术卡位而跃迁的案例。那些率先拥抱 AI 的同事早已在效率与薪资上形成代际优势我意识到有很多经验和知识值得分享给大家也可以通过我们的能力和经验解答大家在大模型的学习中的很多困惑。我们整理出这套AI 大模型突围资料包✅ 从零到一的 AI 学习路径图✅ 大模型调优实战手册附医疗/金融等大厂真实案例✅ 百度/阿里专家闭门录播课✅ 大模型当下最新行业报告✅ 真实大厂面试真题✅ 2026 最新岗位需求图谱所有资料 ⚡️ 朋友们如果有需要《AI大模型入门进阶学习资源包》下方扫码获取~① 全套AI大模型应用开发视频教程包含提示工程、RAG、LangChain、Agent、模型微调与部署、DeepSeek等技术点② 大模型系统化学习路线作为学习AI大模型技术的新手方向至关重要。 正确的学习路线可以为你节省时间少走弯路方向不对努力白费。这里我给大家准备了一份最科学最系统的学习成长路线图和学习规划带你从零基础入门到精通③ 大模型学习书籍文档学习AI大模型离不开书籍文档我精选了一系列大模型技术的书籍和学习文档电子版它们由领域内的顶尖专家撰写内容全面、深入、详尽为你学习大模型提供坚实的理论基础。④ AI大模型最新行业报告2025最新行业报告针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估以了解哪些行业更适合引入大模型的技术和应用以及在哪些方面可以发挥大模型的优势。⑤ 大模型项目实战配套源码学以致用在项目实战中检验和巩固你所学到的知识同时为你找工作就业和职业发展打下坚实的基础。⑥ 大模型大厂面试真题面试不仅是技术的较量更需要充分的准备。在你已经掌握了大模型技术之后就需要开始准备面试我精心整理了一份大模型面试题库涵盖当前面试中可能遇到的各种技术问题让你在面试中游刃有余。以上资料如何领取为什么大家都在学大模型最近科技巨头英特尔宣布裁员2万人传统岗位不断缩减但AI相关技术岗疯狂扩招有3-5年经验大厂薪资就能给到50K*20薪不出1年“有AI项目经验”将成为投递简历的门槛。风口之下与其像“温水煮青蛙”一样坐等被行业淘汰不如先人一步掌握AI大模型原理应用技术项目实操经验“顺风”翻盘这些资料真的有用吗这份资料由我和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理现任上海殷泊信息科技CEO其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证服务航天科工、国家电网等1000企业以第一作者在IEEE Transactions发表论文50篇获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。资料内容涵盖了从入门到进阶的各类视频教程和实战项目无论你是小白还是有些技术基础的技术人员这份资料都绝对能帮助你提升薪资待遇转行大模型岗位。以上全套大模型资料如何领取