Bundle
dsh-summary-sidebar
独立的「摘要 + 侧边栏」插件:摘要只列每个对话输出的文档/网页/图片与来源,侧边栏提供文件夹、终端、浏览器、文档阅读器、图片阅读器,可点击文件进行预览与编辑。
- Source
- az790871109
- stars
- 1 stars
- License
- MIT
- Updated
- Updated 13 days ago
Readme
# dsh-summary-sidebar
**DeepSeek Harness Web 的「摘要 + 侧边栏」插件(完全独立、可单独部署)**
一个可直接通过 GitHub 安装到 DeepSeek Harness(`dsh`)`web` profile 的客户端插件。
它把「摘要」与「侧边栏」打包为单一功能,界面风格与既有的 Codex 风格一致(中性黑 + 单点钢蓝),
全部通过 Harness 的 `--dsw-*` 设计 token 上色,自动适配浅色 / 深色,并且**不依赖**任何其它已安装插件。
---
## 功能特性
### 摘要(会话头部「摘要」按钮)
- 点击会话头部右上角的「**摘要**」按钮,在按钮下方弹出紧凑悬浮框。
- **输出内容**:只汇总当前对话输出的 **文档 / 网页 / 图片**(来自 `write` / `edit` /
`str_replace_editor` 等工具产生的文件,按扩展名归类)。推导 / 叙述文本**不输出**。
- **来源**:汇总当前对话中读取的文件与链接(`read` / `glob` 工具、`web_fetch` / `web_search` 结果中的 URL)。
- 每个条目都可点击:
- 点「文件」→ 打开侧边栏,并用对应工具预览 / 编辑该文件;
- 点「链接」→ 打开侧边栏「浏览器」加载该网址;
- 点「图片」→ 打开侧边栏「图片阅读器」。
### 侧边栏(会话头部「侧边栏」按钮)
右侧抽屉面板,包含五个标签:
| 标签 | 功能 |
|---|---|
| 文件夹 | 工作区文件树:浏览 / 打开 / 新建文件 / 新建文件夹 / 重命名 / 删除 |
| 终端 | 独立 PTY 终端(node-pty),支持输入命令、Ctrl+C、清空、重启 |
| 浏览器 | 地址栏 + iframe 预览:工作区 HTML 或外部网址(含 iframe 内嵌检测) |
| 文档阅读器 | 打开文本文件进行阅读与编辑(保存回工作区) |
| 图片阅读器 | 查看工作区图片(png / jpg / gif / webp / svg 等) |
点击对话摘要或文件夹里的文件时,侧边栏会自动切换到对应工具打开它:
- 图片 → 图片阅读器;HTML → 浏览器;文本 / 代码 → 文档阅读器。
**页面自适应**:侧边栏打开时,通过 Harness 右侧 `details` 列预留 360px,对话框自动左移让位,
侧边栏贴合预留区,**不遮挡对话内容**。
---
## 安装(任意 Harness)
### 前置条件
- 已安装 DeepSeek Harness(`dsh`),并使用 `web` profile(`dsh web`)。
- 本机已安装 `node-pty`(终端依赖;Harness 的部署目录或 `$DSH_HOME/profiles/node_modules`
中已有即可,无则 `pnpm add node-pty`)。
### 方式一:通过 GitHub 安装(推荐)
```sh
dsh plugin --profile web add github:az790871109/dsh-summary-sidebar
```
然后在 `$DSH_HOME/profiles/web/cordis.patch.yml` 中追加:
```yaml
- insert:
- id: summary-sidebar
name: dsh-summary-sidebar
```
### 方式二:本地安装
```sh
dsh plugin --profile web add file:/path/to/dsh-summary-sidebar
# 或直接复制到 node_modules
cp -R /path/to/dsh-summary-sidebar "$DSH_HOME/profiles/web/node_modules/dsh-summary-sidebar"
```
重启 web profile 并硬刷新浏览器:
```sh
dsh web
```
### 卸载
```sh
dsh plugin --profile web remove dsh-summary-sidebar
# 或:删除 cordis.patch.yml 中的 insert 条目与 node_modules/dsh-summary-sidebar 目录
```
---
## 版本与迭代
- 当前版本:**0.4.0**
- 迭代记录见 [`CHANGELOG.md`](./CHANGELOG.md)
- 技能说明见 [`SKILL.md`](./SKILL.md)(`ds-sidebar`)
## 包结构与说明
```
dsh-summary-sidebar/
├── package.json # 包声明:dsh.bundle.patch + dsh.client(web)
├── cordis.patch.yml # bundle 补丁:向 web 组合插入插件条目
├── lib/
│ ├── index.js # 宿主端:/sbs 文件 / 终端 / 帧检测 HTTP API
│ └── client.js # 浏览器端:摘要 + 侧边栏 UI(无构建步骤,直接加载)
├── CHANGELOG.md # 版本迭代记录
├── SKILL.md # ds-sidebar 技能文件
├── LICENSE # MIT
└── README.md # 本文档
```
- 宿主端注册 `/sbs` JSON API(文件列表 / 读写 / 新建 / 重命名 / 删除、终端流、
`/sbs/frame-check` 帧检测),**不注册**模型侧工具。
- 浏览器端 `client.js` 为手写的 `window.__ModuleLoader__.load` 模块,无需打包器即可部署。
## 已知限制
- 摘要的「来源」来自当前会话的工具调用与结果文本;`bash` 等命令中的文件路径仅做保守提取。
- 外部网址预览受站点自身 `X-Frame-Options` / CSP 限制(已做检测与「新标签页打开」处理)。
- 终端 / 文件 / 浏览器依赖宿主端 `/sbs` API,请确保安装在 `web` profile。
## License
MIT
Install
dsh plugin --profile web add github:az790871109/dsh-summary-sidebar
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-summary-sidebar from the hub
- This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.