🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

选项自动应答 Samuel-Ku/dsh-auto-answer

DeepSeek Harness
Samuel-Ku32 天前有提交已提供中文文档扫描:未发现敏感能力

用 LLM 自动回答选项式澄清弹窗,不确定时仍交还人工

30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/30 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

该插件未发布到 npm,按作者文档从 GitHub 源安装即可(静态检查只覆盖 npm 路径,不代表插件不可用)。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Samuel-Ku/dsh-auto-answer
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么
dsh 原生插件 · ads
装得上吗
实装验证未通过(dependency_conflict),装前请到仓库确认最近更新与 issue
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 32 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
⚠︎ 实装验证未通过(dependency_conflict · 2026/9/30) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装

仓库 package.json 标记 private,未发布到 npm,需从源码安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包dsh-auto-answer(未发布到 npm,仅可源码安装)
✓Node 引擎要求 >=20 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/8 09:40:53

安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

扫描于 2026/11/1(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-llm@deepseek-ai/dsh-timeout
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 自动回答选项式弹窗
  • 仅处理纯选项问题
  • 不确定时交还人工

DeepSeek Harness 插件:用 LLM 回答 ask_user_question 弹窗,只处理纯选项问题,拿不准就交回人工界面。

README

由 DeepSeek 最新模型翻译生成
dsh-auto-answer 一个 DeepSeek Harness 插件,用 LLM 回答 ask_user_question 提示,从而让选项式的澄清问题不再打断操作员。 license: MIT node: >=20 当 agent 调用 ask_user_question 时,DSH 会暂停当前轮次并弹出一个弹窗。本插件会挡在这个弹窗前面,自行选择一个选项——但仅在它确信时,且仅针对那些确实提供了选项的问题。其他所有情况都会原样落到普通弹窗上。 为什么这不是 dsh-yolo-mode 两个插件都会自动回答,但它们位于不同的接缝上: | | dsh-yolo-mode | dsh-auto-answer(本插件) | | 接缝 | ctx.approval → approval/request | ctx.userQuestions → user-questions/request | | 触发条件 | 沙箱升级(escalate sandbox to : …
展开完整文档(README 剩余 1 节)
dsh-auto-answer

一个 DeepSeek Harness 插件,用 LLM 回答 ask_user_question 提示,从而让选项式的澄清问题不再打断操作员。

license: MIT
node: >=20

当 agent 调用 ask_user_question 时,DSH 会暂停当前轮次并弹出一个弹窗。本插件会挡在这个弹窗前面,自行选择一个选项——但仅在它确信时,且仅针对那些确实提供了选项的问题。其他所有情况都会原样落到普通弹窗上。

为什么这不是 dsh-yolo-mode

两个插件都会自动回答,但它们位于不同的接缝上:

| | dsh-yolo-mode | dsh-auto-answer(本插件) |
| 接缝 | ctx.approval → approval/request | ctx.userQuestions → user-questions/request |
| 触发条件 | 沙箱升级(escalate sandbox to : …) | ask_user_question 工具 |
| 默认回答者 | 宿主审批回答者 | dsh-api-remotes → 浏览器弹窗 |
| 触发时机 | 仅当当前模式严格窄于目标模式时 | 任何模式下,包括 danger-full-access |

danger-full-access 会话完全不会产生沙箱升级:@deepseek-ai/dsh-sandbox 中的 WIDER_MODES 没有 danger-full-access 的条目,因此升级会在到达审批接缝之前就抛出异常。操作员在完全访问权限下看到的弹窗是 ask_user_question——而这正是本插件所处理的。

范围:仅限选项,且失败即关闭

只有当插件能够仅凭每个问题自身的选项标签回答所有问题时,它才会认领该请求。其他所有情况都会调用 next(),由普通弹窗来回答:

- 任何没有 options 的问题——自由文本需要只有操作员才掌握的事实(路径、密钥、个人偏好、业务决策);
- 未配置 judge.provider / judge.model,或未挂载 llm 服务;
- 判定结果不是 {"confident": true};
- 回复不是 JSON,或标签不属于该问题的选项之一;
- 有未回答的问题,或对单选问题的选择数量不正确;
- 超时、中止、流错误或并发溢出。

这里刻意没有“无论如何都猜一个”的路径。替操作员凭空编造一个答案,比多弹一次窗更糟。

它是如何挂接的

ctx.userQuestions.ask() 在 user-questions/request 上运行一个 Cordis waterfall,其最终回退会以 NO_PROVIDER 拒绝。本插件用 { prepend: true } 注册监听器,因此它会在浏览器回答者之前运行:

ctx.effect(
() => ctx.on('user-questions/request', handler, { prepend: true }),
'auto-answer: user-questions answerer',
);

返回 { answers: [...] } 即认领该请求;返回 next() 则将其留给人类。

Context
该决策使用问题文本,加上会话自身 user/message 和 assistant/message 历史记录的截断摘录(judge.contextChars,默认 6000 个字符,保留最新的轮次)。来源为 agent-instructions 的消息会被跳过。

该摘录是发送给模型提供方的唯一会话数据——当提供方为远程时,这一点值得注意。

配置

所有字段均为可选。将它们设置为插件行的 config:

| 字段 | 类型 | 默认值 | 含义 |
| enabled | boolean | true | false = 从不回答,始终显示弹窗 |
| judge.provider | string | '' | LLM 提供方路由;为空则禁用回答 |
| judge.model | string | '' | 模型 id;为空则禁用回答 |
| judge.systemPrompt | string | 内置 | 覆盖回答提示词 |
| judge.timeoutMs | number | 60000 | 每请求截止时间 |
| judge.maxTokens | number | 4096 | 输出预算(推理模型需要更多余量) |
| judge.concurrency | number | 2 | 进行中的回答数;溢出则委派 |
| judge.contextChars | number | 6000 | 发送给模型的转录预算 |
| auditFile | string | ~/.dsh/logs/auto-answer.jsonl | JSONL 记录 |

示例:

- id: auto-answer
name: dsh-auto-answer
config:
enabled: true
judge:
provider: my-provider
model: my-model
timeoutMs: 60000
maxTokens: 4096
contextChars: 6000
auditFile: /home/me/.dsh/logs/auto-answer.jsonl

安装

dsh plugin --profile web add /path/to/dsh-auto-answer

该 bundle 的 cordis.patch.yml 会插入 auto-answer 条目;在 profile 的 cordis.patch.yml 中按 id 覆盖其 config(不要重新插入它——那会因 duplicate loader entry id 而失败)。

对于路径或 link: 安装,请将检出内容放在 $DSH_HOME/profiles/ 下,以便 Node 从 $DSH_HOME/profiles/node_modules 解析 @deepseek-ai/* 对等依赖。

新的插件模块仅在 DSH 重启时挂载;之后配置编辑会在 patchReload: live 下实时重新加载。

审计记录

每个请求一行 JSONL,位于 auditFile:

{"time":1790422374944,"sessionId":"session-…","questionIds":["preset"],"outcome":"answered","answers":[{"id":"preset","selected":["permissive"]}]}
{"time":1790422375001,"sessionId":"session-…","questionIds":["key"],"outcome":"delegate","error":"BAD_OUTPUT","message":"reply did not answer every question with valid option labels"}

outcome 为 answered 或 delegate;delegate 携带将请求转交给人工的 error 代码(BAD_OUTPUT、TIMEOUT、STREAM_ERROR、NO_ADAPTER、OVERLOAD)。

测试

npm install
npm test

两层共 30 个测试:

- test/logic.test.mjs — 配置规范化、容错 JSON 提取、严格的选项标签校验器、转录构建。
- test/probe.test.mjs — 将插件挂载到真实的 Cordis 上下文上,并驱动实际的 user-questions/request 瀑布流。它断言契约的两半:一个自信的判定会认领该请求,且人类回答者永远不会运行;而每一条存疑路径都会委托给它。

devDependencies 的存在只是为了让测试能从裸克隆中运行;在运行时,插件会从 DSH 安装中解析其 @deepseek-ai 对等依赖。该测试套件已针对 0.1.5-rc.2(DSH 0.1.5 内置的版本)和已发布的 0.1.7-rc.2 对等依赖进行验证。

许可证

MIT — 参见 LICENSE。
预览分享卡片长什么样 ↓Samuel-Ku/dsh-auto-answer
分享 · DeepSeek Harness Hub
Samuel-Ku/dsh-auto-answer

用 LLM 自动回答选项式澄清弹窗,不确定时仍交还人工

回到顶部