大家好,我是程序员鱼皮。
最近 DeepSeek Harness(DSH)真是太火了!之前我发过 教大家如何安装使用,还盘点过 。
![]()
不过显然大家对这些玩法并不满足,所以本期我会继续分享 DSH 的 3 大进阶玩法:
通过斜杠命令减少重复输入
自定义工具给 AI 装上手脚
打造多 Agent 军团帮你干活
这套组合拳打下来,让你的黑色鲸鱼直接起飞!
![]()
一、斜杠命令
先来说最容易上手、使用频率也最高的一个进阶玩法,就是斜杠命令。
如果你用过 Codex 或者 Cursor,那么你对斜杠命令应该并不陌生,比如 Codex 中的 /compact、/plan 等命令,你不需要每次都写一大段提示词,敲一下就能快速执行某一项操作。
![]()
DSH 也是类似的套路。当你在对话框中输入 / 的时候,界面就会弹出当前已经注册的命令列表。
![]()
因为在 DSH 中,一切皆插件。这些命令同样由插件提供,因此不同版本、不同配置下,菜单里的命令可能略有区别。
我用的这个版本里一共注册了 6 个内置命令,下面挨个介绍一下。
/compact 压缩上下文
在对话框中输入 /compact 后,DSH 会把当前对话中的关键信息整理成一份更加紧凑的摘要,在接下来的对话中 AI 会带着这份摘要继续工作。
如果一个任务已经做了很久,但又不想重新开启会话,就可以用它给你的大肥鱼「减减肥」了。既能让 AI 更专注,又能省下不必要的 Token 消耗。
![]()
/export 导出当前对话
输入 /export,DSH 可以直接把当前对话框内容打包下载。
![]()
命令执行成功后,浏览器会自动下载一个 zip 压缩包,里面是完整的对话记录。当你想保存对话,或者把 AI 的回答整理成文档时,就不用再一个一个地从聊天窗口里复制粘贴了。
/goal 设置长期目标
直接在对话框中输入 /goal,后面跟上你的目标描述,DSH 就会把它存成一个长期目标。接下来每一轮对话,AI 都会自动围绕这个目标往下推进,就算聊到一半跑题了,它也会自己绕回来。
/goal 重构项目的登录模块,并补齐测试和迁移说明
/goal 还提供了几种控制目标的用法:
/goal
/goal edit < 输入修改后的目标 >
/goal pause
/goal resume
/goal clear
其中,单独输入 /goal 可以查看当前目标。edit 用来修改目标,pause 和 resume 分别用来暂停和恢复目标,clear 用来清除当前目标。
/plan 开启计划模式
输入 /plan,后面跟上你的需求,比如:
/plan 帮我规划登录模块的重构方案
计划模式会引导 DSH 先了解项目、整理方案并交给你确认,等你同意了才开始动手。
![]()
不需要继续规划时,可以通过 /plan off 命令退出。
/plan 命令比较适合陌生项目、大范围重构或者风险较高的改动,可以减少 AI 没有理解清楚需求就直接动手修改代码的情况。
/permission 调整操作权限
直接输入 /permission,就能查看并切换当前对话的权限设置。
![]()
但其实在 Web 界面,点一下输入框旁边的权限按钮就能切换,所以这个命令更适合习惯终端操作的用户,在 /permission 命令后面直接跟上权限预设就可以了。
/feedback 提交使用反馈
在 /feedback 后面写上反馈内容,就能把这条意见记到当前对话的日志里。
/feedback < 输入你想反馈的内容 >
如果你在使用 DSH 的过程中碰到了 Bug 或者哪个交互用着别扭,随手敲一行就直接给大肥鱼反馈了。不过要注意,只有开启了相应的遥测能力,反馈才会继续传给官方;遥测关闭时,内容只留在本地。
![]()
自定义一个斜杠命令
如果你觉得上面这些内置命令还不够用,DSH 还支持自定义斜杠命令。
比如每次打开一个项目,我都想先看看当前在哪个分支、最近提交了什么。虽然可以反复让 AI 执行 Git 命令,但我觉得更省事的做法,是把整个流程压缩成一条 /repo 命令,以后一键搞定。
所以我让 DSH 给我自定义了一条斜杠命令,下面这段提示词直接丢给它就行:
请帮我创建并安装一个 DSH 斜杠命令插件。
命令名是 /repo,执行后显示当前 Git 仓库所在的分支和最近 3 次提交。如果当前目录不是 Git 仓库,请给出友好提示。完成后检查插件是否安装成功,并告诉我怎么重启和验证。
运行成功后,重启一下 dsh web,在任意 Git 项目对话框中输入 /repo 命令,来看看效果。
![]()
当前分支和最近 3 次提交直接就出来了,很方便吧~
所以,只要你有一套流程需要反复描述,而且每次步骤都差不多,完全可以把它交给 DSH 压缩成一条斜杠命令,以后用起来就方便多了。
二、给 AI 提供工具
斜杠命令解决的是重复操作的问题,接下来这个玩法,解决的是 AI 能不能动手干活的问题。
有时候你让 AI 顺手查个数据库、调个第三方接口,它只会阿巴阿巴,这是因为 AI 只是个大脑,它没有对应的工具来做这些事情。
装上工具之后就不一样了,read 是它的眼睛,能看文件;bash 是它的手,能敲命令;write 是它的笔,能把结果写进项目。这时候 AI 才从「嘴强王者」变成真正能动手干活的帮手。
![]()
DSH 自带的工具箱
刚才提到的 read、bash 和 write 只是冰山一角。DSH 默认内置了一大批工具,覆盖文件读写、命令执行、任务管理、联网搜索和多 Agent 协作等方向。
除了这三个核心工具之外,还有几个高频工具。比如 glob 和 grep 负责查找文件和搜索内容,todo_write 让 AI 自己维护一份任务清单,ask_user_question 会在 AI 拿不准的时候回头问你确认,web_search 负责联网搜索信息,skill 用来调用预设的技能流程。
![]()
工具数量会随着版本和插件变化,因此不用记住这些。
另外还有 subagent、workflow 那一串多 Agent 工具,后面我会专门介绍。
工具、插件和 Skill 的区别
在动手之前,先搞清楚三个容易混淆的概念。很多人分不清工具、插件和 Skill 之间的关系,但它们其实是三个不同层次的东西。
工具 是 AI 的手脚,解决的是「能不能动手」的问题。比如 read 能读取文件、bash 能运行命令、web_search 能搜索网络,这些都是具体的操作能力。
插件 是 DSH 的扩展模块,解决的是「怎样把新能力装进系统」的问题。一个插件可以注册工具,也可以扩展命令、模型、服务甚至界面,是整个 DSH 的能力载体。
Skill 更像一份操作手册,解决的是「这件事应该怎么做」的问题。Skill 本身不会凭空增加系统权限,它的作用是告诉模型该按什么流程干活、什么时候该调用哪些工具。
![]()
举个例子,write 是一支笔,提供写文件的能力。安装这支笔的模块就是插件,而文章的「写作教程」就是 Skill,用来教 AI 应该如何使用这支笔写出更好的文章。
通过 MCP 把现成服务接进来
搞清楚工具、插件和 Skill 之后,接下来就可以继续给 AI 扩展能力了。
但问题来了,如果每需要一个新工具,都得自己写插件,那也太麻烦了。。。
![]()
好在很多工具早就有人做好了,我们只需要通过 MCP 拿来用就行。
MCP 全称 Model Context Protocol 模型上下文协议,你可以把它理解成 AI 世界的 USB 接口。就像键盘、鼠标、U 盘都可以通过 USB 接到电脑上一样,MCP 给 AI 和外部工具也定了一套统一的连接标准。只要一个服务实现了 MCP 协议,DSH 就能直接把它接进来当工具用。
现在社区里已经有大量现成的 MCP 服务了,比如我的 专门整理了优质的 MCP 资源大全,还支持分类搜索,找起来很方便。
![]()
这里我拿一个最简单的例子来演示效果。我给 DSH 接入了一个文件系统 MCP,然后让它读取演示目录中的文档。
![]()
DSH 很快调用了 mcp__files__read_text_file 这个工具,成功读取了文件内容,还总结出了这只大肥鱼刚刚解锁的能力。
这样一来,别人已经做好的能力,我们只需要一行配置就能接进来,没必要每次都自己从头造轮子。
让 AI 临时创造一个工具
现成的服务可以通过 MCP 接进来,那想造一个全新的工具怎么办?
DSH 提供了一个叫做 Creator Mode 创造模式的运行模式,在这个模式下,AI 可以使用动态 Cordis 插件的能力,不需要建文件、不需要装依赖,直接在对话里现写现运行一个临时工具。
比如我让它创建一个 word_count 工具,接收一段文字,返回字符数、行数和单词数。
![]()
插件运行成功后,word_count 会真正加入当前进程的工具列表。
![]()
接下来再给它一段文字,模型就能调用刚刚创造出来的工具了。
![]()
工具调用卡片上真的出现了 word_count,并且成功返回了字符数、行数和单词数。
需要注意的是,动态工具主要适合临时实验和快速验证想法。它只在当前进程生效,停止插件或者重启 DSH 后就会消失。如果验证通过想长期使用,再让 AI 把它整理成正式的仓库插件就好。
另外提醒一句,动态插件虽然运行在沙箱环境里,但并不是安全边界。运行之前一定要先检查一下生成的代码逻辑,再确认它申请了哪些权限。
三、打造 AI Agent 军团
斜杠命令解决了重复操作的问题,工具让 AI 能够完成更多工作。但还有一个问题没解决,就是任务一旦复杂起来,一个 AI 还是容易忙不过来。比如你让它同时兼顾代码审查、写测试、查安全漏洞,不仅效率低,还有可能顾了这头丢了那头。
既然一个 Agent 忙不过来,那就多叫几个,打造一支 AI 军团。
![]()
DSH 内置了几种多 Agent 工具,主 Agent 可以把复杂任务拆成相对独立的部分,再根据依赖关系选择并行或者分阶段处理,最后汇总结果。
内置 Agent 工具
DSH 一共内置了 4 个 Agent 派活工具和 3 个后台管理工具,先从最容易上手的 subagent 开始介绍。
subagent 会创建一个拥有独立上下文的后台子 Agent,它不会看到父会话的任何对话历史,适合处理和主任务无关的独立工作。任务完成后,结果会回到父会话。
![]()
subagent_fork 跟 subagent 的用法差不多,区别在于 subagent_fork 会把父会话中已经完成的对话内容一并带给子 Agent,让它从一开始就拥有前文信息。
比如我没有重新提供完整的审查报告,只让 AI 根据刚才的结果整理一段总结。从总结内容里能看出来,它确实拿到了上一次 subagent 的审查报告。
![]()
workflow 同样是一个内置的 Agent 工具,它可以在一段脚本中定义多个任务,让它们并行执行,等所有结果全部返回后再统一汇总。
我让 AI 同时完成变更总结、风险检查和测试清单三个任务,它等到三个 Agent 全部完成后,才交给第四个 Agent 整理成发布前的总结清单。
![]()
最后一个派活工具是 ralph,它比较特殊,每一轮都会换一个全新的子 Agent 来继续推进同一个目标,目的是防止同一个 Agent 越干越钻牛角尖。每轮之间只靠一份结构化的交接报告传递进展,不会继承上一轮的对话历史,相当于换个人从新的角度重新审视问题。
我让它执行 3 轮,检查最近的一次仓库提交,并反馈给我风险清单。结果第二轮的 Agent 修正了第一轮的优先级判断,还合并了重复内容、补上了第一轮遗漏的问题。第二轮干完以后,它直接判定目标已完成,第三轮都省了。
![]()
除了派活,DSH 还提供了 3 个后台管理工具,方便你随时掌握子 Agent 的状态。
list_agents 可以查看后台子 Agent 的运行状态,send_message 可以继续给某个子 Agent 补充新的要求,interrupt_agent 则可以中断它当前正在执行的任务。
我先启动一个子 Agent 审查代码,通过 list_agents 看到它正在运行。接着用 send_message 让它重点检查触控区域和减弱动效的实现,最后用 interrupt_agent 停止当前任务,Agent 的状态也从 running 变成了 idle。
![]()
需要注意,interrupt_agent 只是中断当前这一轮任务,并不会销毁这个子 Agent。已经排队的消息也不会自动消失,之后你还可以继续用 send_message 找它干活。
了解了这 4 个工具之后,再来看看怎么选择。
我的建议是,独立任务用 subagent 就够了,需要让子 Agent 了解前文背景就用 subagent_fork,多个任务要并行跑就交给 workflow,同一个目标想让不同 Agent 反复迭代审视就用 ralph。
上面这些内置工具,手动派两三个 Agent 确实很方便。但任务一多,谁负责什么、哪些任务有依赖、现在执行到哪一步了,光靠脑子记就开始吃力了。
如果想真正拉起一支有队长、有分工、还能看到任务面板的 AI 军团,就得请出 Agent Teams 插件了。
Agent Teams 插件
Agent Teams 是一个社区开发的多 Agent 协作插件,可以让 DSH 同时拉起多个 Agent 各自干活,结果统一汇总到一个 Captain 队长节点。
开源仓库:https://github.com/NanmiCoder/dsh-agent-teams
插件的安装方法很简单,输入一条命令就能装好:
dsh plugin --profile web add @nanmicoder/dsh-agent-teams@latest
当然,你也可以直接把开源地址丢给 AI,让它帮你安装:
![]()
来试试看,我要用它检查一个前端项目,创建了 3 个成员 Agent,分别负责三个方向:
前端 Agent 检查页面结构、交互逻辑、响应式和明显的前端问题
代码质量 Agent 检查项目结构、依赖管理和代码可维护性
安全 Agent 检查敏感信息泄露、依赖风险和明显的安全隐患
任务跑起来后,当前会话会自动成为 Captain,也就是整支团队的队长。
Captain 负责拆分任务、分配工作,最后统一汇总结果。下面的成员 Agent 则各自处理不同方向的问题。右边的活动面板能直接看到 3 个 Agent 同时在工作,等它们各自检查完成,结果会统一回到 Captain,由 Captain 汇总并给出最终报告。
![]()
更牛的是,这支 Agent 团队做完一次任务后不会马上消失,后面还能继续复用。
![]()
这一轮检查结束后,我又追问了一个 WebGL 降级的问题,并且指定只让 frontend 成员继续处理。结果活动面板里真的只有它重新进入了工作状态,另外两个成员没有被重复调度。
![]()
这也是 Agent Teams 和临时派几个子 Agent 最大的区别。Agent Teams 不只是派活,它还提供了成员管理、任务依赖、自动调度、持久化状态和实时活动面板,更像是一套完整的 AI 团队管理系统。
不过它也有一些限制。一个 Captain 同时只能带一个活跃团队,团队状态默认保存在当前工作区,不会自动同步到其他电脑。如果多个 DSH 进程同时操作同一个团队,也可能出现状态冲突。
如果只是临时拆分几个任务,DSH 内置的多 Agent 工具已经完全够用了。只有任务需要长期推进、成员反复协作,还要管理任务依赖和查看执行状态时,才适合上 Agent Teams。
多用 AI 之后你自然会形成判断,什么时候该拆分 Agent、拆几个、要不要上 Agent Teams,这些都是靠实际任务跑出来的经验。
最后哔哔
写到这里,DSH 的 3 大进阶玩法就全部介绍完了。
简单总结一下,斜杠命令可以把高频操作变成快捷指令,一键触发;工具可以让 AI 读取文件、运行命令和调用外部服务;多 Agent 协作可以把复杂任务拆开,让一支 AI 团队同时帮你干活。
如果你只是偶尔使用 DSH,可以先从内置命令和现成工具开始。等任务逐渐复杂了,再尝试 MCP、动态工具和多 Agent 协作就好。关键是先动起来,用得越多,你对这些能力的判断就越准。
OK 就分享到这里,到目前为止我已经给大家分享了很多期 DeepSeek Harness 的玩法了,可以在我免费开源的 中阅读,帮你玩转 DSH 和 AI 编程。
![]()
鱼皮的 AI 编程教程
你有用过 DeepSeek Harness 么?还有哪些不错的玩法?欢迎在评论区聊聊
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.