Anionex/dsh-suggested-replies
DSH Web 预测回复插件:AI 回复后在输入框上方生成可点击填入草稿的下一步消息候选
Project Overview项目介绍
This is a native plugin built exclusively for DSH Web that adds a predictive suggested replies feature to the DSH chat interface. After the AI finishes generating a response to your message, the plugin automatically creates a set of candidate messages that you may want to send next, and displays these clickable candidates directly above the chat input box. Clicking a candidate inserts its text into the input draft automatically, but it does not trigger an automatic send, so you can adjust the text before sending if you wish. It registers to the conversation.input.dock slot officially provided by DSH, so it never interferes with existing core UI layout.
After the main AI response completes, the plugin spins up an internal agent session that uses only official DSH events to generate candidates. The internal agent draws on the most recent conversation context to create relevant suggestions, then flushes and archives the temporary session and stores the UI state in the plugin’s own sidecar storage. You can configure multiple parameters for this plugin, including the number of candidates to display, how many recent messages to use for context, maximum character length per candidate, and timeout for the generation request. You can also explicitly specify a custom provider and model to use for generating suggestions if you do not want to reuse the current session’s model.
The simplest way to install this plugin is via the DSH CLI, by running the command dsh plugin --profile web add @anionex/dsh-suggested-replies. If you are developing the plugin locally, you can also install it from your local development directory using the same CLI command, pointing to your absolute file path. After installation or update, you will need to restart your running dsh web service and hard refresh your browser page, then open a new or existing chat session to verify the feature works. The plugin is released under the open source MIT license, so there is no extra cost to use or modify it.
这是一个专为DSH Web打造的原生插件,核心功能是在AI完成每轮回复后,自动生成若干条用户下一步可能发送的消息候选,展示在聊天输入框的上方。用户点击候选内容后,文本会自动填入输入框草稿,不会自动发送消息,方便用户修改或确认后再发起提问。它通过DSH官方插件机制注册到输入框上方的停靠区,不会占用输入框下方的多余布局空间。
典型工作流程是AI完成本轮回复后,插件启动一个仅使用官方事件的内部Agent会话,根据近期对话生成候选回复,之后将UI状态存入插件自有存储,在输入框上方展示可点击的候选气泡。插件支持自定义配置候选数量、上下文消息数、单条候选最大字符数等参数,也可显式指定生成候选使用的模型和服务商。
安装可以通过npm一键完成,执行dsh plugin --profile web add @anionex/dsh-suggested-replies即可,也可从本地开发目录安装。安装或更新后需要重启dsh web服务并在浏览器硬刷新页面,新建或重新打开会话即可验证功能。插件采用MIT许可开源,没有额外使用成本,用户可在DSH Web设置页开启或关闭该功能。
请帮我安装这个 DSH 插件。安装前先完成【兼容性检查 + 安全性检查】,检查通过再动手。
插件:dsh-suggested-replies(Anionex/dsh-suggested-replies)
仓库:https://github.com/Anionex/dsh-suggested-replies
本站详情页:https://www.yhbd.top/plugins/anionex-dsh-suggested-replies/
本站登记:类型 plugin · 归类 原生 DSH 插件 · 许可证 MIT · ⭐ 3 · 最近提交 2026-09-03 · 主语言 TypeScript
按下面顺序执行,每步先把结论告诉我,再进入下一步:
【1 兼容性检查】
① 我这边:DSH 版本、Node 版本、操作系统、当前 profile(web / desktop)。
② 读它的 README、package.json、插件 manifest,列出它要求的 DSH 版本 / Node 版本 / 操作系统 / 外部依赖 / 需要另外先装的运行时。
③ 逐条比对,结论只写「满足 / 不满足 / 未知」三种;不满足的给出可行替代方案。
④ 检查是否和我已装的插件冲突:命令名重复、skill / tool 重名、端口占用、重复注册的 MCP server。
【2 安全性检查】
① 仓库可信度:和上面「本站登记」是否一致;star / fork 数、创建时间、最近提交,是否归档或长期停更。
② 安装脚本:逐行看 package.json 的 preinstall / install / postinstall,以及 install.sh、setup.ps1 之类脚本。出现 curl|bash、下载后直接执行、混淆代码、访问与插件功能无关的域名,立刻停下来告诉我,不要继续装。
③ 依赖:列出新增依赖,标出无人维护、或与知名包拼写近似的可疑包(typosquatting)。
④ 权限与副作用:它会读写哪些目录、访问哪些域名、需要哪些 DSH 权限(filesystem / network / shell / clipboard 等),以及怎么卸载和回滚。
⑤ 如果它要求 sudo / 管理员权限,或权限明显超出功能所需,先停下来问我。
【3 安装】
上面两步没有「不满足」和「高危项」时才执行;用官方推荐方式安装,不要自行提权。
【4 汇报】
用表格输出:检查项 / 结论 / 依据 / 是否需要我决策。拿不准的一律写「未知」并说明要我怎么确认——不要猜,也不要替我决定。
Send this message to DSH in your current session: it verifies compatibility and security first (answering met / not met / unknown item by item) and only installs once everything checks out — it will stop and ask you if it finds a high-risk item. The box scrolls; the copy is the full prompt. CLI install commands may not be accurate across systems, so DSH is the safer route.把上面这条消息直接发给当前会话里的 DSH:它会先核对兼容性与安全性(逐条给「满足 / 不满足 / 未知」),确认没问题再安装,有高危项会停下来问你。框内可滚动,复制到的是完整提示词;安装命令不一定准确,发给 DSH 更稳。
- Only 3 stars - very few users, little community feedback星标只有 3,几乎没人在用,遇到问题缺少社区反馈
DSH walks through these 9 checksDSH 会逐条核对这 9 项
Compatibility兼容性
- DSH, Node, OS and profile requirementsDSH 版本 / Node 版本 / 操作系统 / profile 是否满足要求
- External dependencies and runtimes (Electron / Python / Docker, ...)外部依赖与运行时(Electron / Python / Docker 等)是否齐备
- Conflicts with installed plugins: command names, skill / tool names, ports, duplicate MCP registration与已装插件是否冲突:命令名、skill / tool 重名、端口占用、重复 MCP 注册
Security安全性
- Repo matches the facts registered here; archived or abandoned?仓库是否与页面登记一致,是否归档或长期停更
- Safety of preinstall / install / postinstall and install.sh / setup.ps1preinstall / install / postinstall 与 install.sh、setup.ps1 是否安全
- curl|bash, download-then-execute, obfuscation, unrelated domains → stop immediatelycurl|bash、下载即执行、混淆代码、无关域名 → 立刻停止
- Typosquatting or unmaintained packages among the new dependencies新增依赖里有没有 typosquatting 或无人维护的包
- Requested permissions vs. what the feature actually needs申请了哪些权限、是否超出功能所需(filesystem / network / shell / clipboard)
- Any sudo / admin requirement, plus uninstall and rollback是否要求 sudo / 管理员权限,以及卸载与回滚方式
Anything uncertain must be marked unknown with a note on how to confirm it. This site's signal screen is a static snapshot, not a security audit.拿不准的必须标「未知」并说明要我怎么确认。本站的信号筛查是静态快照,不能替代安全审计。
Or use CLI install (for developers)或使用命令行安装(适合开发者)
CLI Install命令行安装
dsh plugin --profile web add @anionex/dsh-suggested-replies
把 Anionex/dsh-suggested-replies 加入你的 DSH 配置(web profile)即可启用。
READMEREADME
dsh-suggested-replies
DSH Web 的“预测回复”插件:AI 回复结束后,生成几条用户下一步可能会发送的消息候选,并将它们显示在聊天输入框上方。点击候选只会将文本填入输入框,不会自动发送。
行为
AI 完成本轮回复
-> 插件创建一个只使用官方事件的内部 Agent Session
-> 内部 Agent 以零工具、完整 persona 根据近期对话生成候选
-> flush 并归档内部 Session,把 UI 状态写入插件自有 storage-domain sidecar
-> Web 在 conversation.input.dock(输入框上方)显示气泡
-> 点击候选:inputActions.setDraft(text)
-> 用户自行编辑或点击发送
- 正确位置:注册
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_statedomain,因此卸载插件后父 Session 仍能由原版 DSH reader 恢复。 - 状态恢复:sidecar 行按 Session id 存储,并校验 header 的
{ createdAt, cwd };页面刷新或 Host 重启后仍可恢复当前候选,复用同一 id 的另一条 Session 不会读到旧状态。
安装
从 npm 一键安装
dsh plugin --profile web add @anionex/dsh-suggested-replies
本地开发目录安装
dsh plugin --profile web add /absolute/path/to/dsh-suggested-replies
安装或更新后,重启正在运行的 dsh web 服务,并在浏览器硬刷新页面。新建或重新打开一个会话后进行验证。
设置与配置
Web 设置页中的“下一步建议”分区提供 enabled 总开关。它写入 $DSH_HOME/settings.yaml 的 suggested-replies 区域,下一轮立即生效。
其余部署参数在 cordis.patch.yml 或 profile overlay 中配置:
| 字段 | 默认值 | 说明 |
|---|---|---|
enabled |
true |
是否生成候选;关闭后无辅助模型调用。 |
suggestionCount |
3 |
每轮候选数量,范围 2-4。 |
contextMessageCount |
4 |
传给辅助模型的最近可见消息数,范围 2-6。 |
maxSuggestionChars |
160 |
单条候选保留的最大字符数,范围 32-300。 |
maxTokens |
384 |
辅助调用的最大输出 token,范围 64-1024。 |
timeoutMs |
15000 |
辅助调用最长时长(毫秒),范围 1000-30000。 |
suggestionProvider |
未设置 | 可选:显式指定辅助调用 provider;省略时跟随当前会话模型。 |
suggestionModel |
未设置 | 可选:显式指定辅助调用 model;必须与 suggestionProvider 同时提供。 |
Showing the opening section of the README — the full document lives in the repository以上为 README 开头摘要,完整文档在仓库内 · View the full README on GitHub →在 GitHub 查看完整 README →
liangmianya/dsh-synapse
alaliqing/claude-paper
acryldev/acryl
omdsh-dev/dsh-annotation
Anionex/dsh-turn-rewind
Tyan66666/billion-context-dsh
qkycir-123/dsh-run2skill