人工协作工具(`human_task` / `human_task_ready_check`):让 Agent 暂停等待用户完成现实操作或返回观察结果(GUI 操作、游戏测试、视觉验证、硬件检查等),内置会话同意与 AFK 在场两级门控,通过 Web 任务窗返回结构化 JSON 结果。
安装
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:ywgATustcbbs/dsh-human-task
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本。请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
一切皆插件——你也是。
把「现实世界中的用户」当作传感器和执行者的 DeepSeek Harness 插件族:Agent 负责分析、推理与决策,用户负责实际操作、视觉观察和主观判断,反馈以结构化 JSON 返回。
English | 中文
安装
dsh plugin add dsh-human-task
一条命令装完整套——ctx.humanTasks 宿主服务、human_task / human_task_ready_check 模型工具与 human-task 技能、以及 Web 弹窗——并全局注册,无需 Agent preset,每个会话都能看到这些工具。开新会话(或重启 harness)即可生效。
应用场景
在自动化无法可靠完成、且人的现实观察或操作能实质推进任务时使用,典型包括:
- GUI 操作:操作只能通过本机图形界面使用的软件。
- 游戏测试:观察游戏画面、动画、手感等主观体验。
- 视觉验证:确认渲染效果、界面布局、颜色显示是否符合预期。
- 环境检查:查看真实环境状态,如设备指示灯、物理连接、现场情况。
- 硬件测试:通电、插拔、按键、屏幕等需要实物的操作。
- 模糊体验评价:收集可用性、易读性等主观判断。
- 调试辅助:在需要人工观察才能定位问题的调试步骤中提供反馈。
- 受控交付:让用户在受控范围内提供实际输出、文件路径或命令结果。
不用于普通推理、可自动化检查,或把高风险责任转嫁给用户。
目录结构
dsh-human-task/
├─ plugin/ 动态插件半(用 cordis_define 装载,进程内临时)
│ ├─ host.js Host 半(human_task / human_task_ready_check 工具 + human-task 技能 + RPC)
│ └─ client.js Client 半(在 shell.overlay 渲染 同意 / AFK / 任务 三套对话框)
├─ packages/ 持久化(重启不丢)npm 包源码 —— 在 harness 源码工作区构建
│ ├─ dsh-human-task/ Host:ctx.humanTasks 服务 + @Remote 面 + dsh.bundle manifest + cordis.patch.yml
│ ├─ dsh-human-task-tools/ human_task / human_task_ready_check 工具 + human-task 技能(全局注册)
│ └─ dsh-human-task-client/ Host(web):shell.overlay 对话框,dsh.client 包
├─ assets/ notification.wav(构建时内联进客户端 bundle)
├─ INSTALL.md 全新用户 / 安装 agent 指南(dsh plugin add)
├─ BUILDING.md 作者 / CI 构建指南(harness 源码工作区)
├─ README.md 英文版
├─ README.zh.md 本文件(中文版)
└─ temp/ 原始移植包(已从 git 排除)
两条装载路径:
- Bundle(推荐):
dsh plugin add dsh-human-task安装三个已发布包;bundle 的cordis.patch.yml把服务、工具、客户端三行 insert 进 profile 层栈。工具全局注册,无需 preset、无需重打包 web,每个会话都可用。 - 动态(零构建):把
plugin/host.js+plugin/client.js传给cordis_define/cordis_run。进程内临时,重启即丢。
能力
- 结构化输入:
instructions为 JSON 字符串数组(每项一步、逐字保留),或用单个task对象传入整份任务;不做任何分隔符拆分,长文本不会被截断。 - 两级门控:会话同意(首调用弹窗,无响应默认拒绝)+ AFK 在场检测(每小时最多一次);「拒绝后续所有协助」全局生效;单实例(
busy)。 - 任务窗:标题 / 步骤 / 成功条件 / 反馈要求 / 倒计时 / 多行反馈框;六个操作:完成 / 部分失败 / 失败 / 取消 / 延长时间(下拉 5/10/15 分钟,累加)/ 拒绝后续所有协助。
- 结果状态:
success / partial / failed / cancelled / timeout / error / denied(门控另有ready / granted / present / afk)。 - 预置提示音:每个新弹窗播放
assets/notification.wav(构建时内联进浏览器 bundle,随 client 包分发,无需额外文件);解码失败时回退到合成振荡器「叮」;可静音(持久化)。 - 跟随 Harness:对话框文字按 Harness 语言选项中英切换;配色按 Harness 主题亮/暗切换(暗色下更深背景、按钮统一深色)。
装载为动态插件
plugin/host.js 与 plugin/client.js 分别是 cordis_define 所需的 code.host / code.client 函数体。用 cordis_define(kind: "new")传入这两段文本,再 cordis_run 即可。
重要说明:动态插件是进程内临时的
动态插件与它的定义只存在于当前 DSH 进程,进程重启即丢失(不会写入磁盘)。如需长期可用、重启不丢,请用上面的 bundle 路径(dsh plugin add dsh-human-task)。
链接
同类插件
liustack/modlens★ 1537
为纯文本模型架起视觉桥梁:粘贴图片,输出结构化 JSON 证据(OCR、版面、语义)。
superdesigndev/treg★ 412
给 Agent 的工具目录:按「要做的事」检索约 2,600 个外部接口(SEO 与 SERP、外链、社交、人物与公司信息补全、广告库、抓取),查看参数与单次调用价格后直接调用,凭据由服务端注入。附带技能,MCP 行在未设置 TREG_TOKEN 前保持禁用。
Anionex/dsh-vision-toolkit★ 386
让纯文本模型更好地做视觉任务:带意图的图片问答、长截图 OCR、UI 还原等。
zhaoolee/notes★ 141
将 DSH 对话导出为锤子便签风格 PNG,或在配置的账号工作区中新建和更新 Markdown 便签。
Lum1104/dsh-browser★ 118
Chrome 侧边栏扩展,让 DSH 直接操控你的浏览器,无需视觉能力。
liustack/modsearch★ 100
纯文本 agent 的联网搜索桥:搜索网页与 X,返回结构化 JSON 证据(search/fetch/引用)。