Anionex/dsh-suggested-replies

Anionex★ 3TypeScript最后同步: 2026-08-14

在 GitHub 打开

DSH Web 预测回复插件:AI 回复后在输入框上方生成可点击填入草稿的下一步消息候选

README 摘要

dsh-suggested-replies DSH Web 的“预测回复”插件:AI 回复结束后,生成几条用户下一步可能会发送的消息候选,并将它们显示在 聊天输入框上方 。点击候选只会将文本填入输入框, 不会自动发送 。 行为 - 正确位置 :注册 conversation.input.dock ,位于 DSH 的消息输入卡片上方;不会放到输入框下方的 conversation.composer.dock 。 - 单行展示 :候选始终保持在一条横线上;宽度不足时横向滚动查看,不换到第二行。 - 只填入草稿 :点击候选会替换当前草稿为该候选,不会调用发送动作。 - 候选内容 :优先覆盖合理的下一步执行、验证/追问、或决策/选择;候选跟随最近对话语言,彼此去重且可直接发送。 - 失败兜底 :辅助模型没有返回规定 JSON 时,插件仍按最近对话语言生成配置数量的保守候选,不再把空数组当成成功结果隐藏整行。 - 上下文范围 :辅助提示词只截取直接用户消息和 AI 回复;AGENTS、运行时快照和 Skill 目录等注入上下文不会挤占最近对话窗口。 - 过期保护 :新用户输入、设置关闭、辅助调用超时或插件卸载都会取消当前生成,避免旧结果在下一轮对话中回流。 - 模型调用与成本 :每个可生成候选的完成轮次额外运行一个短文本内部 Agent。默认复用 Session 最新 request/header 中实际使用的 provider/model,再回退到 Agent 默认路由;也可通过 suggestionProvider + suggestionModel 显式覆盖。关闭开关后不再运行该 Agent。 - Core 零修改 :父 Session 不追加插件自定义事件,也不修改 KNOWN SESSION EVENT TYPES 。生成过程完整记录在内部官方 Agent Session;候选的 loading/ready/cleared 状态保存在插件拥有的 suggested replies state domain,因此卸载插件后父 Session 仍能由原版 DSH reader 恢复。 - 状态恢复 :sidecar 行按 Session id 存储,并校验 header 的 { createdAt, cwd } ;页面刷新或 Host 重启后仍可恢复当前候选,复用同一 id 的另一条 Session 不会读到旧状态。 安装 从 npm 一键安装 本地开发目录安装 安装或更新后,重启正在运行的 dsh web 服务,并在浏览器硬刷新页面。新建或重新打开一个会话后进行验证。 设置与配置 Web 设置页中的“下一步建议”分区提供 enabled 总开关。它写入 $DSH HOME/settings.yaml 的 suggested-replies 区域,下一轮立即生效…

在 GitHub 查看完整 README →
工具/开发dshdsh-pluginagent

分类