Files
legado-source-debugger/README.md
2025-12-08 17:14:12 +08:00

5.5 KiB
Raw Blame History

书源调试器 (Legado Source Debugger)

一个用于调试和管理 Legado / 异次元 书源的桌面应用程序。

功能特性

  • 多格式支持:同时支持 Legado 书源和异次元图源
  • 格式互转:支持 Legado ↔ 异次元格式一键转换,转换后可在两种阅读器中使用
  • 可视化编辑:提供文本、表格、可视化三种编辑模式
  • 规则调试:支持搜索、发现、详情、目录、正文的完整调试流程
  • AI 辅助:集成 AI 助手,帮助分析和修复书源规则
  • 实时预览:调试结果实时可视化展示

安装

# 克隆项目
git clone <repository-url>
cd source

# 安装依赖
pnpm install

开发

# 启动开发环境
pnpm start

打包

# 打包应用
pnpm run package

使用指南

1. 书源管理

导入书源

  • 点击左侧边栏底部的 📂 按钮导入 JSON 格式的书源文件
  • 支持单个书源或书源数组

新建书源

  • 点击左侧边栏底部的 按钮创建新书源
  • 支持创建 Legado 书源或异次元图源

保存书源

  • Ctrl+S:保存当前编辑的书源
  • 点击「全部保存」按钮:保存所有书源到文件

2. 图源格式转换

支持 Legado 书源和异次元图源之间的双向转换:

使用方法

  • 点击工具栏的 🔄 转换按钮
  • 自动检测当前格式并转换为另一种格式

转换规则

Legado 字段 异次元字段
searchUrl ruleSearchUrl
ruleSearch.bookList ruleSearchList
ruleSearch.name ruleSearchName
ruleSearch.bookUrl ruleSearchNoteUrl
ruleBookInfo.name ruleBookInfoName
ruleToc.chapterList ruleChapterList
ruleContent.content ruleContentUrlContent

特性

  • 转换是幂等的:多次转换结果一致
  • 保留 @Header:{} 后缀等特殊语法
  • 自动转换占位符:{{key}}searchKey

3. 编辑模式

文本视图

  • 直接编辑书源 JSON 代码
  • 支持 Ctrl+B 格式化代码
  • 悬停字段名显示帮助文档

表格视图

  • 表单化编辑书源字段
  • 按分类组织:基本信息、搜索规则、发现规则、详情规则、目录规则、正文规则

可视化视图

  • 流程图展示书源解析流程
  • 规则树展示所有配置项及状态
  • 快速查看规则类型JS/JSON/XPath/CSS

4. 规则测试器

测试模式

  • 搜索:输入关键词测试搜索功能
  • 发现:选择发现分类测试发现功能
  • 详情:输入书籍 URL 测试详情解析
  • 目录:输入目录 URL 测试章节列表解析
  • 正文:输入章节 URL 测试正文内容解析

测试流程

  1. 选择测试模式
  2. 输入测试参数(关键词或 URL
  3. 点击「测试」按钮
  4. 查看结果:可视化 / 解析结果 / 原始响应

快捷操作

  • 搜索结果点击书籍 → 自动跳转详情测试
  • 详情页点击「查看目录」→ 自动跳转目录测试
  • 目录点击章节 → 自动跳转正文测试

5. 调试控制台

  • 查看请求日志、解析日志、错误信息
  • 支持按类别过滤日志
  • 支持清空日志

6. AI 助手

  • 开启「AI」开关后测试结果会附加到 AI 对话
  • AI 可以帮助分析规则问题并提供修复建议
  • 支持配置多个 AI 服务商GitHub Copilot、DeepSeek、Kimi 等)
  • 输入网址可自动分析页面结构生成规则

支持的规则语法

Legado 书源

规则类型 语法示例
JSONPath $.data.list[*]
CSS 选择器 div.book-item
XPath //div[@class='item']
正则表达式 :regex:pattern
JavaScript @js:code<js>code</js>
模板变量 {{key}}, {{page}}

异次元图源

规则类型 语法示例
JSONPath $.data[*]
CSS/JSoup div.item@text
正则 regex:pattern
JavaScript js:code

项目结构

src/
├── main/                 # Electron 主进程
│   ├── debug/           # 书源调试核心
│   │   ├── source-debugger.ts    # Legado 调试器
│   │   ├── yiciyuan-debugger.ts  # 异次元调试器
│   │   ├── rule-parser.ts        # 规则解析器
│   │   ├── analyze-url.ts        # URL 分析器
│   │   ├── http-client.ts        # HTTP 请求客户端
│   │   ├── cache-manager.ts      # 缓存管理
│   │   └── cookie-manager.ts     # Cookie 管理
│   ├── ai/              # AI 服务集成
│   └── services/        # 服务层
│       └── puppeteer-service.ts  # Puppeteer 浏览器服务
├── renderer/            # React 渲染进程
│   ├── components/      # UI 组件
│   ├── stores/          # 状态管理
│   ├── utils/           # 工具函数
│   │   └── sourceConverter.ts    # 图源格式转换器
│   └── types/           # 类型定义

快捷键

快捷键 功能
Ctrl+S 保存当前书源
Ctrl+B 格式化 JSON
Ctrl+O 打开文件
Enter 执行测试(在输入框中)

技术栈

  • 框架Electron + React + TypeScript
  • UI 库Mantine UI
  • 状态管理Zustand
  • 解析库Cheerio, JSONPath-Plus

开源声明

本项目为完全开源项目,遵循 MIT 许可证。

  • 源代码完全公开,可自由查看、修改和分发
  • 欢迎提交 Issue 和 Pull Request
  • 可用于个人学习、商业项目等任何用途

License

MIT