dsh-loupe:轻量划词解释插件

在 DSH 环境中调试或阅读长对话时,经常需要针对某个术语或代码片段进行快速解释,同时不希望占用主会话的上下文。传统的侧边栏 fork 会消耗大量 token,而手动复制粘贴效率较低。dsh-loupe 提供了一个基于浮窗的轻量解释方案。

插件定位

dsh-loupe 是一个由 Rice00 维护的客户端插件。它不创建新会话,不注册工具,仅通过选中文字唤起浮窗,提供解释、追问和保存功能。

核心能力

能力 说明
划词即弹 选中正文任意文字,选区下方浮出“解释 / 设置”两个入口。
浮窗回答 单实例浮窗,支持流式 markdown、可拖拽和位置记忆。
不建会话 只发一次模型请求,不写会话日志,左侧列表不会变脏。
自带上下文 使用插件独立的 context.md(上限 2200 字符),不拖动 agent 的全量上下文。
自动累积 将“选中什么 → 得出什么”沉淀回 context.md,同一词多次询问更精准。
全量留档 所有问答记录保存在 history.jsonl,支持搜索、分页和复原。
可存成正式会话 支持将解释内容保存为左侧列表中的正式会话。
中英双语 界面与提示词支持中英文切换。
推理可折叠 模型推理过程默认收起。
跟随主题 浮窗界面跟随宿主深浅主题。
零配置 借用宿主的 llm 服务,无需填写 API Key。

安装与启用

使用官方安装命令添加插件:

dsh plugin --profile <profile> add dsh-loupe

注意:若修改本地代码后生效,需要重启该 profile。

典型用法

  1. 在对话正文中选中一段文字,选区下方会出现浮层。
  2. 点击“解释”,浮窗直接提交请求,无需再按发送键。
  3. 浮窗底部会显示耗时统计(如首字 544ms)。
  4. 点击“保存”,可将该解释存为左侧列表中的正式会话。
  5. 在设置页的“历史”中,可按关键词搜索并复原对话。

技术细节与限制

  • 数据存储:问答数据保存在 ~/.dsh/loupe/ 目录下(若存在 DSH_HOME 则跟随该目录),包括 context.md 和 history.jsonl。
  • 上下文上限:context.md 注入长度上限为 2200 字符。
  • 推理档:默认为 off。实测 off 首字响应约 544ms,low 约为 2806ms。
  • 玻璃质感:需要浏览器支持 CSS color-mix,不支持时会自动退回实底。
  • 接口:宿端提供 /plugins/dsh-loupe/explain 等路由,用于诊断和能力探测。

生态背景

DSH 理念是“一切皆插件”。dsh-loupe 代码结构清晰,宿端仅依赖 Node 内置模块(fs、os、path、crypto),零第三方依赖。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜