wei_shuo头像
AI终于不只给建议了:我用DeepSeek Harness在Windows做了两个可交互Demo封面图

AI终于不只给建议了:我用DeepSeek Harness在Windows做了两个可交互Demo

AI终于不只给建议了:我用DeepSeek Harness在Windows做了两个可交互Demo

开头

我平时折腾 AI 工具,最容易失去耐心的一种情况,就是它把方案说得头头是道,真到“帮我把文件改了”“把项目跑起来”这一步,又把活儿原封不动交回来。偶尔问个问题没什么,可一旦是连续改代码、做网页、跑 Demo,这种来回复制就很磨人。尤其是一个项目里文件一多,我既要把上下文解释给 AI,又要自己在本地找目录、粘代码、开终端,最后变成“AI 负责出主意,我负责跑腿”。

所以我这次试 DeepSeek Harness,真正想看的不是它能不能多说几句,而是它能不能在一个明确的工作目录里读文件、写代码、调用工具,再把结果跑出来。整篇我会从 Windows 本地安装开始,把 API Key、工作区和权限设置走一遍,然后连续做两个实际 Demo:一个八足蜘蛛运动页面,一个 3D 足球小游戏。

最后再把本地服务接到 cpolar,看看离开这台电脑以后能不能继续访问。对我来说,这篇的重点不是“AI 又多了一个新名词”,而是把从聊天到真正动手之间那几步完整跑一遍,也顺便看看这种 Agent 工作方式到底能不能减少我最烦的重复操作。我更想知道的,是它到底能不能把这些步骤连成一条不需要我反复接力的工作流。

一、我为什么会想试 DeepSeek Harness

很多 AI 工具第一次打开时都很惊艳,真正放进项目里之后,我更在意的反而是另一件事:它到底能不能把事情往前推。

比如我让它整理一个项目,如果最后只是告诉我“建议调整目录结构”,那它依然停留在回答问题;如果它能进入指定工作区,读取文件、修改代码、调用工具,再把结果跑起来,这才开始接近我理解里的 Agent。

DeepSeek Harness 吸引我的地方也在这里。它不是一个单独的大模型,而是负责把模型、工具、工作区、权限、记忆和任务循环串起来的运行层。

可以先把关系理解得简单一点:

大模型负责理解和生成,Harness 负责给它接上可以真正做事的工具和环境。

image-20260824173116515

1.1 我更关注它这几个能力

能力我的理解更适合拿来做什么
Agent 运行层把模型、文件和工具串到一起编程、自动化、项目处理
插件化设计能力可以按需要组合扩展工具、自定义 Agent
工作区机制先指定一个目录再开始干活代码、网页、文档整理
权限控制决定它能不能改文件、执行操作审查、修改、实验任务
多种运行模式根据任务复杂度切换日常开发、多步骤任务
执行过程可见能看到读了什么、调用了什么调试、复盘、定位问题

image-20260824173125044

我比较喜欢它的一点,是没有把“Agent 能做什么”完全锁死在一个固定界面里。对于愿意自己折腾工作流的人来说,插件化比功能列表写得多长更重要。

image-20260824173132517

当然,这类工具和普通聊天产品最大的区别,也正是它的风险来源:一旦给了文件写入和命令执行权限,它就不只是“说错一句话”那么简单。所以我第一次测试时,更愿意先给它一个独立目录,等跑通之后再考虑真实项目。

1.2 哪些人会更容易用到它

如果只是聊天、查资料、写几段文字,普通 AI 已经够用了。DeepSeek Harness 更适合这些场景:

  • 希望 AI 直接处理代码或文件;
  • 想让它连续执行多步操作;
  • 经常生成网页、原型或小工具;
  • 想观察 Agent 调用了什么工具;
  • 准备进一步折腾插件、自定义流程。

image-20260824173202233

我自己更看重的是“少一点来回复制”。模型聪不聪明当然重要,但真正进入项目以后,能不能和文件、命令、工具接起来,才决定它到底能替我做多少事。

二、Windows 本地部署 DeepSeek Harness

2.1 安装前先准备这些

正式开始前,先把基础环境准备好:

准备项说明
Windows 电脑Windows 10 或 Windows 11
网络环境安装依赖、访问官网、调用 API 都需要联网
DeepSeek API Key用于模型调用
工作目录建议单独新建测试目录
终端或 Agent 工具用来执行安装和启动命令

这里我不会一上来就把真实项目目录交给它。先建一个空工作区,哪怕写乱了也好处理,这比后面再去追文件改动省心得多。

2.2 方式一:让已有 Agent 帮忙安装

如果电脑上本身已经有能执行命令的 Agent,可以直接让它帮忙处理安装。原来的操作是:

帮我安装 DeepSeek Harness https://www.deepseek.com/harness/

image-20260824173827262

这种方式比较省手工步骤,但我还是会看它实际执行了什么。毕竟“让 AI 帮我装”不等于“可以完全不看”。

安装完成后,会看到相应的启动提示和本地 Web UI 地址。

image-20260824173847458

2.3 方式二:按命令手动安装

如果更习惯自己掌握过程,也可以直接在终端操作。

先输入:

npx @deepseek-ai/dsh web

接着启动:

dsh web

image-20260824173935349

如果启动之后页面打不开,我一般会先做三件事:

  1. 看终端进程是不是还在;
  2. 看终端实际输出的访问地址和端口;
  3. 再检查 Windows 防火墙或安全软件有没有拦。

我不太喜欢遇到问题就反复重装,先看终端输出,通常更快。

2.4 配置 DeepSeek API Key

接下来创建 DeepSeek API Key。

image-20260824174024260

API Key 本质上就是模型调用凭证,所以这里最重要的不是“复制进去就行”,而是别顺手把它贴进公开截图、GitHub 仓库或者前端代码。

在 Harness 的模型配置位置填入 API Key,再按照当前页面选择模型和相应配置。

image-20260824174039568

如果后面怀疑 Key 泄露,直接撤销旧 Key 再重新生成,不要抱着“应该没人看到”的侥幸心理。

image-20260824174047976

2.5 单独创建一个工作目录

第一次用,我更建议先建一个测试目录。

image-20260824174112970

然后在 Harness 中选中这个目录作为工作区。

image-20260824174123102

后面不管是生成网页还是改文件,我都会先在这个目录里做。这样做有两个好处:一是内容比较干净,二是出了问题好回退。

三、真正开始用:先把权限和工作方式弄明白

3.1 我会先看这三个设置

进入任务区域后,最先需要确认的其实不是提示词,而是:

  • 工作目录;
  • 运行模式;
  • 权限级别。

我这里使用的配置如下:

设置推荐选择适用说明
工作目录测试项目目录限定文件活动范围,便于管理和恢复
权限Workspace Write允许修改当前工作区,超出范围时请求确认
运行模式标准模式日常读取文件、改代码、运行命令和调用工具

image-20260824174214844

如果只是分析代码,我会先用 Read Only;如果确实需要它直接改当前项目,再切到 Workspace Write。至于 Full Access,我不会为了省一个确认步骤就随手打开。

运行模式方面,界面里还提供了几种不同的运行思路:

image-20260824174237256

标准模式适合日常读文件、改代码和执行命令;PTC 模式更适合工具调用多、步骤比较长的流程,通过脚本化方式把操作串起来;极简模式只保留基础命令执行和文件修改能力,更适合做能力边界测试;创造模式则偏向插件组合和自定义 Agent 的玩法。

我实际使用这类工具时,不会专门追求“最高级”的模式。能稳定把任务做完,比名字看起来厉害更重要。

四、第一次实测:让它做一个八足蜘蛛运动页面

4.1 提示词先把要求说清楚

第一个任务我直接上一个相对复杂的交互页面,而不是只让它做 Hello World。

帮我生成一个八足蜘蛛运动轨迹演示页面。画面中是一只 3D 八足机械蜘蛛,支持鼠标拖拽旋转视角、滚轮缩放、点击某条腿显示单独运动轨迹。蜘蛛可以向前爬行、原地转向、停止观察,每条腿都要显示摆动轨迹、落脚点和运动方向线。页面左上角加入控制面板,支持播放、暂停、速度调节、显示 / 隐藏轨迹线。整体科技感,深色背景,打开即可运行。

image-20260824174316080

这里我比较在意的是,提示词不是只说“做个酷炫网页”,而是把交互、视角、动作、轨迹和控制面板都列出来。要求越明确,后面验收越容易。

开始执行后,可以看到它实际在调用哪些能力。

image-20260824174343395

这时候 Harness 和普通聊天式 AI 的差别就比较明显了:不是只返回一段代码,而是继续创建文件、推进任务,再把项目跑起来。

image-20260824174403631

页面打开之后,再继续看蜘蛛运动、轨迹线和交互是不是按要求工作。

image-20260824174455334

做到这一步,我才会觉得“这个任务完成了”。单纯代码生成出来不算,真正能跑起来,才有继续改的价值。

这次测试里,我还拿之前 Codex 生成的效果做了对比。

image-20260824174520481

从这次具体结果看,dsh 生成的页面在视觉和动作表现上更符合我的预期,生成速度也更快一些。

image-20260824174533046

这次运行里缓存命中率也比较高,对我来说最直接的感受就是调用成本更省。这里说的是这次实际使用感受,并不是说换到所有任务、所有环境都会得到同样结果。

另外一个我比较喜欢的地方,是执行过程够直观:调用了哪些插件、读取了哪些文件,都能看到。

image-20260824174606908

对我来说,这一点甚至比“第一次就生成得特别漂亮”更重要。因为项目只要稍微复杂一点,能不能看清它在干什么,直接影响后面好不好排错。

五、第二次实测:继续做一个 3D 足球小游戏

有了第一个 Demo,我接着把任务复杂度往上提一点。

帮我生成一个 3D 足球射门小游戏。画面包含足球场、球员、足球、球门和观众席。玩家可以用鼠标调整射门方向和力度,点击射门后足球沿真实抛物线飞行,镜头跟随足球移动,进球后显示慢动作回放、进球特效和比分更新。支持重新射门、切换视角、调整难度。整体像一个迷你 3D 足球游戏,打开即可玩。

image-20260824174625705

这次不只是页面展示,还涉及方向、力度、足球轨迹、镜头跟随、比分和重新射门等状态变化。

生成后的效果如下:

image-20260824174702843

这种 Demo 最适合拿来观察 Agent 连续做事的能力:它要处理的不只是代码量,还有场景、交互、动画和状态之间的关系。

我不会因为一个 Demo 跑起来,就直接把它定义成“能做完整游戏”。但如果目标是快速做一个可交互原型,先把想法变成能打开的东西,这类 Harness 确实比单纯复制代码方便不少。

六、提示词怎么写,才能少来回返工

连续做完两个 Demo 以后,我觉得最值得保留的不是某一句“万能提示词”,而是任务描述方式。

一个相对好用的任务,至少要把这些说清楚:

  1. 最终要做什么;
  2. 要在哪个目录工作;
  3. 需要哪些核心功能;
  4. 有什么限制;
  5. 做完以后怎么验收。

如果只说“帮我做个网页”,Agent 当然也能开始写,但后面大概率还要反复补要求。把交互和验收条件提前讲明白,省的是自己的时间。

复杂项目也可以先让它分析,再进入写入阶段。不是所有任务都需要一开始就给最高权限。

七、本地跑通后,再用 cpolar 解决远程访问

7.1 为什么还要再加一步

到这里,DeepSeek Harness 已经在 Windows 本机跑起来了,但本地服务始终有一个限制:离开这台电脑之后,访问就不方便了。

如果只是自己在本机测试,这当然无所谓;但如果需要从手机、平板、另一台电脑打开,或者想远程看生成的 Demo,就需要额外解决公网访问。

cpolar 在这里负责的事情很单纯:给本地正在运行的 Web 服务提供一个公网访问入口。

它不负责生成 Demo,也不负责模型调用,业务还是 Harness 自己完成。

7.2 Windows 安装 cpolar

先进入 cpolar 官网注册账号并下载安装 Windows 客户端。

img

下载完成后安装:

image-20240319175308664

安装成功后,在浏览器访问:

http://localhost:9200

使用 cpolar 账号登录管理界面。

img

7.3 创建指向 DeepSeek Harness 的隧道

在 cpolar Web UI 中进入“隧道管理——创建隧道”,我这里按照下面这组配置填写:

  • 隧道名称:可自定义,注意不要与已有的隧道名称重复
  • 协议:http
  • 本地地址:31900
  • 域名类型:我为了长期使用所以选择二级子域名,如果只是测试可以选择随机隧道
  • 地区:选择China Top

image-20260824175021296

这里我会先确认 Harness 本地页面确实可以正常打开,再创建隧道。这样公网访问如果有问题,至少能先排除本地服务本身。

接着登录 cpolar 官网,预留二级子域名:

image-20260824175101799

保留完成后复制子域名:

image-20260824175119702

再回到隧道配置页面,把子域名填进去:

image-20260824175143572

创建完成后,在在线隧道列表里查看固定公网地址。

image-20260824175211125

最后,用其他设备打开这个地址测试访问。

image-20260824175302360

做到这里,本地运行和远程访问这条链路才算真正接起来。

7.4 长期使用和临时访问,我会分开处理

如果只是偶尔测试,我不会一开始就把远程访问配置得特别复杂,先把本地服务和随机地址跑通更重要;如果后面确实需要长期从外面访问,再根据自己的使用频率考虑固定地址和更多隧道。

这类远程入口对我最实用的场景,其实不只 Harness。前端开发服务器、接口调试页、个人博客、文件服务或者临时 Demo,只要本地本身有正在监听的 Web 服务,都可以按实际需要建立对应的访问入口。先在本地把东西做出来,再决定要不要长期放到公网,比一开始就为每个小实验单独准备服务器省事得多。

八、我会特别注意的几个使用边界

这类 Agent 工具和普通 Web 应用不太一样。它背后可能连接 API Key、工作目录和命令执行能力,所以我不会因为“公网地址能打开”就默认它适合随便分享。

我自己的习惯是:

  • API Key 不放进公开代码和截图;
  • 先用独立测试目录;
  • 能用 Workspace Write 就不随便开 Full Access;
  • 重要项目先备份或使用版本控制;
  • 临时远程访问用完就关;
  • 如果只是展示 Demo,尽量只开放 Demo 本身。

这几个动作都不复杂,但会让我用这种工具时踏实很多。

结尾

这次把 DeepSeek Harness 从安装一路用到两个 Demo,我最大的感受其实不是“AI 又聪明了多少”,而是原来最麻烦的那段来回搬运,开始有机会被连起来了:我提出要求,它进入工作区,创建和修改文件,调用工具,再把结果跑出来,我只需要继续看结果、补要求、做判断。

八足蜘蛛和 3D 足球小游戏都只是演示,真正有价值的是这条工作链能不能稳定复用。对我来说,能看见它读了什么、改了什么、调用了什么,比一句“自动完成”更重要。

最后再接上 cpolar,本地服务就多了一个远程入口。这样做并不会改变 Harness 本身的能力,只是把原来锁在当前电脑里的页面带到了外面。真正适合长期使用的前提,还是工作区、权限和凭证这些边界要自己管好。AI 可以替我多做几步,但最后该不该让它做、能让它做到哪一步,这个判断还是得留在自己手里。

转载自 CSDN-专业IT技术社区

原文链接:https://blog.csdn.net/weixin_62765017/article/details/167270617

文章来源转载

评论

评论列表

微信小程序
QQ小程序

关于作者

点赞数:0
关注数:0
粉丝:0
文章:0
关注标签:0
加入于:--