DeepSeek批量删除

2024年6月8日 兴趣使然 469 分钟阅读 3 次阅读

DeepSeek批量删除

一、工具介绍

这个工具是为了解决 DeepSeek 官方只能逐个删除历史对话的痛点,实现一键批量删除所有历史对话,并且优化了原来的手动填 Token 的步骤,脚本会自动读取你浏览器里的登录凭证,不需要你手动找 Token 复制粘贴,全程傻瓜式操作。

二、功能说明

  • ✅ 自动获取登录 Token,无需手动配置
  • ✅ 兼容新旧版本 DeepSeek 的本地存储格式
  • ✅ 批量删除所有已加载的历史对话
  • ✅ 自带请求限流,避免触发接口限制
  • ✅ 运行完成自动刷新页面,查看结果

三、前置准备

  1. 电脑端浏览器:推荐 Chrome、Edge、Firefox 这类现代浏览器(手机端暂不支持)
  2. 已登录你的 DeepSeek 账号:确保你要删除对话的账号是登录状态
  3. 提前备份重要对话:删除后的对话无法恢复,请先把需要保留的对话备份好

四、详细操作步骤

步骤 1:打开 DeepSeek 聊天页面

访问 DeepSeek 的官方聊天页面:https://chat.deepseek.com/

注意:必须在这个页面操作,其他页面无法读取你的登录凭证和对话列表

步骤 2:加载所有历史对话

DeepSeek 的对话列表是懒加载的,默认只会加载最近的一部分对话,要删除所有对话,需要先把左侧的对话列表滚动到底部,让所有历史对话都加载出来:

操作:用鼠标滚轮滚动左侧的对话列表,一直往下拉,直到没有新的对话加载出来为止,这样所有的对话都会被脚本识别到。

步骤 3:打开开发者控制台

有两种方式打开:

  1. 快捷键:直接按键盘的 F12 键(大部分浏览器通用)
  2. 右键菜单:在页面空白处右键点击,选择「检查」

打开后,你会看到开发者工具界面,切换到 Console(控制台) 标签,就会看到类似下面的界面:

图片

步骤 4:粘贴并运行脚本

  1. 复制本文最后提供的完整脚本(全部复制,不要漏任何内容)
  2. 粘贴到控制台的输入框里(就是截图里底部的输入行)
  3. 按回车运行

注意:如果粘贴的时候浏览器提示你要输入 allow pasting,只需要按照提示输入这行字,然后再重新粘贴脚本即可,这是浏览器的安全防护机制,属于正常现象。

步骤 5:等待运行完成

运行之后,控制台会输出日志,你可以看到:

  • 首先会提示成功获取 Token
  • 然后显示找到多少个待删除的对话
  • 之后逐个显示删除成功 / 失败的日志
  • 全部完成后,页面会自动刷新,你就能看到对话列表已经清空了

五、常见问题排查

1. 运行后提示「未找到登录凭证」?

  • 检查你是不是在 https://chat.deepseek.com/ 这个页面,不是其他页面
  • 检查你是不是已经登录了 DeepSeek 账号,没登录的话先完成登录
  • 清除一下浏览器缓存后重新登录试试

2. 删完之后还有对话没删掉?

  • 这是因为你没把所有对话加载出来!运行脚本之前,一定要把左侧的对话列表滚动到底部,把所有历史对话都加载出来,不然脚本找不到没加载的对话
  • 可以重新滚动加载所有对话,再运行一次脚本即可

3. 粘贴脚本的时候被浏览器阻止了?

  • 这是 Chrome 等浏览器的安全机制,第一次在控制台粘贴内容的时候,会要求你输入 allow pasting,你只需要在控制台输入这行字,按回车,然后再粘贴脚本就可以了

4. 运行之后没反应?

  • 检查你是不是复制了完整的脚本,有没有漏了开头或者结尾的内容
  • 刷新页面,重新打开控制台,再试一次

5. 这个脚本安全吗?会不会盗我号?

  • 完全安全!这个脚本100% 在你的浏览器本地运行,所有的操作都是直接和 DeepSeek 的官方接口交互,不会把你的 Token、账号信息发送到任何第三方服务器,你可以查看脚本的源码,所有逻辑都是公开透明的。

六、注意事项

  1. 删除不可恢复:删除后的对话是无法找回的,运行脚本前一定要确认你不需要这些对话了,重要的对话请提前备份
  2. 不要在其他网站运行这个脚本:这个脚本只能在 DeepSeek 的聊天页面生效,在其他网站运行不会有效果,还可能有风险
  3. 大量对话耐心等待:如果你的对话有几百个,脚本会自动加延迟避免被限流,需要一点时间,请不要中途关闭页面
  4. 不要频繁运行:如果运行失败,不要反复快速运行脚本,间隔 1 分钟再试,避免触发 DeepSeek 的风控机制

七、完整脚本(可直接复制)

async function startDelete() {
  console.log('🚀 自动获取Token版 - 开始批量删除DeepSeek对话');

  // ====================== 自动获取Token部分 ======================
  let REAL_TOKEN;
  try {
    // 从本地存储读取userToken
    const userTokenStr = localStorage.getItem('userToken');
    if (!userTokenStr) {
      console.log('❌ 错误:未找到登录凭证!请先登录DeepSeek账号,并且在chat.deepseek.com页面运行此脚本。');
      return;
    }

    // 兼容新旧版本的存储格式:
    // 新版本:userToken是JSON对象 {"value":"你的Token","__version":"0"}
    // 旧版本:userToken直接是Token字符串
    try {
      const userTokenObj = JSON.parse(userTokenStr);
      if (userTokenObj && userTokenObj.value) {
        REAL_TOKEN = userTokenObj.value;
      } else {
        // 解析后没有value, fallback到直接用原字符串
        REAL_TOKEN = userTokenStr;
      }
    } catch (e) {
      // 解析JSON失败,说明是旧版本直接存的字符串,直接用
      REAL_TOKEN = userTokenStr;
    }

    if (!REAL_TOKEN) {
      console.log('❌ 错误:无法提取有效Token,请确认你已正常登录DeepSeek!');
      return;
    }
    console.log('✅ 成功自动获取登录Token');
  } catch (e) {
    console.log('❌ 读取本地存储失败:', e);
    return;
  }
  // ============================================================

  // 获取所有对话ID(和你原来的逻辑一致,已经验证过可用)
  const sessionIds = [];
  document.querySelectorAll('a[href^="/a/chat/s/"]').forEach(item => {
    const href = item.getAttribute('href');
    const id = href.split('/s/')[1];
    if (id && !sessionIds.includes(id)) sessionIds.push(id);
  });

  if (sessionIds.length === 0) {
    console.log('✅ 已经没有可删除的对话了!');
    return;
  }

  console.log(`📊 找到 ${sessionIds.length} 个待删除对话`);
  let success = 0, fail = 0;

  // 批量删除逻辑(和你原来的成功版逻辑一致)
  for (const id of sessionIds) {
    try {
      const res = await fetch("https://chat.deepseek.com/api/v0/chat_session/delete", {
        method: "POST",
        headers: {
          "Content-Type": "application/json",
          "Authorization": "Bearer " + REAL_TOKEN,
          "x-client-platform": "web",
          "x-client-version": "1.7.0"
        },
        body: JSON.stringify({ chat_session_id: id }),
        credentials: "include"
      });

      const data = await res.json();
      if (data.code === 0) {
        success++;
        console.log(`✅ 删除成功: ${id}`);
      } else {
        fail++;
        console.log(`❌ 删除失败: ${id}`);
      }
      await new Promise(r => setTimeout(r, 700)); // 避免请求太快被限流
    } catch (e) {
      fail++;
      console.log(`⚠️ 处理异常: ${id}`);
    }
  }

  console.log(`\n🎉 删除完成!成功:${success},失败:${fail}`);
  setTimeout(() => location.reload(), 1000); // 删除完自动刷新页面
}

startDelete();
最后更新:2026年7月3日CC BY-NC-SA 4.0

评论

暂无评论,来写第一条吧

© 2026 My Blog. Built with Nuxt.js + FastAPI.