dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
DeepSeek 对话导入的功能补充:在 deepseek-web-import 基础上保留图片与附件。
把 DeepSeek 网页端的历史对话,连同图片和附件一起带进 DSH
English · 上游仓库 · 从零安装 · 问题反馈
本项目是 wpc0323/deepseek-web-import 的功能补充与修改,不是原创项目。对话目录、Token 存储、会话格式兼容、设置页与诊断能力都来自上游,版权归原作者所有。
我们只补齐「导入时会丢失的东西」:图片、文档附件,以及随之而来的正文清洗、结果反馈和刷新体验。
从网页端导入对话时,原始版本只保留文字:对话里的图片和 PDF 会消失;搜索回答末尾的 [reference:N] 会以字面量留在正文里;导入完成还要手动刷新才能看到新会话,侧边栏标题也要点开一次才显示。
这些都不影响「能不能导入」,但决定了「导进来能不能用」。
F12 → Application → Local Storage → 复制 userToken 的值 → 粘贴并保存(插件会自动取出 value 字段)。含图片 N 张 / 含附件 N 个;默认自动刷新,侧边栏直接出现新会话。完整的验收清单和故障排查见从零安装。
0.2.1-rc.2),会话格式 v4。git 时,路线 A 会失败。userToken。FILE fragment 取文件 ID,经 fetch_files 刷新签名路径,用 ty=p 下载预览图;按魔数识别真实格式后交给 DSH 附件服务,会话里直接显示。预览接口单张上限 12 MB,正常截图远小于此。ty=r 取原件,流式落盘(先写临时文件,再交给 saveFileStream),不额外设限。网页端默认单文件 100 MB、最多 50 个是它的上传限制;导入侧只保留 1 GiB 的失控保护。[reference:N] 引用标记和孤立的 ``,围栏代码块内的内容保持原样。导入完成后直接给出:会话 ID、消息数、事件数、会话格式版本,以及 含图片 N 张 / 含附件 N 个。
找到但一个都没存下时显示 0/N,能立刻区分「本来就没有」和「有但失败了」。
导入成功后 1.2 秒自动刷新页面,新会话直接出现在侧边栏,不需要手动刷新。
连续导入多条时,勾选「批量导入」改为累计计数,最后点一次「完成导入并刷新(N 条)」,中途不打断。两个偏好都记在 localStorage。
no_token、api、too_large、persist 等),新增失败只影响对应附件。deepseek-web-import: import failed,可先用启动对话框的「禁用第三方插件」拉起 DSH,再只回滚客户端文件(命令见从零安装)。上游把 history_messages 的 fragments 翻译成 DSH 会话事件;本补充在写会话之前,多做两步附件处理和一步正文清洗:
DeepSeek 历史
│ fragments: REQUEST / RESPONSE / THINK / FILE
├─ 图片 ── fetch_files ── ty=p ── 魔数校验 ── attachments.saveImages
├─ 文档 ── fetch_files ── ty=r ── 流式临时文件 ── attachments.saveFileStream
└─ 正文 ── 去 [reference:N] / <br> ── 写入 text 块
│
buildSessionEvents文件 · 作用 lib/images.js · 图片发现、下载、格式嗅探(新增) lib/files.js · 文档发现、流式下载、保存(新增) lib/text.js · 正文 Markdown 清洗,代码块保持原样(新增) lib/events.js · messageBlocks(message, role, images, files)、buildSessionEvents(…, imagesByMessage, filesByMessage) lib/index.js · 写会话前执行附件流程,返回计数与 titleCached lib/client.js · 结果展示、自动刷新、批量模式 test/*.test.mjs · 离线用例:解析、URL、事件拼装、下载/保存流水线、清洗
目标客户端既没有上游插件、也没有本补充?按从零安装选一条路线即可。三条路线的区别主要是:装完之后,市场能不能替你继续更新。
直接以本仓库为安装源,市场可以跟踪仓库更新。
dsh plugin add LingSuiYA/deepseek-web-import-f等价写法:dsh plugin add github:LingSuiYA/deepseek-web-import-f。
需要能访问本仓库;宿主 PATH 里没有 git 时这条命令会报 git ls-remote failed,改用 B。
先安装上游基线,本补充作为补丁贴在其上(这条路线不安装本仓库的包,而是直接修改已安装的上游文件)。基线钉在上游 0.2.1 的提交 4761d89,保证补丁锚点稳定。
dsh plugin add https://github.com/wpc0323/deepseek-web-import/archive/4761d89275e26d9999e2e8e596731e41d25e12a1.tar.gz
git clone https://github.com/LingSuiYA/deepseek-web-import-f.git
cd deepseek-web-import-f
node tools/apply-dlc.mjs默认目标是 ~/.dsh/profiles/desktop/node_modules/deepseek-web-import;profile 名不同时用 node tools/apply-dlc.mjs 指定,或设置环境变量:
# POSIX
DSH_PLUGIN_DIR=/path/to/pkg node tools/apply-dlc.mjs
# PowerShell
$env:DSH_PLUGIN_DIR = "C:\path\to\pkg"; node tools/apply-dlc.mjs适合内网或给别人试用,代价是放弃市场更新。
cd deepseek-web-import-f
npm pack
dsh plugin add file:/absolute/path/deepseek-web-import-0.2.1-dlc.16.tgz
# Windows 写成 file:C:/path/to/deepseek-web-import-0.2.1-dlc.16.tgz包内包含 lib/、docs/、tools/、cordis.patch.yml 和两个 README。Windows 的 cmd/PowerShell 不展开 *,请写实际文件名。
基线是固定提交的归档,市场不会自动升级它。需要跟进上游时,把上面的 URL 换成新的上游提交归档,再重跑 node tools/apply-dlc.mjs;如果脚本报锚点不匹配,说明上游改了被 patch 的文件,先 rebase 本仓库,重试没有用。
宿主半部的改动需要重启 DSH,或在「设置 → 插件」里把对应条目关闭再启用;纯客户端改动(刷新、批量)刷新页面即可。
dsh plugin add (URL 见从零安装),同名替换,补丁层随之消失。git clone 只带来 origin,先补上 upstream:cd deepseek-web-import-f
git remote add upstream https://github.com/wpc0323/deepseek-web-import.git
git fetch upstream
git show upstream/main:lib/client.js \
> ~/.dsh/profiles/desktop/node_modules/deepseek-web-import/lib/client.js在 Windows 上请用 Git Bash 执行:cmd 不展开 ~,而 PowerShell 5.1 的 > 默认写 UTF-16,会把 client.js 写坏、插件直接加载失败。profile 目录通常是 %USERPROFILE%.dsh\profiles\desktop,profile 名不是 desktop 时替换。
更省事的替代:直接重装上游(上一条「回到上游」),客户端也会一并还原。
deepseek-web-import 移除。0.2.1-rc.2),写入会话格式 v4;补丁基线为上游 0.2.1(提交 4761d89)。file 块的历史在续聊时需要模型适配器接受该块,建议用一条文档对话验证一次。userToken 过期后需要重新保存。MIT,继承自上游;修改声明见 NOTICE。