dsh-suggest:DSH 会话里的可点击后续问题插件

前言

DSH 的插件机制允许把能力挂到会话渲染与 Agent 调用链路里。对于 Agent 会话,一个具体的问题是:回答结束后,下一句问什么还需要手动输入。dsh-suggest 做的事情比较窄:在 Agent 每轮回答完成后,在答案下方生成 3 个可点击、可编辑的推荐后续问题。

它由 shaoeric 维护,采用 MIT 许可证,提供正式插件与动态插件两种形态。下面按功能、安装、用法和注意事项介绍。

这是什么

dsh-suggest 是一个 DeepSeek Harness(DSH)插件。它在 Agent 每轮回答完成后,在答案下方生成 3 个可点击、可编辑的推荐后续问题。

点击推荐项可以直接提交给 Agent,自动开启新一轮回答;悬停推荐项也可以先编辑再发送。插件提供正式插件与动态插件两种形态,功能面向同一类使用场景。

核心功能

下面是已核实的几项能力。

  1. 自动生成后续问题
    Agent 回答完成后,基于最近 3 条用户消息生成 3 个推荐后续问题。

  2. 点击直接提交
    点击推荐项后,内容会直接提交给 Agent,并开启新一轮回答。

  3. 先编辑再发送
    悬停推荐项时,可以先进入编辑状态,修改内容后再发送。

  4. 模型调用策略
    优先使用同 provider 的 flash 模型,并关闭思考;失败时回退到会话原模型。

  5. 生成状态与失败处理
    按会话 + 轮次缓存。生成中显示骨架占位;失败时显示具体原因,并可一键重试。

  6. 只保留最新一轮
    推荐项只在最新一轮回答下方显示。发起新一轮对话后,旧推荐项自动隐藏。

  7. 主题适配
    使用 --dsw-alias-* 主题变量,自动适配明暗模式。

安装与启用

正式插件

正式插件是持久化安装,适合需要跨重启保留的场景。资料给出的安装命令以本地仓库路径为准。

先克隆仓库并进入仓库目录:

git clone https://github.com/shaoeric/dsh-suggest
cd dsh-suggest

然后安装到 web profile:

dsh plugin --profile web add file:$(pwd)

这里的 file: 后面接的是本地仓库路径。Windows 下需要改为仓库绝对路径,例如:

dsh plugin --profile web add file:C:/path/to/dsh-suggest

安装后需要重启 dsh web 并刷新浏览器:

1、停止正在运行的 dsh web
2、重新运行 dsh web
3、刷新浏览器页面。

更新正式插件

file: 依赖会缓存安装时的快照,直接重跑 add 不会刷新内容。更新时先删除,再重新添加:

dsh plugin --profile web remove dsh-suggest
dsh plugin --profile web add file:/绝对路径/dsh-suggest

完成后重启 dsh web

卸载正式插件

执行删除命令:

dsh plugin --profile web remove dsh-suggest

然后重启 dsh web

动态插件

动态插件是进程内临时定义,适合临时验证或调试。DSH 进程重启后会丢失,需要重新 definerun

在 DSH Web GUI 的「创造模式」会话中:

1、用 cordis_define 创建插件,将 host.js 内容填入 host 代码,将 client.js 内容填入 client 代码;
2、用 cordis_run 激活插件;
3、在 GUI 中批准插件。

首次批准时,单勾授权当前版本,双勾授权后续更新。

典型用法

完成安装并刷新页面后,可以按下面方式使用。

  1. 向 Agent 发起一轮提问。
  2. Agent 回答完成后,在最新一轮回答下方会出现 3 个推荐后续问题。
  3. 如果某条推荐合适,直接点击,它会提交给 Agent 并开启新一轮回答。
  4. 如果某条推荐需要调整,悬停后先编辑,再发送。
  5. 发起新一轮对话后,上一轮的推荐项会自动隐藏。
  6. 如果推荐生成失败,会显示具体原因,可按提示重试。

依赖与实现边界

Host 侧依赖 llmsessions,正式版另需 typert。客户端依赖 conversation.chat.turnTail 插槽。

正式插件安装后是持久化状态,重启 dsh web 后仍然可用。动态插件则只存在于当前 DSH 进程内,进程重启后需要重新定义并激活。

适用场景与注意

dsh-suggest 适合需要快速追问、希望减少手动输入的场景,尤其是 DSH Web 会话中连续进行任务拆解、调试或方案讨论的情况。

使用前注意几点:

  1. 动态插件不跨重启
    如果希望长期保留,使用正式插件。

  2. 正式插件更新要先删除再添加
    file: 依赖会缓存安装时的快照,直接重跑 add 不会刷新内容。

  3. 资料未提供远程包安装命令
    已给出的安装方式是本地仓库 file: 路径,不要自行拼接远程安装命令。

  4. 安装前检查源码与许可证
    插件会在 DSH 进程中执行,等同于当前 dsh 进程权限。安装前应检查 host.jsclient.jslib/ 等相关源码,并确认 MIT 许可证符合项目要求。

结尾

dsh-suggest 把 Agent 回答后的追问输入收敛为“选择或轻编辑”:回答结束后给出 3 个可点击、可编辑的后续问题,点击即提交,编辑后再发送也可以。它提供正式插件与动态插件两种形态,适合在 DSH Web 会话中连续追问。

GitHub 仓库:

https://github.com/shaoeric/dsh-suggest

资料中另有目录页线索:

https://www.skillhub.cn/plugins/shaoeric/dsh-suggest

但该目录页 URL 在已抓取资料中未直接确认,建议以 GitHub 仓库为准。

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

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

小夜