# dsh-composer-rewind 中文文档

规范地址：https://npmcn.com/package/dsh-composer-rewind/

版本：2\.3\.0
npm 元数据更新时间：2026-11-03T11:47:41.818Z
中文译文更新时间：2026-11-03T13:56:33.769Z
软件包许可：未声明

本文由上游 README 机器翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/dsh-composer-rewind
原文对照：https://npmcn.com/package/dsh-composer-rewind/?lang=original
项目主页：https://github.com/QIUZAIYOU/dsh-composer-rewind#readme
源码仓库：https://github.com/QIUZAIYOU/dsh-composer-rewind

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：161 kB，8 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- 运行依赖：0 个
- 首次发布：2026-10-27T08:23:35.144Z
- 最新版本发布：2026-11-03T11:47:41.683Z
- 已发布版本数：9（近 12 个月 9 个）

## 中文简介

DeepSeek Harness Web UI的每会话编写器输入历史：记录编写器内容，附件，命令令牌和活动DSH设置，恢复整个编写器状态，并从设置页面管理每个会话的历史。

## 安装

```sh
npm install dsh-composer-rewind
```

也可以使用：`pnpm add dsh-composer-rewind`、`yarn add dsh-composer-rewind`、`bun add dsh-composer-rewind`

## README

# Composer Rewind · 输入框历史

Composer Rewind 是 DeepSeek Harness Web UI 的输入框状态历史插件。它在你输入时静默保存整个输入框——文字、图片和文件附件、@ 引用、/ 指令——以及当时的模型、思考程度、权限预设和使用模式；需要时一键还原成记录时的完整输入框。

所有数据只保存在本机浏览器，不上传、不写日志、不进会话记录。

## 兼容性

-   当前适配 **DeepSeek Harness 0.2.1-rc.3**（客户端插件协议：`window.__ModuleLoader__` + Cordis 4 服务）。
-   0.2.x 的服务访问、插槽注册、`inputActions.setDraft`、`conversation.createDrafts`、`remote.agentPresets.select`、`/permission` 指令均按该版本校验通过。
-   设置还原改用 0.2.x 的写入路径：模型走 `remote.session.selectModel`，空白会话判定走 `session.getSnapshot().blank`，不再依赖已移除的 `sessions.selectModel` 与 `session.projectionValues`（旧版本仍保留回退分支）。

## 功能

-   **完整记录**：输入框里的文字、图片和文件附件、@ 引用、/ 指令，以及当时的 DSH 配置。
-   **完整恢复**：把一条历史还原成记录时的输入框，包括附件缩略图、引用与指令。
-   **按会话归档**：历史跟着会话走，面板和 `Ctrl+Alt+Z` 只显示当前会话的记录，切换会话自动切换视图。
-   **独立管理页**：在 Harness 设置的“输入框历史”里按会话浏览、删除、清空或导出全部记录。
-   **不打断输入**：停顿约 450ms 才写入一次，连续打字只更新同一条草稿，不会堆出逐字记录。
-   **快速找回**：搜索、方向键选择、回车还原；`Ctrl+Alt+Z` 连续回溯更早的输入内容。
-   **原生外观**：复用 Harness 加号菜单的浮层外壳与主题 token，自动适配深色和浅色模式。

## 记录内容

| 内容 | 说明 |
| --- | --- |
| 输入框文字 | 输入框中的完整文本 |
| 附件 | 图片缩略图、文件条目；附件字节单独缓存，恢复时重新挂回输入框 |
| @ 引用 | 文件引用及其在输入内容中的位置 |
| / 指令 | 输入框中的命令 token |
| DSH 配置 | 模型、思考程度、权限预设、使用模式（标准 / 精简 / PTC / 创造） |

## 记录时机

-   停止输入约 **450ms** 后更新“当前草稿”；它始终只有一条，原地覆盖。
-   **发送、清空输入框、切换会话、关闭或刷新页面**时，当前草稿进入历史。
-   10 分钟内同一草稿的前缀修改、回退会合并为一条，保留更完整的版本。
-   再次发送正文和附件都相同的记录时，不新增条目，而是把原条目刷新到列表最前面；附件按文件名、类型、字节大小和修改时间判断是否同一文件。
-   去空白后少于 3 个字符、且没有附件的内容会被忽略。
-   最多保留 **300 条**，超出后丢弃最旧的一条。
-   写入是合并的：连续打字只在停顿后落盘一次，发送、切换会话、关闭页面前会立即落盘，不会每敲几个字就重写整份历史。

## 使用

点击输入框左侧工具栏的时钟按钮打开历史面板。面板只显示**当前会话**的记录。

-   顶部搜索框可按文字、附件名或配置筛选。
-   记录按“当前草稿 / 今天 / 昨天 / 更早”分组。
-   `↑` / `↓` 选择，`Enter` 还原，`Esc` 关闭。
-   鼠标悬停可查看完整文字、附件与当时的配置；悬浮卡会自动避开屏幕边缘。
-   每条历史记录支持还原、复制、删除；“清空”会删除全部历史与附件缓存。
-   在输入框中按 `Ctrl+Alt+Z` 可直接回溯插入当前会话的上一条，连续按下继续往前。

还原只写入输入框，**不会自动发送**，可以继续修改后再提交。

## 设置页

Harness 设置中新增“输入框历史”页面，用于跨会话管理记录：

-   顶部显示会话数、记录数、附件数与本插件占用的浏览器存储。
-   记录按会话分组，标出当前会话；每组可单独清空，也可逐条删除。
-   可一键清空全部记录，或导出 JSON。导出只含文字与元数据，不包含附件文件。
-   设置页不提供“还原”，需要还原时回到对应会话，用输入框左侧的历史面板。

## 恢复范围

还原一条记录时，插件按以下顺序恢复：

1.  使用模式、模型与思考程度、权限预设。
2.  附件：从本地缓存重建并重新上传到当前会话。
3.  正文、@ 引用与 / 指令。

使用模式只能在空白会话中切换；当前会话已经开始对话时，该配置会跳过并提示，其余内容仍会正常恢复。

## 数据与隐私

| 存储 | 键 | 内容 |
| --- | --- | --- |
| `localStorage` | `dsh-composer-rewind:v3` | 历史条目（正文、引用、指令、配置、附件元数据） |
| `localStorage` | `dsh-composer-rewind:live:v3` | 当前草稿快照 |
| `IndexedDB` | `dsh-prompt-vault` / `blobs` | 附件字节（沿用旧库名，保证已记录附件仍可恢复） |

-   数据只存在当前浏览器配置中，按 Web GUI 的 origin 隔离；换端口或换浏览器不会共享。
-   清空历史会同时清理不再被引用的附件缓存。
-   旧版 `dsh-prompt-vault:v1` / `:v2` / `:v3` 的数据会在首次加载时自动迁移。

## 安装

从 npm 安装到当前 Harness profile：

```bash
dsh plugin add dsh-composer-rewind
```

本地开发时也可以直接安装目录：

```bash
dsh plugin add <本目录绝对路径>
```

安装后刷新 Web GUI 页面，输入框左侧会出现回溯按钮。

## 已知限制

-   使用模式（agent preset）只能在空白会话中切换。
-   单个附件超过 32MB 时只记录元数据，不缓存字节，恢复时会标记为内容缺失。
-   浏览器存储配额不足时，部分附件可能只保留元数据；文字历史写不进去时会丢弃最旧的四分之一并提示一次，而不是静默停止保存。
-   附件预览图最多同时缓存 48 张，超出后按使用顺序回收。
-   只监听 Harness 的输入框，不记录页面中的其它输入框。
-   每条记录最多保留 20 个附件。

## 常见问题

### dsh-composer-rewind 是什么？

DeepSeek Harness Web UI的每会话编写器输入历史：记录编写器内容，附件，命令令牌和活动DSH设置，恢复整个编写器状态，并从设置页面管理每个会话的历史。

### 如何安装 dsh-composer-rewind？

在项目目录运行 npm install dsh-composer-rewind，或使用 pnpm add / yarn add / bun add。

### dsh-composer-rewind 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/dsh-composer-rewind 是否存在。

### dsh-composer-rewind 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### dsh-composer-rewind 可以商用吗？

dsh-composer-rewind 使用 未声明 许可。package\.json 没有声明许可证。没有许可证的代码默认保留全部权利，商用前请联系作者或查看仓库中的 LICENSE 文件。以上为概括，不构成法律意见，请以许可原文为准。

### dsh-composer-rewind 还在维护吗？

最新版本 2\.3\.0 发布于 2026/11/03（今天）；至今共发布 9 个版本，其中过去 12 个月发布了 9 个；首次发布于 2026/10/27。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

