DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

wanruxi /

wanruxi/dsh-selection-followup

Verified

Select text in a DeepSeek Harness conversation and quote it into the composer for a follow-up question.

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@5bbcfe4c

dsh-selection-followup · 选中追问

在 DeepSeek Harness 的对话里选中一段文字,旁边会浮出一个小「追问」按钮。 点一下,选中的内容就变成 Markdown 引用块落进输入框,接着问就行。

dsh-selection-followup 图标

它解决什么问题

看长回答时想追问某一段,通常得先复制,再切到输入框粘贴,再手动加 > 变成引用, 或者干脆把原文再打一遍。这个插件把这三步合成一步:选好、点一下,引用就位。

行为

  • 只在非空选区出现。输入框内部、以及按钮自己的选区都会跳过,所以在输入框里打字 不会误触发。
  • 按钮跟着指针走:鼠标松开处右下方弹出;键盘选区(Shift+方向键 之类)则落在选区 上方。靠近窗口边缘会翻到另一侧,贴边收拢用的是按钮实测尺寸,中文「追问」和英文 「Quoted」宽度不同也不会被切掉。
  • 引用成功后按钮原地变成一句「已引用」回执,停留 0.9 秒。这个回执不接收鼠标事件, 不会挡住你下一次点击。
  • 选区滚出可视范围就不再出现按钮——不会把按钮钉在屏幕边缘,让你去引用一段自己 已经看不见的字。
  • Ctrl+Shift+Q 不用鼠标也能引用当前选区。所有平台都只认 Ctrl:Cmd+Shift+Q 在 macOS 上是「注销」。
  • Esc 收起按钮。
  • 引用文本以一次可撤销的纯文本编辑插到光标处(InputActions.captureInsertion() + insertText());草稿版本在中间变过会重取一次再插。输入框正在提交、拒绝编辑时, 改为追加到草稿末尾。
  • 插入进行中再点一次或再按快捷键,会被直接拒掉,不会插出两条重复引用。
  • 引用前先规整选区:统一换行、去掉行尾空格、合并多余空行。
  • 选中的每一行前面加 > ,末尾补一个空行——这样紧跟着写的问题不会被 Markdown 的 懒续行吞进引用块里。
  • 在别的会话(侧边对话)里选的文字,不会被引到这个会话的输入框。
  • 超过 8000 字符会被截断并加省略号,悬停提示会说明,而不是悄悄截断。
  • 点击前不让焦点跑掉(mousedown 被 preventDefault),选区不会提前消失。

和相近插件的区别

目前有几个 Harness 插件都能把选区引用进输入框。这个插件刻意走纯文本路线:

本插件 chip 类插件
草稿里落的是什么 普通 Markdown > … 文本 非文本的 chip 节点
之后能不能改 能,跟自己打的字一样 只能通过 chip 自己的界面
需要在宿主注册序列化器 不需要 需要,缺 codec 会让发送直接失败
草稿被整体重写后还在不在 在 取决于 chip 的草稿编码

代价是没有迷你引用条、悬停预览、点「引用这条回复」这类富交互。换来的是:草稿永远 是你能直接看、直接改、直接删的普通文本,也不给发送链路增加新的失败点。

测试

纯函数有离线测试,不用开浏览器:

npm test      # node --test test/helpers.test.mjs
npm run check # 两半都做语法检查

覆盖引用格式、空白规整、按钮贴边收拢、离屏判定、会话隔离、插入重试与失败回退。 界面效果本身仍需人工看一遍。

安装

在要启用它的 Harness profile 里:

dsh plugin --profile <profile> add dsh-selection-followup

也可以把本仓库目录直接作为 bundle 装进插件管理器。浏览器半边立即生效,刷新页面即可, 不用重启。

兼容性

dsh.client.platform 是 web,浏览器半边用到 conversation.input.overlay 槽位和 InputActions。凡是提供这两样的 Harness 版本都能跑;engines.dsh 声明的是实测下限。

文件分工

文件 作用
lib/index.js 宿主半边——空实现,只为让 bundle 有个可加载入口
lib/client.js 浏览器半边——选区监听、浮动按钮、写入输入框
test/helpers.test.mjs 纯函数的离线测试
cordis.patch.yml 把插件行插进插件树的 bundle patch
icon.svg 插件图标
assets/icon-180.png 商店展示图

许可

MIT。

—/ 5

No ratings yet

Verified DSH bundle

Commit 5bbcfe4c9676

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout