dsh-auto-paste产品系统

我要开发同款
misakamaster2026年09月02日
3阅读

技术信息

语言技术
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 标签指向过期版本而引发的问题。

示例图片

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论