Linux.do AI对话导出工具

在Linux.do AI对话列表页面添加一键下载按钮,导出历史对话的标题和内容

作者
wancan
日安装量
0
总安装量
0
评分
0 0 0
版本
1.0.0
创建于
2025-10-10
更新于
2025-10-10
大小
16.3 KB
许可证
MIT
适用于

Linux.do AI对话导出工具

这是一个油猴脚本,用于在 Linux.do AI 对话列表页面添加一键下载功能,可以导出历史对话的标题和完整内容。

功能特点

✅ 一键导出所有历史对话 ✅ 支持导出为 JSON 和 Markdown 两种格式 ✅ 显示实时进度,体验友好 ✅ 自动获取对话标题、用户名、时间戳和完整内容 ✅ 智能延迟请求,避免服务器压力

安装步骤

1. 安装油猴扩展

首先需要在浏览器中安装油猴(Tampermonkey)扩展:

2. 安装脚本

  1. 点击油猴图标,选择"管理面板"
  2. 点击左侧的"+"号创建新脚本
  3. linux-do-ai-conversations-exporter.user.js 文件的内容复制粘贴进去
  4. Ctrl+S (Mac: Cmd+S) 保存

或者直接打开 .user.js 文件,油猴会自动识别并提示安装。

使用方法

  1. 访问 https://linux.do/discourse-ai/ai-bot/conversations
  2. 等待页面加载完成,会在右上角看到一个 "📥 导出所有对话" 按钮
  3. 点击按钮开始导出
  4. 会显示进度窗口,实时显示导出进度
  5. 导出完成后会自动下载两个文件:
    • linux-do-conversations-xxxxx.json - JSON格式数据
    • linux-do-conversations-xxxxx.md - Markdown格式文档

导出数据格式

JSON 格式

{
  "exportTime": "2025-10-10T12:00:00.000Z",
  "totalConversations": 30,
  "conversations": [
    {
      "title": "对话标题",
      "url": "https://linux.do/t/topic/xxxxx",
      "posts": [
        {
          "username": "用户名",
          "time": "2025-10-10T12:00:00.000Z",
          "content": "对话内容..."
        }
      ],
      "timestamp": "2025-10-10T12:00:00.000Z"
    }
  ]
}

Markdown 格式

导出的 Markdown 文件结构清晰,包含:

  • 导出时间和对话总数
  • 每个对话的标题、链接
  • 每条消息的用户名、时间和内容
  • 清晰的分隔线和层级结构

技术实现

脚本使用了 Playwright 辅助分析页面结构,主要实现:

  1. DOM 解析: 通过选择器提取对话列表和内容
  2. 异步请求: 使用 fetch API 获取每个对话的详细内容
  3. 进度显示: 实时更新导出进度
  4. 数据处理: 生成 JSON 和 Markdown 两种格式
  5. 文件下载: 使用 Blob 和 URL.createObjectURL 实现客户端下载

注意事项

⚠️ 请求频率: 脚本会在每个请求之间自动延迟 500ms,避免对服务器造成压力 ⚠️ 网络环境: 导出时间取决于对话数量和网络速度 ⚠️ 浏览器兼容: 建议使用最新版本的 Chrome、Edge 或 Firefox

故障排除

按钮没有出现

导出失败

  • 检查网络连接
  • 查看浏览器控制台是否有错误信息(F12)
  • 尝试减少并发请求数量

导出的对话不完整

  • 某些对话可能由于网络问题获取失败
  • 可以查看浏览器控制台的日志
  • 重新尝试导出

版本历史

  • v1.0.0 (2025-10-10)
    • 首次发布
    • 支持导出 JSON 和 Markdown 格式
    • 添加进度显示功能

许可证

MIT License

贡献

欢迎提交 Issue 和 Pull Request!

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址