dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
DSH(DeepSeek Harness)网页版的划词引用插件:选中任意文本 → 就地写批注 → 变成带编号的引用胶囊落进输入框,原文同时留下高亮与编号。
简体中文 | English
给 DeepSeek Harness 网页版用的划词引用插件。 在对话里选中一段文字 → 就地写批注 → 它变成带编号的引用胶囊落进输入框, 原文上同时留下高亮和编号。删掉胶囊,高亮和编号一起走。
版本 V0.1
读 AI 的长回答时,你经常想指着其中某一句话追问:"这里为什么这么写?""展开讲讲第三点。"
没有它,你得手动选中 → Ctrl+C → 点输入框 → Ctrl+V → 再打字,而且粘进去的是一段
没有形状的裸文本 —— 模型分不清哪句是你说的、哪句是你引的。
有了它:
选中文本 1、2、3…),原文上有对应的
高亮和编号牌,悬停胶囊还能看见这条引用的原文。Enter 只写进输入框(你还能接着改),Ctrl/Cmd + Enter 写完直接发送。输入框里是一枚编号胶囊,模型收到的仍然是一段规整的 Markdown 引用:
> 一句话对照:上面那串"往下压"是递,撞到出口后"往回收"是归——两个动作合起来才叫递归。
(这里接着写你的问题,光标已经在这了)
Enter 写进输入框 / Ctrl(macOS 上 Cmd)+ Enter 写进输入框并直接发送。| 动作 | 结果 |
|---|---|
| 选中正文 | 浮出就地输入栏;那片文字的底色不会消失 |
输入栏里按 Enter | 写进输入框,不发送 —— 你还能接着改、接着补 |
输入栏里按 Ctrl/Cmd + Enter | 写进输入框并立刻发出去 |
| 写了批注再提交 | 输入框里是 [胶囊] 你的批注 |
| 悬停胶囊 | 浮出这条引用的原文 |
| 在输入框里删掉胶囊 | 原文的高亮与编号同时消失 |
点别处 / 按 Esc | 收起浮层,不动输入框 |
| 在输入框里选中文字 | 不出浮层 —— 那是在编辑,不是在引用 |
| 连续引用多段 | 依次排在光标处,追加而不是覆盖 |
| 选中的内容超过 8000 字 | 截断,并提示「内容过长,已截断」 |
编号的粒度:一个页面生命周期内全局递增(选中文本 1、2、3…);
同一段文字被再次引用时复用原来的编号 —— 同一处标注不该有两个号。
⚠️ 先纠一个坑(不少插件文档在这里是错的):DSH 的命令行直接拒绝 --profile desktop ——
$ dsh plugin --profile desktop add github:Eos010/dsh-selection-ask
error: profile "desktop" is managed exclusively by the Electron application
桌面版的 profile 由 Electron 应用独占管理。所以按你实际在用的版本二选一:
在 DSH 应用内安装。也可以手动两步:
# 1) 把仓库放进 profile 的 node_modules
git clone https://github.com/Eos010/dsh-selection-ask `
"$env:USERPROFILE\.dsh\profiles\desktop\node_modules\dsh-selection-ask"
# 2) 在 ~/.dsh/profiles/desktop/package.json 的 dsh.profile.bundles 数组里加一行:
# "dsh-selection-ask"
# 3) 重启 DSH,然后刷新网页(Ctrl+F5)
dsh webnpm i -g pnpm # dsh plugin 是 pnpm 的转发器,PATH 上得先有 pnpm
dsh plugin --profile web add github:Eos010/dsh-selection-ask
(从本地工作副本装,就把 github:… 换成 file:<你的工作副本路径>。)
两种方式装完都要重启一次 DSH,然后刷新网页(Ctrl+F5)——
包清单只在启动时读一次。
卸载就是反过来:从 dsh.profile.bundles 删掉那一行、删掉 node_modules 下的目录,重启。
dsh web 都是 Chromium,实测可用)。Ctrl+F5)。只需要 Node ≥ 22,运行时零依赖。
node build.mjs # 源码 + 样式 → lib/client.js(产物已提交,安装者不需要构建)
node test/bundle.test.mjs # 产物接线、插槽注册、样式落点
node test/selection.test.mjs # 引用块形状、草稿拼接、生命周期、编号
MIT。见 LICENSE。