DSH Plugins Marketplace

DSH Plugins

Plugins

/

Sessions & Messages

/

dsh-suggested-replies

d

dsh-suggested-replies

Manifest valid
UI (client)hasBundlePatch

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_state domain,因此卸载插件后父 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 中配置:

字段默认值说明
enabledtrue是否生成候选;关闭后无辅助模型调用。
suggestionCount3每轮候选数量,范围 2-4。
contextMessageCount4传给辅助模型的最近可见消息数,范围 2-6。
maxSuggestionChars160单条候选保留的最大字符数,范围 32-300。
maxTokens384辅助调用的最大输出 token,范围 64-1024。
timeoutMs15000辅助调用最长时长(毫秒),范围 1000-30000。
suggestionProvider未设置可选:显式指定辅助调用 provider;省略时跟随当前会话模型。
suggestionModel未设置可选:显式指定辅助调用 model;必须与 suggestionProvider 同时提供。

示例 overlay:

- patch:
    - id: suggested-replies
      config:
        suggestionCount: 4
        maxSuggestionChars: 120
        timeoutMs: 10000
        suggestionProvider: deepseek-official
        suggestionModel: deepseek-v4-flash

开发与验证

export DSH_SOURCE=/path/to/deepseek-harness
pnpm install --no-frozen-lockfile
pnpm run links
pnpm run typecheck
pnpm run test
pnpm run build
pnpm pack --dry-run

提交前的独立 Profile 验证:

TEMP_DSH_HOME="$(mktemp -d)"
DSH_HOME="$TEMP_DSH_HOME" dsh plugin --profile web add /absolute/path/to/dsh-suggested-replies
DSH_HOME="$TEMP_DSH_HOME" dsh --profile web --dump-config

实际页面验收要点:

  1. AI 回复结束后,候选行的几何位置在 [data-composer-card] 上方。
  2. 点击候选后,textarea 草稿变为候选文本。
  3. 点击候选后不会创建下一轮、不会自动发送消息。

致谢

本项目是独立实现,并明确致谢 dsh-external/dsh-auto-blame 的双端 Web 插件组合思路。

本项目重新实现了产品语义、内部 Agent、sidecar 状态、RPC 长轮询、提示词、过期结果处理、输入框上方布局和“只填入不发送”的交互;未包含该项目的源代码、图像或品牌资产。

License

MIT

Comments

Loading…

From the same category

billion-context

by ranxianglei

基本稳定可用 100K tokens is enough. Universal context-compression proxy for ALL AI coding agents,10w上下文足矣

Sessions & MessagesManifest valid

★ 804

↓ 423.4k/wk

MIT

TypeScript

Oct 11, 2026

dsh plugin --profile web add billion-context

by Han-1413141

DeepSeek Harness session cost meter plugin: session/daily cost, budget, history, OpenCode Go quota, official & custom-provider balance, Codex-like token heatmap, peak/off-peak pricing with pre-switch

Sessions & MessagesManifest valid

★ 388

↓ 23k/wk

MIT

JavaScript

Oct 10, 2026

dsh plugin --profile web add dsh-cost-meter

by Nwflower

Import 14+ external agent chat histories (Claude Code, Codex, ChatGPT, Cursor, Gemini, Reasonix, opencode, ZCode, Grok Build, OpenClaw, Pi, Hermes, Kimi CLI, DSH) into DeepSeek Harness as resumable se

Sessions & MessagesManifest valid

★ 224

MIT

JavaScript

Oct 7, 2026

dsh plugin --profile web add dsh-chat-import

by Totoro-qaq

DeepSeek Harness plugin for previewable cross-preset session migration. Fixed-schema handoffs preserve state, source-model intent, and unresolved images; the original session stays untouched.

Sessions & MessagesManifest valid

★ 165

MIT

JavaScript

Oct 11, 2026

dsh plugin --profile web add dsh-plugin-bridge

by Anionex

deepseek harness对话和代码状态回退插件 | DSH — rewind conversation and workspace state, powered by a persistent Change Ledger

Sessions & MessagesManifest valid

★ 131

BSD-3-Clause

JavaScript

Oct 1, 2026

dsh plugin --profile web add @anionex/dsh-turn-rewind

by SiriLee

DSH 插件:真正便捷无感的同窗口内对话回退,从不新建分支;自带轻量工作区备份,可一并还原文件(完整 Claude Code /rewind 语义)。 · DSH plugin: genuinely effortless in-window conversation rewind — never forking a new session; ships a lightweight workspac

Sessions & MessagesManifest valid

★ 123

↓ 5.5k/wk

MIT

TypeScript

Oct 9, 2026

dsh plugin --profile web add dsh-rewind-plugin