无人值守时按推荐选项自动回答问题,让会话继续运行
29.9/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/19 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add AK-blank/dsh-plugin-auto-answer该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:待复验
是什么
dsh 原生插件 · other
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 14 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件
查看扫描证据(共 9 处,展示前 8 条)
- 写入本地文件lib/index.js:242
appendFileSync(path, `${JSON.stringify(record)}\n`) - 读取本地文件selftest.mjs:30
const PACKAGE = JSON.parse(readFileSync(join(ROOT, 'package.json'), 'utf8')) - 读取本地文件selftest.mjs:31
const PATCH = readFileSync(join(ROOT, 'cordis.patch.yml'), 'utf8') - 读取本地文件selftest.mjs:168
assert.ok(existsSync(join(ROOT, PACKAGE.dsh.bundle.patch)), 'patch file must exist') - 读取本地文件selftest.mjs:170
assert.ok(existsSync(join(ROOT, PACKAGE.main)), 'main must exist') - 读取本地文件selftest.mjs:191
assert.ok(existsSync(join(ROOT, 'icon.svg'))) - 读取本地文件selftest.mjs:197
const text = readFileSync(join(ROOT, 'locale', `${language}.json`), 'utf8') - 删除本地文件递归selftest.mjs:699
rmSync(directory, { recursive: true, force: true })
扫描于 2026/10/31(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
非官方 DeepSeek Harness 插件:无人及时回复时,用推荐选项回答 ask_user_question,让无人值守的会话继续跑下去。
README
由 DeepSeek 最新模型翻译生成dsh-plugin-auto-answer
无人值守的 DSH 会话不会卡死在 ask_user_question 上。
超过设定时间没人回答时,这个宿主插件用提问者推荐的选项(标签里的 (Recommended) / (推荐))把这个问题答掉,Agent 继续干活。如果你在时间内回答了,你的答案原样生效,插件完全不插手。
纯 Host bundle:页面里没有任何渲染,没有浏览器半边,零依赖。
已知 UI 行为(设计如此,不是 bug):浏览器页面开着时,自动应答之后那张问题卡片会留在屏幕上,直到你点「提交」/「跳过」或刷新页面。答案早已落库、这一轮也早已继续;详见下方「自动答完后问题卡片还留在屏幕上 —— 这不是 bug」。
展开完整文档(README 剩余 1 节)
dsh-plugin-auto-answer
无人值守的 DSH 会话不会卡死在 ask_user_question 上。
超过设定时间没人回答时,这个宿主插件用提问者推荐的选项(标签里的 (Recommended) / (推荐))把这个问题答掉,Agent 继续干活。如果你在时间内回答了,你的答案原样生效,插件完全不插手。
纯 Host bundle:页面里没有任何渲染,没有浏览器半边,零依赖。
已知 UI 行为(设计如此,不是 bug):浏览器页面开着时,自动应答之后那张问题卡片会留在屏幕上,直到你点「提交」/「跳过」或刷新页面。答案早已落库、这一轮也早已继续;详见下方「自动答完后问题卡片还留在屏幕上 —— 这不是 bug」。
安装
从 GitHub 装(无构建步骤:源码即产物)
dsh plugin --profile web add github:AK-blank/dsh-plugin-auto-answer
本地开发时直接指目录
dsh plugin --profile web add /绝对路径/dsh-plugin-auto-answer
dsh plugin add 会把包装进 profile 并选中它的 bundle 层,所以它会出现在 GUI「插件」页,也会出现在 dsh --profile web --dump-config(# == dsh-plugin-auto-answer → id: auto-answer)。
新装的 bundle 通过 HMR 即时生效;替换已装的同一插件必须重启 dsh web —— 宿主代码按进程缓存,改过的 lib/index.js 不会因为重新 apply 而换掉。
它怎么工作
ask_user_question 以 user-questions/request waterfall 分发:浏览器 UI 用一张问题卡片来回答, headless 运行则根本没人应答。
本插件站在这条链路最前面(prepend)并调用 next() —— 它是代理,不是否决:
| 情况 | 结果 |
| 人在窗口内回答 | 用人的答案,原样透传 |
| 到点没人回答 | 提交推荐选项 |
| 下一环直接失败(没有页面导致 NO_PROVIDER、传输中断) | 窗口继续跑,到点提交推荐选项 |
| 工具自己的 timed 窗口先到(ASK_TIMED_OUT) | 立刻提交推荐选项,而不是返回 pending |
| 本轮被取消(ASK_ABORTED、signal abort) | 原样抛出 —— 被取消的轮次绝不去答 |
监听用 { global: true, prepend: true } 注册。global 不是可选项:Agent 事件按"监听器注册时所在上下文的 scope"过滤,而通过插件管理器安装的插件是在某个 Agent 的 scope 里被 apply 的 ——少了它,插件只会答安装它的那个会话。
什么算"推荐选项"
- 标签以 (Recommended)、(推荐)、(推荐)、(Recommended) 结尾,大小写不敏感; 不要求在第一项。
- 标签原样提交:标记会留在答案里,因为它就是提问者给出的那个值。
- 多选问题:所有带标记的选项一起选。
- 没有任何标记时由 fallback 决定:first(默认)、last、none(永不自动回答,留给人)。
- 没有选项的问题无从选择:freeText: skip 提交空选择(协议里本来就有的"跳过"语义), block 则留给人类。
- plan-review(计划审批)默认 ignore:批准一个计划是有后果的决定。
planReview: approve / decline 才是显式选择。
- 一批问题只有在每一题都能自动回答时才整批作答;答案契约要求一题一条,部分作答等于把真正需要人决定的题藏起来。
配置
所有键都可省略,行的 config 覆盖默认值。
| 键 | 默认 | 含义 |
| enabled | true | 总开关;false 时连监听都不注册 |
| timeoutSeconds | 120 | 自动作答前的等待窗口(5 – 86400) |
| fallback | first | 没有标记时选 first \| last \| none |
| freeText | skip | 无选项的问题:skip \| block |
| planReview | ignore | 计划审批:ignore \| approve \| decline |
profile 的 cordis.patch.yml,位于所有 bundle 层之后
- id: auto-answer
name: 'dsh-plugin-auto-answer'
config:
timeoutSeconds: 90
fallback: first
如果 tool-ask-user 跑在 timed 模式:timeoutSeconds 必须小于工具的 timeout,否则工具先返回 pending,本插件的答案就没机会生效。默认的阻塞式工具没有这个约束。
观测
dsh web 的宿主日志在终端里看不到,所以插件提供可选的 JSONL 轨迹:
DSH_AUTO_ANSWER_LOG=/tmp/auto-answer.jsonl dsh web
{"at":"2026-10-18T03:31:56.138Z","event":"armed","agentId":"session-…","timed":false,"questions":1,"timeoutMs":20000,"picks":[{"id":"color","selected":["蓝色 (Recommended)"]}]}
{"at":"2026-10-18T03:32:16.141Z","event":"answered","agentId":"session-…","reason":"window-elapsed","timeoutMs":20000,"picks":[{"id":"color","selected":["蓝色 (Recommended)"]}]}
事件:armed、answered、delegated(人答的)、delegate_error、failed。
轨迹路径不可写也不会影响它描述的那个问题。
已验证的行为
离线自检(node selftest.mjs)—— 39 项:打包契约、配置归一化、推荐判定、注册参数、计时竞态,以及"没有未处理拒绝 / 没有泄漏的定时器"。
真实安装路径:装进一个一次性 profile(dsh plugin add),在 dsh --profile … --dump-config 里确认了 bundle 层与插件行,并在 GUI「插件」页的「已安装」里看到「无人值守自动应答」。
真实端到端(默认阻塞式工具):
- 无人值守:20 秒窗口,问题一直没人答 —— 轨迹是 armed → 20.003 秒后 answered,选的是推荐项;整轮 22 秒结束,模型回复 "你最终选择了蓝色(Recommended)。"
- 有人在:60 秒窗口,第 24 秒人工选了非推荐项 —— 轨迹是 armed → delegated (answered-by-ui),整轮以 "你最终选了香蕉。" 结束,卡片正常收成 1/1 已回答。
自动答完后问题卡片还留在屏幕上 —— 这不是 bug
这是设计内的预期行为,请不要为它开 issue。
ask_user_question 是通过 waterfall 被应答的:浏览器那边的 Client 渲染出问题卡片、等人类提交,宿主这边等的是"谁来接这个请求"。本插件是在宿主侧到点作答的,而宿主没有一条消息去通知 Client "你的问题已经在别处被结掉了"。于是那张卡片会停在原地:
- 它留在对话记录里,仍然占着输入区;
- 会话列表可能还显示「等待回答」。
其余一切正常:ask_user_question 的结果里已经带着被选中的答案,这一轮照常继续、正常结束,落库的会话数据是准确的 —— 那张滞留的卡片是浏览器端的状态,不是会话状态。
处理办法:点卡片上的「提交」或「跳过」,或者刷新页面。提交一张过期卡片是无害的:请求早就结掉了,不会补注入一条迟到的答案,也不会报错(已实测)。刷新页面同时会让会话列表那一行恢复正常。
宿主侧插件没法自己收掉它:卡片属于 Client 自己的那次请求,只有 Client 能结算它。若要让它在未来自动关闭,需要 Client 侧的改动。
不在范围内
插件不处理 approval/request(工具审批):自动批准一条命令是另一类风险,故意不做。
开发
node selftest.mjs # 离线:不用 Harness、不留定时器、不开浏览器
lib/index.js 导出 normalizeConfig、isRecommendedLabel、decideQuestion、 planRequest、createRuntime(now / setTimer / clearTimer / trace 均可注入)和 apply ——自检驱动的就是 Harness 加载的同一批函数。
MIT。
声明
非官方插件,与 DeepSeek 官方无隶属、背书或支持关系;DeepSeek、DeepSeek Harness 等名称与商标归其各自所有者。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
AK-blank/dsh-plugin-auto-answer
无人值守时按推荐选项自动回答问题,让会话继续运行
相关插件 · 其他
模型破甲清洗YuJunZhiXue/dsh-purge
⚔️ DeepSeek Harness 网络安全红队工具dsh-purge
★ 14,822已汉化DeepSeek 客户端
73
逆向分析桥接Fanqi89/dsh-rea
REA(Reverse Engineer Anything)MCP 桥接,用来把 REA 逆向工具接入 DSH 插件
★ 51已汉化DSH
72
红队越狱测试套件Minglink/dsh-infinite-gen-5
DeepSeek v4.1 flash 逆向工具无限五代 求 Star 收藏 ⭐欢迎大家提交项目的改进
★ 3,759已汉化DSH
71.4
语音女友beiyege-01/dsh-voice-ai-girlfriend
语音 AI 女友Voice AI girlfriend for DeepSeek Harness:Whisper…
★ 718已汉化DSH
71.2
协同办公空间dream-num/univer-workspace
一个让人类与 AI Agent 共同创作、协作和审阅的开源 Office 工作空间。
★ 2,261已汉化DSH
70.7
破甲评测WoYun520/dsh-purge
在本机分离宿主拦截与模型拒绝,做受控红队评测
★ 199已汉化DSH
69.7