前言¶
DeepSeek Harness(DSH)里的 agent 可以开浏览器、执行命令、改文件,但没法替你接短信验证码、扫二维码、刷脸签字或点授权同意。缺少明确边界时,常见坏行为是假装已登录继续跑、把「请用户输入验证码」写进计划后直接跳过,或让用户对着一长串步骤不知道现在该干什么。dsh-human-step 是社区工作流类插件:开工前标出必须由人完成的步骤,跑到那一步时弹出 DSH 原生问题卡片,等你点「已完成 / 跳过 / 取消」才继续。仓库由 Yyhy110421 维护,许可证 MIT,当前版本 0.1.0。
这是什么¶
一句话:给 DSH 加一道「该你动手了」的暂停键。
宿主工具为 plan_human_steps 与 human_step;设置入口为 设置 → 人工步骤。插件不自动输入验证码、密码或支付信息,也不替用户点授权或支付按钮。
它解决什么问题¶
没有这个插件时,agent 遇到验证码等人机交界步骤容易跳过或虚构完成。装上以后流程是:
- 先调用
plan_human_steps,把任务拆成步骤并标出哪些必须由人完成(只读,不弹窗)。 - 执行到人工步骤时调用
human_step,DSH 弹出原生卡片。 - 用户点「已完成,继续」才继续;点「跳过这一步」会明确标记未完成;点「取消当前任务」时 agent 应停止并汇报。
安装与启用¶
在 DSH 中打开 设置 → 插件管理器,安装下列任一来源(装完重启 DSH):
github:Yyhy110421/dsh-human-step
本地目录安装示例(实体拷贝,改源码后需卸载再装;插件管理器「更新」仅适用于 npm 注册表插件):
file:E:\DSH\projects\dsh-human-step
安装前应自行查看 GitHub 仓库 源码与 MIT 许可证。插件在当前 DSH 进程权限下运行,与社区目录 SkillHub 插件页 所列信息一致;该目录为独立社区站点,与 DeepSeek / 幻方无官方从属关系。DSH 生态理念是「一切皆插件」,本介绍不暗示官方应用商店分发。
典型用法¶
1. 提前标出人工步骤¶
工具:plan_human_steps。
{
"task": "把演示站部署到线上",
"steps": [
{ "title": "运行 npm test 并修复失败" },
{ "title": "打开手机接收短信验证码并输入" },
{ "title": "在域名控制台点确认解析" },
{ "title": "部署完成后打开首页检查" }
]
}
返回包含 total、humanCount、带 requiresHuman / category / reason 的 steps、humanSteps / agentSteps 拆分,以及可读中文计划 text。这一步不会暂停或弹窗。
2. 到点暂停等用户¶
工具:human_step。
{
"title": "输入短信验证码",
"instructions": "打开手机短信,把 6 位验证码填进登录页,然后回来点「已完成」。",
"category": "verification_code"
}
卡片选项:已完成,继续;跳过这一步(后续可继续,但不得声称该步已完成);取消当前任务(agent 应停止后续步骤并汇报)。
返回 status 为 done、skipped、cancelled,或 unavailable(当前 DSH 无可用 userQuestions 服务或弹卡失败时,agent 应在对话里请用户完成,不能假装完成)。
3. 步骤类别¶
分类按关键词与少量上下文规则判断,宁可漏判也不把普通步骤硬标为人工。调用方可显式传 requiresHuman: true / false,或传 category 强制指定。
| id | 中文 | 典型场景 |
|---|---|---|
| verification_code | 验证码 / 二次验证 | 短信码、邮箱码、2FA、OTP、人机验证 |
| qr | 扫码 | 微信扫码、扫码登录、扫设备码 |
| phone | 电话 / 短信 | 打电话、接听、接收短信、电话确认 |
| 邮箱确认 | 打开邮箱、点邮件里的链接、回复邮件 | |
| identity | 实名 / 人脸 / 签字 | 身份证、刷脸、活体、手写签名 |
| credential | 密钥 / 密码 | API Key、Token、密码、私钥 |
| payment | 支付 / 下单 | 付款、转账、购买、充值、确认订单 |
| login | 登录 / 授权 | 登录账号、输入密码、同意授权 |
| physical | 物理操作 | 插拔设备、按按钮、重启、拍照 |
| approval | 人工确认 / 选择 | 必须由用户拍板、选择或批准 |
设置与安全边界¶
设置 → 人工步骤 可勾选自动识别类别、追加自定义关键词(如「指纹」「门禁」)、配置是否记录历史及保留条数、清空历史。历史仅存标题、类别、状态和时间,不存验证码、密码或用户填写正文。配置文件位于 DSH_HOME/data/human-step.json,历史在 DSH_HOME/data/human-step-history.json(纯文本,未加密;勿在标题或说明里写敏感信息)。
用户取消任务时 agent 必须停止并汇报。插件不监听用户是否在网页上真实完成操作,只认卡片上的按钮。无 UI 的运行方式可能使 human_step 返回 unavailable;关键词分类可能漏判或误判,显式 requiresHuman / category 优先。
适用谁¶
适合在 DSH 里编排长任务、且流程中穿插登录、2FA、支付、物理操作等必须由人完成的开发者。若你只希望 agent 在对话里口头提醒用户,而不需要原生卡片与计划拆分,可以不装;需要可审计的「停在这里」边界时,这套两个工具的组合更贴切。
结尾¶
dsh-human-step 用规划工具标出人工步骤、用 human_step 在关键点挂起执行,把「等人动手」从计划里的空话变成可确认的交互。进一步了解可访问 SkillHub 目录页 与 GitHub 仓库。