中文EN

@alexpeng/dsh-custom-plugin

ui已测通过npmApache-2.0

DSH Web GUI 便利套件,提供外观控制、时间线导航、项目文件夹、提示词、会话导出、Mermaid 渲染、引用回复,以及 DeepSeek 余额和每日 token 用量。

下载量 / Downloads
2,737
依赖体积 / node_modules
133.76 MB
测试时间 / Tested
2026-11-06
DSH 版本 / Version
0.2.2-rc.1

安装

dsh plugin --profile web add @alexpeng/dsh-custom-plugin

沙箱测试结果

阶段结果
1 安装✓
2 列装✓
3 挂载✓
4 启动—

四阶段在隔离沙箱里跑:安装(有网)→ 列装 → 挂载 → 启动(后三步断网)。

README

dsh-custom-plugin

![npm version](https://www.npmjs.com/package/@alexpeng/dsh-custom-plugin)

![license](LICENSE)

![Node](#安装)

![TypeScript](https://www.typescriptlang.org)

![CI](https://github.com/AlexPeng07/dsh-custom-plugin/actions/workflows/ci.yml)

![Awesome DSH Plugin](https://awesome-dsh-plugin.com)

<p align="center">

<img src="https://www.npm.bet/svg?q=%40alexpeng%2Fdsh-custom-plugin&amp;timeRange=last-month&amp;grouping=day&amp;metric=downloads&amp;zeroMode=estimated" alt="npm 下载趋势(近一个月)" width="560">

</p>

[English](README.md) | 中文

DeepSeek Harness(DSH)Web GUI 的 Custom 便利套件:个性化外观、天气特效、玻璃效果、项目文件夹、增强提示词库、会话导出与会话搜索、Mermaid 渲染、引用回复、7/30/90 天用量分析、预算与无密钥本地备份,以及 Ctrl/Cmd+K 快捷面板。

插件为双半区架构:宿主半区(src/)持有状态文档、注册 /api/custom-plugin 路由与 custom_plugin_status 智能体工具;浏览器半区(src/client/)通过 7 个官方 slot 的 8 处注入挂载 UI,以同源 fetch 与宿主通信。经官方 profile 机制挂载,不改 DSH 源码。

<p align="center">

<img src="https://github.com/AlexPeng07/dsh-custom-plugin/raw/main/docs/overview.png" alt="dsh-custom-plugin 总览" width="100%">

</p>

部分界面展示

<table>

<tr>

<td width="50%" valign="top"><b>「设置 → 个性化」整页外观配置</b><br><img src="https://github.com/AlexPeng07/dsh-custom-plugin/raw/main/docs/settings-appearance.png" alt="设置 → 个性化 整页外观配置" width="100%"></td>

<td width="50%" valign="top"><b>会话头部弹出的同一套面板(浅色主题)</b><br><img src="https://github.com/AlexPeng07/dsh-custom-plugin/raw/main/docs/personalization-panel.png" alt="个性化弹窗面板" width="100%"></td>

</tr>

<tr>

<td width="50%" valign="top"><b>液态玻璃(Custom 面板位移折射)</b><br><img src="https://github.com/AlexPeng07/dsh-custom-plugin/raw/main/docs/liquid-glass.png" alt="液态玻璃" width="100%"></td>

<td width="50%" valign="top"><b>多级项目文件夹</b><br><img src="https://github.com/AlexPeng07/dsh-custom-plugin/raw/main/docs/project-folders.png" alt="项目文件夹" width="100%"></td>

</tr>

<tr>

<td width="50%" valign="top"><b>Mermaid 思维导图就地渲染</b><br><img src="https://github.com/AlexPeng07/dsh-custom-plugin/raw/main/docs/mermaid-mindmap.png" alt="Mermaid 思维导图" width="100%"></td>

<td width="50%" valign="top" align="center"><b>余额与今日分模型用量</b><br><img src="https://github.com/AlexPeng07/dsh-custom-plugin/raw/main/docs/balance-usage.png" alt="余额与用量面板" width="100%"></td>

</tr>

<tr>

<td width="50%" valign="top" align="center"><b>雨(三层景深)</b><br><img src="https://github.com/AlexPeng07/dsh-custom-plugin/raw/main/docs/weather-rain.gif" alt="下雨特效" width="100%"></td>

<td width="50%" valign="top" align="center"><b>樱花</b><br><img src="https://github.com/AlexPeng07/dsh-custom-plugin/raw/main/docs/weather-sakura.gif" alt="樱花特效" width="100%"></td>

</tr>

<tr>

<td width="50%" valign="top" align="center"><b>飘雪</b><br><img src="https://github.com/AlexPeng07/dsh-custom-plugin/raw/main/docs/weather-snow.gif" alt="飘雪特效" width="100%"></td>

</tr>

</table>

天气特效截自深色模式。额度历史、备份导入预览、会话搜索与快捷面板属于同一套动态面板,需在 DSH 内打开对应页查看;仓库未另附固定截图。

功能

外观个性化

  • 背景颜色:20 组低饱和典雅色(每组合配 tab 栏色,默认「天青灰」),另有「无颜色」(跟随 GUI 默认主题)。深浅色模式均可选用;深色模式自动派生同色系的深色变体(保留色相与低饱和,落到深色明度档),色板预览即当前模式的实际效果。
  • 天气特效:画布渲染、不挡交互,一键切换——飘雪、电影感雨滴(三层景深 + 地面溅起)、樱花飘落;关闭时自动清空画布。
  • 玻璃效果:所有 Custom 面板默认毛玻璃;可切换液态玻璃(边缘位移折射 + 轻微模糊提饱和,大面积面板中部文字仍清晰;不支持 SVG 位移滤镜的引擎自动回退毛玻璃)。「全局浮层玻璃」对弹窗、菜单、提示框、下拉框与系统设置窗统一加玻璃质感,液态模式下浮层同样位移折射。

项目文件夹

多级文件夹树,保存在 $DSH_HOME 状态文件中,跨工作区共享。任意工作区与会话都可收纳进文件夹;支持拖拽排序(插入前 / 内部 / 插入后)、重命名、删除与「添加当前会话」。

提示词库

提示词支持新增、编辑、复制、删除、搜索、收藏、标签和拖拽排序,并记录最近使用与使用次数。正文可使用 {{变量名}};插入前会弹出变量表单。提示词库可用版本化 JSON 或以二级标题分段的 Markdown 导入导出。

会话导出

导出当前会话为三种格式(文件名带日期戳):

  • JSON:标准 messages 结构(user / assistant / tool),meta 携带会话标题、创建时间、工作目录与导出时间,可导入其他工具;
  • Markdown:按角色分块的纯文本;
  • PDF:A4 打印版式 HTML,浏览器打开后打印另存为 PDF;图片以 base64 内嵌(最多 30 张、总量 12 MB、单张 ≤ 4 MB)。

工具调用行携带工具名与参数摘要(从配对的 tool/call 事件解析)。

插件状态可导出为版本化 JSON 备份,包含外观、文件夹、提示词、星标、用量和预算,不包含 API Key 或凭据元数据。导入前显示冲突预览,支持合并或覆盖非敏感状态,并自动保留恢复副本。

Mermaid 渲染

聊天中的 ``mermaid 代码块(含助手回复,思维导图 / 流程图 / 时序图等)自动就地渲染为图表:代码块上方出现「图表 / 代码」切换工具条与 mermaid.live 兜底链接,流式输出期间内容完整后即预览,跟随 GUI 明暗主题重绘,渲染失败时保留原代码。检测依据代码块语言标签;无标签(流式中)时按内容启发式判断(关键字前缀 + 完整度检查,语言明确的代码块不会误触)。引擎优先读取随插件安装的本地 Mermaid 11 依赖(离线可用),缺失时回退 jsdelivr / fastly / unpkg 三镜像拉取并在宿主进程内缓存;用户消息下方的渲染按钮与模态窗口(多图切换)保持不变,mermaid.live 链接为 DEFLATE 压缩的 #pako:` 格式,打开即还原图表。

效率工具

  • 引用回复:选中对话文本后出现「引用回复」按钮,以引用块插入输入框;
  • 防自动跳转:强制 scroll-behavior: auto,发送消息不再把视图拽到底部(默认关闭);
  • 公式复制:含公式的消息下方显示 LaTeX / MathML 复制按钮(MathML 可直接粘贴进 Word);
  • 批量归档:勾选多个会话批量归档,运行中会话默认不可选,并分别报告成功与失败数量;DSH 尚未公开恢复接口,插件不提供恢复入口。
  • 会话搜索:搜索当前会话的用户、助手和工具内容,点击结果跳转到所属轮次;部署开启了 dsh 事件索引时走索引,否则直接扫描同一份会话日志,面板会说明本次用的是哪条路径。
  • 快捷面板:在非编辑状态按 Ctrl+K / Cmd+K,统一搜索会话、工作区、提示词和常用功能;跨会话全文搜索使用 dsh 官方接口,不可用时如实提示原因。
  • 可靠归档:运行中的会话默认不可选,批量操作分别报告成功与失败数量。

额度与用量

会话头部常驻用量徽标(可点击固定):配置了 API Key 时显示官方余额,未配置时显示本机费用估算(如 ≈¥0.42)与今日调用次数。面板提供:

  • 用量与费用(默认区,无 Key 可用):今日/历史用量、预算与费用估算全部来自本机会话记录,不需要任何密钥。
  • 余额查询(可折叠可选项,需要 API Key):调用官方 https://api.deepseek.com/user/balance 接口,优先显示 CNY,赠送与充值余额分列,并显示账户可用状态;未配置 Key 时该区收起、不显示任何报错。宿主外呼走本机直连(不读系统代理);若本机代理/安全软件间歇性对 HTTPS 做 TLS 解密,查询会以「TLS 证书校验失败」等可读原因失败并自动重试(8s/30s/30s,60 秒轮询兜底),顶栏悬停可见原因。
  • Key 解析顺序:系统凭据存储(可用时)→ 插件旧状态文件中的 Key → 环境变量 DEEPSEEK_API_KEY / DEEPSEEK_KEY / DEEPSEEK_TOKEN(取值需以 sk- 开头)→ DSH 凭据文件 $DSH_HOME/.credentials.yaml(自动复用 DSH 已配置的 DeepSeek key,无需重复填写)。桌面版账号登录没有 sk- 密钥,属正常状态。
  • 今日用量:按模型统计输入 / 输出 / 缓存 token 与调用次数,实时折叠自 session/event 事件。
  • 费用估算:按 DeepSeek 当前官方峰谷价目估算(2026-09-30 核对)——高峰为北京时间周一至周五 9–12、14–18 时;其余时间(含周末)均为空闲时段,按半价计:deepseek-flash(旧名 deepseek-v4-flash / `deepseek-v4-flash-vision

…(truncated)

以上内容来自 npm 上的 README,我们只做格式化,不改内容。

版本

npm 上共发布:19,最后更新 2026-10-27

链接

GitHub · Homepage · npm

同类插件