Skip to content
dsh.fish
Bundle

dsh-history-mirror-plugin

A DeepSeek Harness client plugin that mirrors the current conversation into an independently scrollable details panel.

Source
xiaoyanjin15-ux
stars
1 stars
License
MIT
Updated
Updated 13 days ago

Readme

# dsh-history-mirror-plugin

DeepSeek Harness Web 客户端插件:在会话标题栏添加“历史”按钮,将当前会话内容镜像到右侧详情栏,并提供独立滚动位置。

> DeepSeek Harness Web plugin that mirrors the current conversation into a scrollable right-side history panel.

![DSH History Mirror 三栏效果图](./assets/history-mirror-preview.png)

**核心体验:** 中间会话保持在最新消息和输入框,右侧历史镜像可以独立向上滚动;回看上文后,无需再把主会话滚回底部。

## 交互

- 中间会话保持当前输入和滚动位置。
- 右侧复用中间会话已经渲染的 DOM 和原生样式,因此代码块、工具调用、图片等保持原来的外观。
- 新消息和流式输出会同步到右侧。
- 右侧滚动不会带动中间会话。
- 点击右侧历史中的 HTTP/HTTPS 链接会切换到“网页”标签。

## 安全设计

- 不读取或上传 API Key、Cookie、Local Storage、Session Storage 或环境变量。
- 不访问本地文件系统,不执行系统命令,不创建后台服务。
- 不调用 `fetch`、XHR、WebSocket 或遥测接口。
- 会话镜像只存在于当前浏览器页面内;同步时会移除脚本、iframe、表单、object、embed、meta、link 和 base 元素。
- 只接受 `http://` 与 `https://` 网页链接。网页预览使用无 `allow-same-origin`、无顶层导航权限的沙箱 iframe,并使用 `no-referrer`。

## 安装

### 从 GitHub 安装

```bat
npx @deepseek-ai/dsh plugin --profile web add github:xiaoyanjin15-ux/dsh-history-mirror-plugin
npx @deepseek-ai/dsh web
```

### 从本地源码安装

先停止正在运行的 DSH Web,再在本目录的上一级执行:

```bat
npx @deepseek-ai/dsh plugin --profile web add file:./dsh-history-mirror-plugin
npx @deepseek-ai/dsh web
```

浏览器刷新后,打开任意非空会话,点击会话标题栏右侧的“历史”。

## 当前边界

- 右侧复制的是浏览器当前已加载的会话窗口;尚未由 Harness 加载的更早记录不会凭空出现。
- 部分网站禁止 iframe 嵌入或无法在受限沙箱中运行,网页标签可能显示网站自身的拒绝页面。
- 插件接管当前版本的 `details` 单槽位;启用时,原生工具详情面板会被历史面板替代。禁用或移除本插件即可恢复原生工具详情。

## 开发检查

```bat
npm run check
```

Install

dsh plugin --profile web add github:xiaoyanjin15-ux/dsh-history-mirror-plugin

Profile: web

  • This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.
Source