DSH Hub

chenproton/dsh-history

dsh-history

UIWeb UI6 GitHub stars· updated 2026-08-18

Quickly view, search, and jump to all the messages you sent in a long conversation.

Install

npx @deepseek-ai/dsh plugin --profile web add dsh-history@latest

Restart `dsh web` after install. Bundle APIs can change during the developer preview.

README badge

dsh-history DSH Hub badge
[![DSH Hub](https://dshhub.dev/badge/dsh-history.svg)](https://dshhub.dev/plugins/dsh-history)

Paste this into your README. The star count updates with every catalog sync.

From the README

Excerpt from chenproton/dsh-history, cleaned of badges and images.

dsh-history

DSH web 插件:在超长会话里快速查看、搜索并跳转到所有"你发送"的消息

English | 中文

功能介绍

  • 完整历史:列出当前会话中全部你发送的消息,包括尚未加载进对话窗口的旧页、被 compaction 覆盖的历史。
  • 一键定位:点击消息 → 全自动定位(未加载则自动加载更早历史,页面未渲染则自动等待,就绪后平滑滚动 + 闪烁高亮并关闭面板)。
  • 排序切换:默认最新在前,工具栏一键切换"最新在前 / 最早在前"。
  • 搜索过滤:按消息文本实时过滤。
  • 一键复制:每行复制按钮,一键复制完整消息文本。
  • 快速启动:进入会话即后台预取完整列表,打开面板秒开;Host 侧带缓存。

🚀 安装

前置:已装好 DSH(dsh web 能正常运行)。

# 1. 安装插件
dsh plugin --profile web add dsh-history@latest

# 2. 自动重启服务生效(脚本随插件一起安装,无需下载)
bash ~/.dsh/profiles/web/node_modules/dsh-history/restart-dsh-web.sh

装完每个会话输入框上方自动出现 "我的消息 (N)",无需手动操作。


常见问题

<b>如何更新插件?</b>

dsh plugin --profile web update dsh-history
# 或直接装最新版
dsh plugin --profile web add dsh-history@latest

改完运行 bash ~/.dsh/profiles/web/node_modules/dsh-history/restart-dsh-web.sh(或硬刷新浏览器)即可。

<b>如何从 GitHub 直接安装(不经过 npm)?</b>

dsh plugin --profile web add github:chenproton/dsh-history#main
# 或完整 URL 形式
dsh plugin --profile web add https://github.com/chenproton/dsh-history.git#main

装完后同样运行 bash ~/.dsh/profiles/web/node_modules/dsh-history/restart-dsh-web.sh。此方式直接使用仓库已提交的构建产物,无需本地构建。

<b>如何从源码安装 / 开发调试?</b>

调试本地改动或跟随开发分支时,把依赖指向本地克隆并自行构建:

# 1. 克隆并构建
git clone https://github.com/chenproton/dsh-history.git ~/Code/dsh-history
cd ~/Code/dsh-history && pnpm install && pnpm build

# 2. 把依赖指向本地克隆
#    编辑 ~/.dsh/profiles/web/package.json 的 dependencies:
#    "dsh-history": "link:<克隆目录绝对路径>"

# 3. 追加挂载行到 ~/.dsh/profiles/web/cordis.patch.yml:
#    - insert:
#        - id: dsh-history
#          name: 'dsh-history'

# 4. 在 profile 目录安装
cd ~/.dsh/profiles/web && pnpm install

# 5. 重启生效(脚本在克隆目录里)
bash ~/Code/dsh-history/restart-dsh-web.sh

更新git pull && pnpm install && pnpm buildbash ~/Code/dsh-history/restart-dsh-web.sh

切回 npm 通道:把依赖改回 "dsh-history": "^0.1.13"pnpm install,并移除手动挂载行(避免双挂载)。

<b>如何通过 plugin-registry 安装?</b>

前置:DSH 已集成 plugin-registry(dsh registry 命令可用)。同时启用两个通道会双挂载(Node 半挂两次、页面两个面板)。

git clone https://github.com/chenproton/dsh-history.git && cd dsh-history
pnpm install && pnpm build
node scripts/package-registry.mjs      # 组装 registry/ 暂存(含清单 + 产物 + README,不入库)
dsh registry install ./registry        # 安装(默认禁用)
dsh registry enable dsh-external/dsh-history
bash restart-dsh-web.sh                # 自动重启生效

更新git pull && pnpm install && pnpm buildnode scripts/package-registry.mjsdsh registry uninstall/install/enablebash restart-dsh-web.sh。切换通道前先移除另一通道的挂载。

<b>restart-dsh-web.sh 是什么?报 "No such file or directory"?</b>

它是随插件一起分发的一键重启脚本:自动探测部署方式并重启 DSH Web 让插件生效——

  • 本机由 systemd 管理(dsh-web.service)→ 自动走 systemctl restart(干净单实例);
  • 否则自动发现运行中的 dsh web 进程,读取原始启动参数原样重启(nohup);
  • 找不到进程时直接用 dsh web 启动。

No such file or directory 是因为脚本不在当前 shell 目录——请用完整路径,或先拷贝到当前目录:

# 直接用包内脚本(完整路径,任意目录可执行)
bash ~/.dsh/profiles/web/node_modules/dsh-history/restart-dsh-web.sh

# 或拷贝到当前目录后运行
cp ~/.dsh/profiles/web/node_modules/dsh-history/restart-dsh-web.sh ~/restart-dsh-web.sh
bash ~/restart-dsh-web.sh

# 或未装包时从仓库下载
curl -O https://raw.githubusercontent.com/chenproton/dsh-history/main/restart-dsh-web.sh
bash restart-dsh-web.sh

参数:-n 预览将执行的命令(dry-run)、-p PID 指定进程、-l 文件 指定日志。

<b>安装时出现 "✕ missing peer" 警告?</b>

可安全忽略。DSH 运行时通过自身 module table 提供 @deepseek-ai/* 与 react 等依赖,无需在 profile 中重复安装(官方插件同样如此)。

<b>装完看不到 "我的消息"?</b>

Related plugins