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

选中即问 hufeide/dsh-sidebar-assistant

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

选中网页文字即可引用提问,不污染主对话

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

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

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

状态速览

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

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

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

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

读写/删除本地文件发起外部网络请求
查看扫描证据(共 7 处,展示前 7 条)
  • 发起网络请求
    src/client/index.ts:101
    return await fetch(input, { ...init, signal: ctrl.signal })
  • 写入本地文件
    src/host/web.ts:203
    nodeFs.mkdirSync(baseDir, { recursive: true })
  • 写入本地文件
    src/host/web.ts:204
    nodeFs.writeFileSync(
  • 写入本地文件
    src/host/web.ts:276
    nodeFs.mkdirSync(baseDir, { recursive: true })
  • 写入本地文件
    src/host/web.ts:277
    nodeFs.writeFileSync(
  • 写入本地文件
    src/host/web.ts:379
    nodeFs.mkdirSync(baseDir, { recursive: true })
  • 写入本地文件
    src/host/web.ts:380
    nodeFs.writeFileSync(nodePath.join(baseDir, 'ask-error.log'), `[${new Date().toISOString()}]\n[test] ${detail}\n\n`, { flag: 'a' })
扫描于 2026/11/4(0 天前) · 范围 全包扫描(包内未声明入口) · 来源 GitHub 仓库

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

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/schemastery@deepseek-ai/dsh-llm@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-ui-conversation
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 选中文字引用提问
  • 不污染主对话

README

由 DeepSeek 最新模型翻译生成
dsh-sidebar-assistant(选中即问) 一个侧边栏助手插件,面向 DSH(DeepSeek Harness)Web 界面。在 Web 聊天界面里选中任意文本,即可基于所选内容发起提问,模型会参考与选中文字相关的当前会话片段与选中的引用文字作答,并在浮层面板里流式显示思考过程与最终回答。 使用场景:deepseek 主对话对连续话题的理解问答,dsh-sidebar-assistant 插件生成的对话框,主要用户临时不解进行回答,这样不污染主对话内容,并且省 token 的,因为插件对话框只引用选中文字及其涉及的这段对话。当有临时发问,请在插件会话问吧。 功能特性 - 选中即问:在 Web 界面选中一段文字,点击文字下方“提问”,浮层面板自动弹出,所选文字作为引用。 - 按引用过滤历史:自动只把当前会话里文本包含选中文字的对话片段作为上下文;同时带上其对话伙伴(user↔assistant 配对保留)。未被选中文本"触及"的对话不会进入历史,最大化节省 token。 - 流式输出:回答实时逐字渲染,无需等待全部生成完毕。 - 思考过程折叠:模型的思考过程(reasoning)与最终回答分开显示;思考过程默认折叠,可点击「思考过程」展开查看。 - 严格以引用为准:模型被提示"参考当前会话历史了解上下文,不要臆测引用之外的事实",回答只围绕选中文字展开。
展开完整文档(README 剩余 1 节)
dsh-sidebar-assistant(选中即问)

一个侧边栏助手插件,面向 DSH(DeepSeek Harness)Web 界面。在 Web 聊天界面里选中任意文本,即可基于所选内容发起提问,模型会参考与选中文字相关的当前会话片段与选中的引用文字作答,并在浮层面板里流式显示思考过程与最终回答。

使用场景:deepseek 主对话对连续话题的理解问答,dsh-sidebar-assistant 插件生成的对话框,主要用户临时不解进行回答,这样不污染主对话内容,并且省 token 的,因为插件对话框只引用选中文字及其涉及的这段对话。当有临时发问,请在插件会话问吧。

功能特性

- 选中即问:在 Web 界面选中一段文字,点击文字下方“提问”,浮层面板自动弹出,所选文字作为引用。
- 按引用过滤历史:自动只把当前会话里文本包含选中文字的对话片段作为上下文;同时带上其对话伙伴(user↔assistant 配对保留)。未被选中文本"触及"的对话不会进入历史,最大化节省 token。
- 流式输出:回答实时逐字渲染,无需等待全部生成完毕。
- 思考过程折叠:模型的思考过程(reasoning)与最终回答分开显示;思考过程默认折叠,可点击「思考过程」展开查看。
- 严格以引用为准:模型被提示"参考当前会话历史了解上下文,不要臆测引用之外的事实",回答只围绕选中文字展开。
- 面板可拖拽 / 可缩放:标题栏拖拽移动浮层;四角与四边拖拽调整面板大小。
- Enter 提交:输入问题后直接按 Enter 即可提问。
- 仅当前会话:历史只来自选中所处的会话,不混入其他会话。

alt text

环境要求

- Node.js ^22.19.0 或 >=24
- 已安装并可用 dsh CLI(@deepseek-ai/dsh),并存在可用的 Web 配置文件(--profile web)
- 已配置可用的 LLM Provider(插件复用 harness 的 LLM 服务,使用默认模型 deepseek-v4-flash 等)

安装

插件以 link: 方式安装到目标 profile,指向源码目录,便于本地开发调试。

1. 安装依赖

git clone https://github.com/hufeide/dsh-sidebar-assistant
cd dsh-sidebar-assistant
pnpm install

2. 构建

pnpm run build

构建产物输出到 lib/(host 逻辑为 lib/index.js,client bundle 为 lib/client.js)。

3. 安装到 DSH

⚠️ 不要执行 add dsh-sidebar-assistant —— 本插件尚未发布到 npm,那个名字在 npm registry 是 404,会被 pnpm fetch 404 拒绝。dsh plugin add 之后的参数会原样交给 pnpm,必须传「路径」而不是包名。

最省心的一行(推荐):

pnpm run install-plugin

这条 script 内部会 build → dsh plugin --profile web add link:$PWD,把当前 checkout 用 link 语义装到 web profile,再提示你下一步。

或手动指定路径:

在本插件目录下:'.' 即当前目录
npx -p @deepseek-ai/dsh dsh plugin --profile web add .

或者从任意目录用绝对路径(最稳,避免 workspace 误识别)
npx -p @deepseek-ai/dsh dsh plugin --profile web add dsh-sidebar-assistant

等价于在 profile 目录下执行 pnpm add <path>,用 link: 语义把 checkout 软链进 profile 的 node_modules。

注意:插件 package.json 里的 name 是 dsh-sidehelper,所以安装后 profile 的依赖 key 也是 dsh-sidehelper,而不是目录名 dsh-sidebar-assistant。

安装后插件会以 link: 方式记录在 profile 的 package.json 中,源码目录的改动在重新构建后即可生效。

4. 重启 harness

停止旧进程(如有) pkill -9 -f "dsh web" 启动
dsh web

启动后打开 Web 界面,在会话中选中一段文字即可使用。

说明:由于以 link: 安装,改代码后需重新 pnpm run build 并完全重启 harness(仅刷新页面可能不生效)。

使用

1. 打开 DSH Web 聊天界面,进入任意会话。
2. 用鼠标选中一段文字(作为引用)。
3. 浮层面板自动弹出,输入你的问题。
4. 按 Enter 或点击「提问」按钮提交。
5. 面板中:
- 「你的问题」:展示本次问题。
- 「思考过程」:模型思考链(默认折叠,可点击展开)。
- 回答卡片:模型最终回答,流式实时显示。
6. 拖动标题栏移动面板;拖动边框或四角调整大小;点右上角 × 关闭。

配置

插件支持以下可选项(写入 harness 的插件配置):

| 配置项 | 类型 | 默认值 | 说明 |
| enabled | boolean | true | 是否启用插件 |
| provider | string | '' | 指定 LLM Provider(留空则自动探测) |
| model | string | '' | 指定模型(留空则自动探测) |
| systemPrompt | string | '' | 自定义系统提示词(追加到默认提示之上) |
| personaText | string | '' | 自定义人设文本(追加到默认提示之上) |
| persistDir | string | .sidehelper | 问答记录的持久化目录 |
| maxQuotedChars | number | 4000 | 引用文字的最大字符数(超长截断) |
| placeholder | string | 输入你的问题… | 提问框占位文案 |

Provider / Model 留空时,插件会依次尝试:当前活动调用 → harness 默认会话模型(agentDefaultModel)→ 手动配置 → 自动探测首个可用 Provider。

项目结构

dsh-sidebar-assistant/
├── src/
│ ├── index.ts # 插件入口(host 导出) │ ├── host/ │ │ ├── index.ts # 导出 apply/Config 等 │ │ ├── web.ts # 插件主体:SSE 流式 ask、配置探测、持久化 │ │ ├── llm.ts # LLM 流式调用(区分 think/delta) │ │ ├── context.ts # Prompt 组装(会话历史 + 引用 + 问题) │ │ ├── config.ts # 插件 Schema 配置 │ │ ├── persistence.ts# 问答记录持久化 │ │ └── stream.ts # 流式文本累积工具 │ ├── client/ │ │ ├── index.ts # client 侧:注入、选中触发、SSE 拉取 │ │ ├── history-filter.ts # 按引用文字过滤 turn 的纯函数(命中 + 配对) │ │ ├── panel.ts # 浮层面板 UI(拖拽/缩放/流式/思考折叠) │ │ └── selection.ts # 选中文本监听 │ └── types/ │ └── index.ts # 共享类型 ├── lib/ # 构建产物 ├── cordis.patch.yml # bundle patch ├── tsdown.config.ts # client bundle 打包配置 ├── tsconfig.json # host TypeScript 配置 └── tsconfig.client.json # client TypeScript 配置

故障排查

| 现象 | 可能原因 | 处理 |
| 面板没出现 | 未选中所处会话 / 插件未生效 | 确认进入会话并选中文本;重启 harness |
| 一直「生成中…」 | 浏览器或 host 端请求挂起 | host 端已内置 30s LLM 超时、前端 65s 兜底;检查 Provider 网络/凭证 |
| host ask failed: HTTP 500 | Provider 未注册 / 凭证或端点错误 | 检查 .dsh/settings.yaml 的 provider、baseURL 与凭证;参考日志 .sidehelper/ask-error.log |
| 安装报 [ERR_PNPM_FETCH_404] ... dsh-sidebar-assistant | 把目录名当成 npm 包名在 npm registry 找了,本插件尚未发布 | 不要传包名;改用路径:add .(在插件目录下)或 add /abs/path;最稳是一键脚本:pnpm run install-plugin |
| 安装报 workspace declares no dsh.bundle | add . 让 pnpm 把 cwd 当成 workspace root,link 错对象 | 改用绝对路径:add link:/home/fei/workspace/dsh-sidebar-assistant 或 add /home/fei/workspace/dsh-sidebar-assistant;删除误加的 workspace 依赖:dsh plugin --profile web remove workspace |
| 改代码不生效 | link: 安装需重新构建 + 完整重启 | 重新 pnpm run build,并 pkill -9 -f "dsh web" 后重启 |
| 请求 /plugins/.../client.js 失败 | 缓存 / harness 未重启 | 完全重启 harness,浏览器强制刷新 |

协议

遵循 DSH 生态的 MIT 协议(见仓库许可证)。
预览分享卡片长什么样 ↓hufeide/dsh-sidebar-assistant
分享 · DeepSeek Harness Hub
hufeide/dsh-sidebar-assistant

选中网页文字即可引用提问,不污染主对话

这是你的仓库?认领条目

回到顶部