不写代码,给 DSH 做一个「今天吃什么」插件
一句话想法、一份共创规格、一次创造模式开发、一道版本审批、两轮按现象修 bug:看一个「今天吃什么」插件如何在全程零手写代码中诞生。
最近更新: 2026-09-20

DeepSeek Harness 的官方插件文档写得很扎实——但那是写给程序员的。创造模式里藏着第二条路:用大白话描述你想要的东西,让 agent 跟你一起把需求共创清楚,规格落成一个文件,然后让它开发。这篇图文跟着一个完整录屏案例走:一个「今天吃什么」插件——按你的口味库推荐午饭,70% 喜欢、30% 惊喜,入口就在输入框旁边。
下面全程没有一行手写代码。你要做的只有一件机器替不了的事:说清楚你想要什么,然后诚实回答它的提问。
速览
- ▸完整闭环:一句话想法 → agent 反问产品问题 → 你拍板 → 它写规格、写代码、装面板。
- ▸Demo 真的能跑:输入框旁的「吃啥」按钮、双页签面板(今日推荐 + 我的口味库)、70/30 喜欢-惊喜分流、防重复推荐。
- ▸对话做出来的插件在注册前只是原型,重启即失;要做成永久插件,按 create-plugin 教程走注册那一步。
从一句话到能用的面板
- 1
先认清两条路
官方开发者文档走的是代码路线:建项目、搞懂 host/client 生命周期、注册插件包。喜欢写代码的话,我们的 create-plugin 教程完整覆盖那条路。本页是另一条——全程不出对话的路。

文档路线:很扎实,但写给程序员。看视频 3:10 - 2
一句话说出想法
案例从一个人人共感的痛点开始:一到中午,吃什么成了头等难题。整段需求就一句话:在输入框附近做个「今天吃什么」推荐——优先推荐我喜欢的,偶尔给点惊喜,还能管理我爱吃的东西。这就够开工了,细节交给对话。

整段需求:一句大白话。看视频 5:00 - 3
让它把关键问题问回来
agent 没有闷头开写,而是先把关键决策摆出来:喜欢和惊喜的比例怎么定(70/30,可调)、口味库按什么维度组织(菜系分类、支持自定义)、推荐结果之后做什么(先只展示结果,第一版保持简单)、数据存哪里(本地)。你每个问题答一行就行。

它先把产品问题问清楚,再动手。看视频 7:00 - 4
- 5
第一版保持极简
被问到「推荐结果要不要一键填进输入框交给 AI」时,课程作者砍掉了这个功能:先只展示结果。极简先行、后续再丰富——拒绝对功能是让插件最快跑起来的方式。

第一版故意保持简单。看视频 8:20 - 6
入口拍板
最后的决策:入口按钮放在权限选择和模型选择之间,叫「吃啥」,配米饭图标,点开是双页签面板——今天吃什么、我的口味库。都是小决定,但它们是你的决定,不是 agent 的。

入口按钮、图标、页签——由你拍板。看视频 9:40 - 7
规格落成文件
共创收口时,完整规格被写进工作区的 what-to-eat.spec.md——模块、行为、边界情况(口味库为空怎么办、如何防重复)一应俱全。从这里开始,规格就是唯一事实源。

规格落进工作区——唯一事实源。看视频 10:55 - 8
创造模式:交给它开发
新开会话,切创造模式,权限给到 full access 免得开发中途反复弹审批。指令就一段:读工作区里的规格文档,先把功能做出来让我看效果,再封装成名叫 what-to-eat 的插件——做的过程用大白话告诉我每一步在干什么。

创造模式、完全访问权限、一段话指令。看视频 12:10 - 9
看它边干边汇报
开发过程是一张可见的任务清单:读规格、搭插件骨架、接面板、注册入口——每一步都用大白话实时汇报。构建发生在你眼前,而不是某个看不见的终端里。

一张可见的任务清单,边干边说。看视频 12:20 - 10
审批插件版本
面板就绪要挂载时,dsh 弹出版本审批:仅允许此版本、允许此插件的后续版本、拒绝。社区插件要过的信任关卡,自己的构建也一样要过——选「允许后续版本」,之后每轮迭代就不用重复批了。

信任关卡——社区插件同样要过。看视频 14:35 - 11
两个小提醒
第一,预览阶段 agent 看不到实际面板——它看不见你的屏幕,你就是它的眼睛。第二,刷新页面会清掉挂载中的面板,直到构建重新激活。这两个都不是 bug,但提前知道不慌。

两个小提醒,提前知道不慌。看视频 15:40 - 12
出 bug?描述现象就行
第一版有真实的毛病:面板挡住了权限选择、有个按钮发黑、刷新后面板消失。修复循环就是纯描述——你看到什么、在哪、什么时候。agent 逐个定位原因、改代码、出新版本。

描述现象,它来找原因。看视频 16:45 - 13
验收三动作,定版
agent 自己提出验收:点「吃啥」面板打开;点叉号,关掉;点面板外空白处,也能关掉。三动作通过后还有两轮打磨(面板挪到屏幕右侧、再调窄一点),插件就算完工——口味库推荐、惊喜轮换,全程零手写代码。

三个动作验证——插件完工。看视频 24:00
常见问题
描述你的第一个插件之前,先看这几条。
完全不懂代码,真的能做出插件吗?
能——录屏案例全程没碰过编辑器。你负责想法和产品决策,agent 负责规格、代码和面板。你需要的技能是把想要的东西说清楚,而共创提问就是在帮你把它问出来。
做出来的插件重启之后还在吗?
暂时不在。对话构建出来的面板是挂载在当前会话上的原型——退出 dsh 就没了。要做成永久插件,需要注册成标准插件(配置加 cordis.patch.yaml 挂载),create-plugin 教程逐步讲过。
「允许此插件的后续版本」安全吗?
这是个权衡。仅允许一次意味着每次新构建都要再批;允许后续版本适合你自己反复迭代的插件。对陌生人的插件,选仅允许一次或直接拒绝,信任关卡才有意义。
做出来的插件有 bug 怎么办?
描述现象,别猜原因:你点了什么、出现了什么、什么消失了。案例里的三个缺陷(遮挡、黑按钮、刷新消失)全靠大白话描述修好——原因定位是 agent 在自己的代码里完成的。
需要用什么模式?
共创阶段标准模式就够——那只是对话。正式开发切创造(Creator)模式:它在标准模式的全套能力之上,多了开发插件专用的工具。
相关攻略
从零代码原型到开发者路线。
来源与署名
本页截图来自下方课程视频,仅用于讲解操作流程并注明出处;每一步都可以深链回视频对应时间点。

