该插件专为 DeepSeek Harness (dsh) 设计,属于其插件生态的一部分。dsh 是一个 AI 编程助手,用户在与 AI 对话时经常需要粘贴大段代码、日志或文档。这个插件的核心价值在于:防止长文本在聊天界面中造成混乱,同时避免因文本过长而导致的 token 浪费(尤其是大段的报错日志,通过 API 传输成本极高)。它通过一种“附件化”的方式,解决了 AI 编程场景中长文本输入的管理痛点。
点击空白处退出提示
语言技术
JavaScript系统类型
Web行业分类
人工智能
该插件专为 DeepSeek Harness (dsh) 设计,属于其插件生态的一部分。dsh 是一个 AI 编程助手,用户在与 AI 对话时经常需要粘贴大段代码、日志或文档。这个插件的核心价值在于:防止长文本在聊天界面中造成混乱,同时避免因文本过长而导致的 token 浪费(尤其是大段的报错日志,通过 API 传输成本极高)。它通过一种“附件化”的方式,解决了 AI 编程场景中长文本输入的管理痛点。
该插件主要提供两种核心机制来管理大段文本:
Web 客户端粘贴钩子:当你在 dsh 的 Web 输入框粘贴超过 500 字符的文本时,插件会拦截该事件。它通过 RPC 调用将文本保存为工作区 pastes/ 目录下的时间戳文件,并在输入框中插入一个文件路径引用,而不是把整段原文直接塞进对话。如果文件超过 1 MiB,服务端会拒绝保存,并自动回退为普通粘贴,确保不丢失数据。
save_paste 工具:作为兜底方案,宿主端注册了 save_paste 工具。当粘贴钩子未能拦截时,模型可以主动调用此工具,将大段文本持久化为文件。在项目的 AGENTS.md 中建议加入纪律,引导模型在遇到长文本时主动调用该工具。
该项目基于 create-dsh-plugin 模板生成,并采用 TypeScript 编写,是一个纯前端的 Web 客户端插件。它的实现主要围绕以下几个关键点展开:
客户端监听:插件通过 dsh.client.platform: web 标识,在 Web 端监听输入框的粘贴事件。
RPC 通信:拦截到文本后,通过现有的连接 RPC(/api → Typert gateway)调用宿主端的 pasteStore/savePaste 服务。
宿主处理:宿主端负责将文本写入当前会话工作区的 pastes/ 目录,并返回文件路径引用。文件大小上限为 1 MiB,超出会拒绝保存并回退。
无网络请求:插件所有逻辑均为本地操作,仅写入工作区文件,不发起任何外发网络请求,确保数据安全。
依赖锁定:项目锁定了关键依赖版本,如 @deepseek-ai/dsh-tools 的 next 分支版本,以避免因 npm latest 标签指向过期版本而引发的问题。



评论