dsh-web-qa-preset:面向 DSH 的只读网页问答预设

前言

在 DeepSeek Harness(DSH)里,默认的智能体会挂载 Shell、写入文件等能力,适合改代码、跑命令。若你只想就时事、政策、产品价格或公开资料问问题,并希望回答带来源、且不把会话变成「可操作本机」的代理,需要一个边界清晰的问答预设。社区插件 dsh-web-qa-preset 即为此提供一套可安装的 agent preset bundle:搜索优先、引用来源、本地只读上下文,并在每次回答末尾给出可执行的下一步建议。

这是什么

dsh-web-qa-preset 由维护者 xiaoxiaosrm 发布,分类属于 DSH 社区目录中的「联网工具」。它在 DSH 中注册预设 id 为 web-qa、界面名称为 网页问答 的 bundle:回答问题时优先查证网络事实,可只读查看工作区与指定路径下的本地文件,不挂载 Shell,并通过 guard 拒绝 write/edit。许可证为 MIT,当前 package 版本为 0.1.0。

核心能力

搜索优先与引用

对新闻、价格、政策、产品规格、人物或公司动态、可核验数据,或用户明确要求「去搜一下」时,预设会在作答前通过 web_search 检索,并在回答中引用相关 URL。需要打开具体页面时使用 web_fetch。若 DSH 未配置可用的搜索提供方,web_search 会返回结构化错误,预设会引导模型说明无法核实,而不是虚构来源。

本地只读上下文

可使用 read、read_image、glob、grep 读取工作区文件、DSH 配置与日志、或用户指定的路径,均限于只读。对 .credentials.yaml、.env、私钥等敏感文件的直接读取会被拒绝。

硬边界:无 Shell、无写入

预设不挂载 Shell;虽官方 tool-fs 可能在工具目录里列出 write/edit,本 bundle 内的 guard 会拒绝这些调用。也不挂载终端、skill、子代理、计划模式、待办或文件投递类工具。guard 仅作用于该预设作用域,其他会话与其他预设不受影响。

下一步建议

每次回答末尾包含简短的 下一步建议 小节,通常 1~3 条、按优先级排列的具体建议。

交付形态

纯 ESM,通过 dsh.bundle.patch(cordis.patch.yml)注入预设,无需 prepare 或构建步骤。

环境与依赖

  • DSH desktop 0.2.2-rc.1(README 标注为已测试),或支持内联 @deepseek-ai/dsh-agent-preset registry 的构建。
  • 运行包内测试需要 Node.js >= 20。
  • 需要在本机 DSH profile 中配置可用的 web 搜索与抓取提供方;bundle 本身不会替你切换或配置 provider。

安装与启用

从 GitHub 安装

在终端执行(命令来自项目 README):

dsh plugin --profile desktop add github:xiaoxiaosrm/dsh-web-qa-preset

从本地目录安装

若你已有该仓库的本地副本,可将路径替换为实际目录:

dsh plugin --profile desktop add ./dsh-web-qa-preset

或在 DSH 会话内通过内置插件管理器安装 bundle(target 改为你机器上的路径):

plugin_manager { action: "install_bundle", target: "D:\\path\\to\\dsh-web-qa-preset" }

安装后若当前 DSH 构建要求重载,请重启或重载 DSH;新建会话,在预设选择器中选 网页问答。

注意: 若 profile 里已存在同 id web-qa 的预设声明,需先移除旧声明再安装,避免冲突。

配置搜索提供方

预设仅使用 DSH 的 web_search / web_fetch。请在 profile 的 cordis.patch.yml(或等价配置)中配置可用 provider。README 推荐官方 DeepSeek Search API 与 Fetch API 示例:

- id: web
  name: "@deepseek-ai/dsh-web"
  config:
    searchProvider: deepseek-search-api
    fetchProvider: deepseek-fetch-api

上述方式依赖 DEEPSEEK_API_KEY。也可通过 dsh-search-picker 等选用 Tavily、Exa 等自有提供方,并设置 web.searchProvider / web.fetchProvider。

典型用法

经过上面的安装与(必要时)搜索配置,可按以下步骤使用:

  1. 新建会话,选择 网页问答 预设。
  2. 提出问题;预设会判断是否需要实时搜索,在不确定时也可能主动搜索。
  3. 若问题与本地代码或文档相关,会在只读前提下读取相关文件。
  4. 阅读回答正文与来源链接,并参考文末 下一步建议。

工具面概览(用途以 README 为准):

Tool Purpose
web_search 检索公开网页来源
web_fetch 读取指定公开页面
read 读取文本文件
read_image 读取支持的图片
glob 按模式查找文件
grep 在文件内容中搜索

适用场景与局限

适合: 需要联网查证且不希望会话具备改文件、跑命令能力的用户;希望回答带 URL 引用、并附带简短行动建议的问答场景;在只读前提下结合本地仓库或配置做说明性查询。

不适合: 通用编码代理、自动化运维、安装依赖或修改工程——README 明确这是 Q&A preset,不能编辑文件、执行命令、安装包或改系统。本地读取仍受 DSH 文件系统后端与沙箱权限约束;搜索行为由外部 provider 决定,须自行配置。搜索触发由预设 prompt 引导,并非每条消息强制搜索。

安全与权限: 插件以当前 DSH 进程权限运行;安装前建议查看仓库源码与 MIT 许可证。勿将本地密钥或私密文件内容通过模型发往外部网站;预设 prompt 亦要求模型避免此类行为。

链接

社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系;DSH 生态秉承「一切皆插件」,本 bundle 是其中一种只读网页问答预设的可选组件。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜