🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

引问侧聊 stilla-maris/dsh-quote-ask

DeepSeek Harness
stilla-maris1 天前有提交已提供中文文档扫描:含敏感能力

选中对话文字,开临时侧聊带上下文追问

31.5/100
综合分
2
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/11/3 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add stilla-maris/dsh-quote-ask
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · chat
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 1 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件
查看扫描证据(共 28 处,展示前 17 条)
  • 读取本地文件
    lib/index.js:165
    const stat = lstatSync(path)
  • 读取本地文件
    lib/index.js:180
    stat = lstatSync(path)
  • 删除本地文件
    lib/index.js:186
    unlinkSync(path)
  • 删除本地文件递归
    lib/index.js:189
    rmSync(path, { recursive: true, force: true, maxRetries: 3, retryDelay: 100 })
  • 读取本地文件
    lib/index.js:199
    const parsed = JSON.parse(readFileSync(path, 'utf8'))
  • 写入本地文件
    lib/index.js:208
    mkdirSync(dirname(path), { recursive: true })
  • 写入本地文件
    lib/index.js:210
    writeFileSync(temporary, JSON.stringify(value), 'utf8')
  • 写入本地文件
    lib/index.js:211
    renameSync(temporary, path)
  • 读取本地文件
    lib/index.js:431
    if (statSync(cachePath).size > 512 * 1024) return null
  • 读取本地文件
    lib/index.js:432
    text = readFileSync(cachePath, 'utf8')
  • 读取本地文件
    lib/index.js:467
    entries = readdirSync(PROJCACHE_DIR)
  • 删除本地文件
    lib/index.js:540
    rmdirSync(owned.bucket)
  • 写入本地文件
    lib/index.js:975
    mkdirSync(workspace, { recursive: true })
  • 写入本地文件
    lib/index.js:991
    writeFileSync(join(sideDirectory(sideChatId), CONTEXT_FILE), contextText, 'utf8')
  • 写入本地文件
    lib/index.js:1057
    writeFileSync(join(sideDirectory(sideChatId), CONTEXT_FILE), contextText, 'utf8')
  • 删除本地文件
    lib/index.js:1147
    unlinkSync(path)
  • 删除本地文件递归
    lib/index.js:1352
    rmSync(MAIN_QUOTES_DIR, { recursive: true, force: true })
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

引用它、向它提问——在主聊天或干净的侧边聊天里都行。适用于 DeepSeek Harness Desktop。

README

由 DeepSeek 最新模型翻译生成
引问 · dsh-quote-ask 给 DeepSeek Harness Desktop 用的「引用提问」插件:在主对话里选中一段文字,右键即可添加到下一次主对话提问,或在右侧开一个临时侧聊——它带着主对话上下文回答你选中的内容,但聊天界面不显示任何继承来的历史;关掉标签页,侧聊的所有痕迹都会被删除。 dsh-quote-ask 工作方式 为什么做这个 DSH 的主对话很长时,临时想问一个点(「这句话什么意思?」「这个接口为什么这么写?」「这里为什么不用 A 而用 B?」)通常只有两个选择: - 直接在主线里追问:会污染主线,而且模型容易顺着原对话继续写; - 开一个新对话:模型不知道你在说什么,得把上下文重新贴一遍。 dsh-quote-ask 把这中间的状态做成了一个临时侧聊:它像新对话一样干净,但模型能看到主对话和你精确选中的内容;你问完、关掉,它就从世界消失。
展开完整文档(README 剩余 1 节)
引问 · dsh-quote-ask

给 DeepSeek Harness Desktop 用的「引用提问」插件:在主对话里选中一段文字,右键即可添加到下一次主对话提问,或在右侧开一个临时侧聊——它带着主对话上下文回答你选中的内容,但聊天界面不显示任何继承来的历史;关掉标签页,侧聊的所有痕迹都会被删除。

dsh-quote-ask 工作方式

为什么做这个

DSH 的主对话很长时,临时想问一个点(「这句话什么意思?」「这个接口为什么这么写?」「这里为什么不用 A 而用 B?」)通常只有两个选择:

- 直接在主线里追问:会污染主线,而且模型容易顺着原对话继续写;
- 开一个新对话:模型不知道你在说什么,得把上下文重新贴一遍。

dsh-quote-ask 把这中间的状态做成了一个临时侧聊:它像新对话一样干净,但模型能看到主对话和你精确选中的内容;你问完、关掉,它就从世界消失。

和常见侧聊插件的侧重点差异

DSH 社区已经有一些侧聊/分支对话插件,本项目的侧重点是「引用定位」和「删得干净」:

- 引用不是一段孤立文本:记录 DOM 消息节点、轮次、字符偏移、前后文和整条消息,同一个词出现多次也能锁定你选中的那一次;
- 引用管理不是只改 UI:增删都会重写模型上下文,删除还会把主对话转录中对应的那一次出现替换为「〔该引用片段已删除〕」;
- 不做 archive:避免 DSH 的 archived-session gate 拦掉模型调用;
- 关闭后按白名单删除会话目录、日志、缓存、spill、浏览器草稿和清理凭证,主对话文件不动。

功能

- 选中即引用:在主对话里选中文字 → 右键 →「在侧边聊天中提问」。
- 添加至对话:同一右键菜单里的「添加至对话」把选中片段附加到主对话的下一次提问。主对话输入框会出现和侧聊一样的「已选文本片段」chip,可继续添加多段,悬停或点击 chip 查看引用;下一次发送时通过 model-only system-prompt 注入,回答结束后自动清除。
- 侧聊界面完全空白:没有继承的聊天记录,输入框在底部,和普通新对话一样。
- 引用精确到位置:记录选中文字所在的 DOM 消息节点、轮次、字符偏移、前后文和整条消息文本;即使同一个词在对话里出现很多次,也不会答错位置。
- 只对模型可见的主对话上下文:主对话的用户/助手文字消息、工具结果摘要和所有引用会写入 context.md,通过 DSH 的 system-prompt 注入;聊天界面不显示。
- 输入框里的引用 chip:显示「已选文本片段 · N」;点开可查看每条引用,支持单条删除,面板会随窗口全屏/缩放自适应。
- 删除真的生效:删除引用会重写 context.md,并把主对话转录里对应的那一次出现替换成「〔该引用片段已删除〕」;下一轮模型不会再看到它,重新添加会恢复。
- 不污染会话列表:侧聊会话不会出现在左侧对话列表里(按会话 id 隐藏,不使用会阻断模型调用的 archive)。
- 关闭即清理:关闭标签页会删除 scratch 工作目录、context.md、会话日志、projection cache、spill、浏览器草稿和清理凭证;主对话文件永远不被改写。
- 退出 DSH 即结束:完全退出/重启 DSH 会删除本次运行中所有未关闭的侧聊,清除浏览器条目和恢复的右侧栏标签,下次启动不会在「未分组」里留下会话;Ctrl+R 页面刷新不会结束侧聊。
- 纯本地:没有网络请求、没有遥测、没有额外账号。

快速开始(Windows)

当前版本仅在 Windows 11 + DSH Desktop 0.2.1-rc.2 上完整验证过。macOS / Linux 理论上可用,但安装路径和桌面端 CLI 位置不同,欢迎开 issue 反馈。更详细的安装、升级、排错见 docs/installation.md。

1. 下载插件

任选一种:

git clone https://github.com/stilla-maris/dsh-quote-ask.git

或在 GitHub 页面点 Code → Download ZIP,解压(不要直接在压缩包里安装)。

2. 安装

在仓库根目录(包含本 README 和 package.json 的那一层)打开 PowerShell:

powershell -ExecutionPolicy Bypass -File .\scripts\install-windows.ps1

脚本会自动查找 DSH Desktop 的安装目录,并调用它自带的 CLI 把当前目录安装到 desktop profile。

如果 DSH 不在默认路径,显式传入:

powershell -ExecutionPolicy Bypass -File .\scripts\install-windows.ps1 -DshRoot "D:\path\to\DeepSeek Harness"

也可以手动执行脚本里的等价命令:

$dsh = "$env:LOCALAPPDATA\Programs\DeepSeek Harness\resources\runtime\cli\bin\dsh.cmd"
& $dsh plugin --profile desktop add "<仓库绝对路径>"

3. 重启 DSH

安装完成后完全退出 DSH Desktop(包括托盘里的进程),再重新打开。按 Ctrl+R 刷新页面不够——宿主半区和客户端模块都需要重新加载。

4. 试一下

1. 打开任意一个已有对话;
2. 在对话内容里选中一段文字;
3. 右键 →「在侧边聊天中提问」;
4. 右侧栏出现「侧聊 · 对话标题」,输入问题即可;
5. 回到主对话选中文字 → 右键 →「添加至对话」,主对话输入框会出现引用 chip;发下一问时模型会带上它;
6. 关掉侧聊标签页,观察左侧列表没有新增会话、主对话没有被改写。

卸载

在仓库根目录执行:

powershell -ExecutionPolicy Bypass -File .\scripts\uninstall-windows.ps1

然后完全退出并重启 DSH。卸载不会删除你的主对话;如果还有没关闭的侧聊,下次启动会自动清理。

安装前你需要知道

- 这是桌面端插件:只对 DSH Desktop 生效,Web 版 / 纯 CLI 不会加载。
- 它会读取主对话内容:为了构建模型上下文,插件在本机读取当前主对话的文字消息和工具结果摘要,写入 $DSH_HOME/quote-ask/<id>/context.md。这些内容会随侧聊问题一起发送给模型(和你在主对话里提问时一样),请按你平时的数据边界使用。
- 它是本地目录安装:安装后 profile 里指向你下载的文件夹;移动或删除该文件夹会导致插件失效,重新安装即可。
- 版本锁定:engines.dsh 要求 >=0.2.1-rc.2 <0.3.0。DSH 升级到 0.3+ 后插件会拒绝加载(不会拖垮 DSH),需要重新适配。
- 首次安装可能需要联网:桌面端插件安装底层调用 pnpm;本地路径安装通常不需要下载依赖,但首次初始化 profile 可能需要网络。
- Windows 路径含空格/中文:脚本会处理引号;手动执行时请用双引号包住仓库路径。

兼容性

| 项目 | 状态 |
| DSH Desktop 0.2.1-rc.2(Windows 11) | ✅ 已验证 |
| DSH Desktop 其他 0.2.x | ⚠️ 理论兼容,未逐一验证 |
| DSH 0.3+ | ❌ 会被 engines 阻止,需升级适配 |
| macOS / Linux | ⚠️ 未验证;欢迎 PR / issue |
| Web 版 / 纯 CLI | ❌ 不适用 |

数据与隐私

- 插件不发起任何网络请求;模型请求由 DSH 本身发出。
- 侧聊的模型上下文只写在本机 $DSH_HOME/quote-ask/<id>/context.md。
- 关闭侧聊时删除:该目录、会话日志、projection cache、spill、浏览器草稿、清理凭证;详见 清理与兼容性审计。
- 主对话的日志和文件不会被写入或删除。
- 代码完全公开,可自行审计 lib/index.js(宿主)和 lib/client/index.js(浏览器)。

开发

不需要构建步骤,插件目录即产物。需要 Node.js 18+(DSH Desktop 自带 Node 也可以)。

语法检查 + 契约测试(不需要运行 DSH)
node scripts/check.mjs
或
node test/verify.mjs

测试覆盖:prepare/bind/cleanup、模型上下文生成、系统提示注入、journal 两阶段清理、v0.2 迁移、引用增删、DOM 锚点、清理安全性等。

目录:

dsh-quote-ask/
├─ package.json # DSH 插件清单 ├─ cordis.patch.yml # 只插入一条 Host row,Desktop-only ├─ lib/index.js # 宿主半区:scratch 目录、路由、上下文、清理 ├─ lib/client/index.js # 浏览器半区:右侧栏 tab、引用 chip、右键菜单 ├─ locale/ # 插件页展示文案 ├─ icon.svg ├─ scripts/ # Windows 安装 / 卸载 / 检查 ├─ test/verify.mjs # 契约测试 └─ docs/ # 安装、架构、清理与兼容性说明

欢迎 issue / PR;提交前请跑 node scripts/check.mjs。详见 CONTRIBUTING.md;实现原理见 docs/architecture.md,发布流程见 RELEASING.md。

已知限制

- 侧聊只存在于当前 DSH 运行期间:完全退出/重启 DSH 会清理所有未关闭的侧聊;Ctrl+R 刷新页面则保留。需要长期保留的结论请带回主对话。
- 侧聊标签页是唯一入口;隐藏右侧栏后需要重新打开右侧栏才能关闭它。
- 主对话转录上限 60 万字符,超出会保留最近部分并注明截断。
- 多个侧聊同时打开时,「添加到侧边聊天引用」作用于该主对话最新打开的侧聊。
- 如果另一个插件也接管「聊天区选中文本右键菜单」,可能出现两个菜单;目前没有配置开关。
- 清理采用「删除 + 两阶段凭证」:正常关闭约 20 秒内连凭证一起清除;DSH 崩溃/强杀时由下次启动 sweep 收尾。

License

MIT © dsh-quote-ask contributors

插件名称、README 与实现均为独立项目,与 DeepSeek 官方无隶属关系;DeepSeek Harness 本身遵循其各自仓库的许可证。
预览分享卡片长什么样 ↓stilla-maris/dsh-quote-ask
分享 · DeepSeek Harness Hub
stilla-maris/dsh-quote-ask

选中对话文字,开临时侧聊带上下文追问

这是你的仓库?认领条目

回到顶部