人工协作工具(`human_task` / `human_task_ready_check`):让 Agent 暂停等待用户完成现实操作或返回观察结果(GUI 操作、游戏测试、视觉验证、硬件检查等),内置会话同意与 AFK 在场两级门控,通过 Web 任务窗返回结构化 JSON 结果。
安装
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:ywgATustcbbs/dsh-human-task#path:/packages/dsh-human-task
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 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)。
链接
同类插件
Tencent/WeKnora#dsh-weknora★ 31680
把 WeKnora 知识库接入 dsh 的四个只读工具:列出知识库、混合检索原文片段、按顺序还原单篇文档,以及直接取用 WeKnora 自己带引用的 RAG 或 ReAct agent 回答(含可续聊的 session id)。
superdesigndev/treg★ 3995
给 Agent 的工具目录:按「要做的事」检索约 2,600 个外部接口(SEO 与 SERP、外链、社交、人物与公司信息补全、广告库、抓取),查看参数与单次调用价格后直接调用,凭据由服务端注入。附带技能,MCP 行在未设置 TREG_TOKEN 前保持禁用。
TencentCloudBase/CloudBase-AI-Toolkit#dsh-plugin★ 1130
把腾讯云 CloudBase 后端接入 DeepSeek Harness——在对话里搭好并部署全栈应用,查询结果渲染为表格卡片(分页、排序、导出 CSV),部署后可预览真实域名,并提供 CloudBase MCP 工具集(`mcp__cloudbase__*`),登录走 device-code 流程。
gitroomhq/postiz-agent#dsh-postiz★ 499
通过 MCP 将 DeepSeek Harness 连接到 Postiz:列出已连接的社交媒体渠道、获取各平台发帖规则,并向 X、LinkedIn、Instagram、Facebook、Threads、TikTok、YouTube、Reddit、Bluesky、Mastodon、Discord、Slack、Telegram 等平台排期、存草稿或发布帖子;附带 postiz 工作流技能。
EthanYoQ/Invoice-Downloader#dsh-invoice-downloader★ 477
面向 DeepSeek Harness 的本地 IMAP 发票下载、OCR 识别、归档与 Excel 报销汇总。
anysearch-team/anysearch-dsh★ 443
基于 AnySearch 的实时网页与垂直搜索插件,为 DeepSeek Harness 提供搜索工具。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。