前言¶
系统剪贴板只保留最后一条内容。你在终端里复制了一段日志,接着又复制了一段报错,前一段就没了——对智能体开发者来说,这意味着让 DSH 帮你处理「刚才那个复制过的东西」时,它只能拿到最新的一条。
dsh-clipboard-history 解决的就是这个问题:它在后台监控系统剪贴板,把每一次文本变化记进一个持久化文件,再以工具的形式交给智能体,随时可以按 id 召回。
下面介绍这个插件的功能、安装方式和配置项。
这是什么¶
dsh-clipboard-history 是一个 DeepSeek Harness(DSH)插件,作者是 kuangre123,当前版本 0.1.0,许可证为 MIT。它的定位一句话可以讲完:监控系统剪贴板并保留可召回的多条历史记录。
工作方式分两部分:
1、后台轮询系统剪贴板——macOS 上轮询 pbpaste,Linux 用 xclip,Windows 用 PowerShell——每次检测到文本变化就记录下来。
2、历史写入持久化文件,路径为 $DSH_HOME/clipboard-history.json,跨重启保留。
插件运行在宿主进程中,不需要原生插件就能访问登录用户的粘贴板。
它向智能体暴露的五个工具¶
安装后,智能体会获得以下工具:
| 工具 | 作用 |
|---|---|
clipboard_list |
列出最近历史条目(id、时间、大小、预览) |
clipboard_get |
按 id 召回单条完整文本 |
clipboard_current |
读取当前实时剪贴板内容 |
clipboard_copy |
将文本写入系统剪贴板并记录 |
clipboard_clear |
清除存储的历史(保留实时剪贴板) |
clipboard_list 只返回预览(默认 160 字符),确认目标条目后用 clipboard_get 取完整内容,这是召回一条历史的标准路径。
安装与启用¶
先做环境准备。dsh 插件管理器依赖 pnpm,缺失时通过 corepack 启用:
corepack enable
然后安装插件。安装命令由 README 给出:
# from npm (once published)
dsh plugin --profile web add dsh-clipboard-history
# from a local checkout
dsh plugin --profile web add file:/absolute/path/to/dsh-clipboard-history
需要说明的是,README 中 npm 安装命令标注了 “once published”,该包当前是否已在 npm 上发布无法确认;如果 npm 安装不可用,从本地 checkout 安装是稳妥路径。
dsh plugin 命令会转发到 profile 目录内的 pnpm,并自动整理 dsh.profile.bundles。这个包在 package.json 里声明了:
"dsh": { "bundle": { "patch": "./cordis.patch.yml" } }
因此安装后会自动加入 profile 的 patch 层栈,不需要手动登记。
安装完成后,重启 web 应用让新的宿主插件生效:
dsh web
配置¶
编辑 profile 的 cordis.patch.yml(或 bundle 插入的 config 块),可以调整轮询与存储行为:
- id: clipboard-history
config:
pollIntervalMs: 700 # clipboard poll interval in ms
maxHistory: 200 # max stored entries
maxEntryChars: 50000 # max stored characters per entry
previewChars: 160 # preview length in clipboard_list
historyFile: clipboard-history.json # relative to the DSH home
poll: true # false disables background monitoring
几个默认值的含义:
pollIntervalMs: 700:剪贴板轮询间隔 700 毫秒。maxHistory: 200:最多保留 200 条历史。maxEntryChars: 50000:单条最多存储 50000 字符。historyFile:历史文件名,相对于 DSH home 目录。poll: false时关闭后台监控。
环境要求与依赖¶
- Node >= 18。
- peerDependencies 为
@deepseek-ai/dsh-tools ^0.1.0-rc.6和@deepseek-ai/cordis ^0.4.1之上的^4.0.1(以 package.json 为准:@deepseek-ai/cordis ^4.0.1)。 - macOS 是主要目标平台;Linux 需要安装
xclip,Windows 使用 PowerShell。
适用场景与注意¶
适合的场景:经常在终端和编辑器之间搬运文本、希望智能体能拿到「之前复制过」的内容、或者需要把会话中的文本写回剪贴板继续手工操作。
使用前有几点要知道:
1、只支持文本。图片和文件剪贴板会被忽略,读取为空文本。
2、插件以当前 dsh 进程的权限运行,可以直接访问登录用户的粘贴板。这意味着它能读到你在系统里复制的所有文本——安装任何第三方插件前,都应先检查源码和许可证。这个插件是 MIT 许可,源码在 GitHub 上可查。
3、历史有上限约束:默认 200 条、单条 50000 字符,超过后按配置裁剪,重要内容建议及时用 clipboard_get 取出。
结尾¶
dsh-clipboard-history 做的事很小但很实:把一次性剪贴板变成可召回的历史,让 DSH 智能体能拿到「之前复制过」的内容。如果你在 macOS 上日常使用 DSH,值得一试。
- 社区插件目录页:https://www.skillhub.cn/plugins/kuangre123/dsh-clipboard-history(该目录为独立社区站点,与 DeepSeek / 幻方无官方从属关系)
- GitHub 仓库:https://github.com/kuangre123/dsh-clipboard-history