Files

253 lines
13 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 2026-06-24 每日笔记
## 文件清理:源文件和 zip
### 已完成
- 删除 `/mnt/f/collections/pixiv小说自整理`3634 txt
- 删除 `/mnt/f/collections/Revvlee@H小说合集-210911`33 txt
- 删除 `/mnt/f/novel`8262 文件)
- 保留 `/mnt/f/novel_clean`6954 清理后 txt
### 已决定暂不处理(仍在下载中)
- `小说数据5.5W`
- `小说`
- `7万篇小说-按拼音首字排序`
- `6699部成人小说、色情小说、黄色小说`(约 3875 zip + 2833 bc!,等下载完成后再处理)
### 技术坑记录
- **WSL drvfs NTFS 权限限制**`sudo rm``find -delete``os.remove``cmd.exe /c del``win32 API 删除` 全部无法删除 NTFS 分区文件
- **metadata 选项坑**:加 `uid/gid,metadata` 重新挂载会导致目录 I/O 错误,需要 `sudo mount -t drvfs F: /mnt/f`(不带 options)才能恢复
- **长文件名问题**`mv` 在部分超长文件名(~260+ 字符)上失败
## Calibre 操作
### 已删除
- **ID 9459****《北国的春天》** — TXT 源文件内容已损坏(非编码问题,字符本身乱码),已在 calibre-web 直接删除。
- **批量清理 3729 个编码损坏的 txt**:中文比例 < 10% 且含 `Ŀ¼Ĵ` 等乱码字符
- 书库从 ~12000 本降至 **8285 本**
### 删除方式记录
- 手动 sqlite3 操作 metadata.db 完成删除(需先停止 calibre-server
- 删除须清理:`books` 表中记录 + 文件系统中对应目录
- 重启 calibre-server 验证
# 2026-06-24 每日笔记
## 文件清理:源文件和 zip
### 已完成
- 删除 `/mnt/f/collections/pixiv小说自整理`3634 txt
- 删除 `/mnt/f/collections/Revvlee@H小说合集-210911`33 txt
- 删除 `/mnt/f/novel`8262 文件)
- 保留 `/mnt/f/novel_clean`6954 清理后 txt
### 已决定暂不处理(仍在下载中)
- `小说数据5.5W`
- `小说`
- `7万篇小说-按拼音首字排序`
- `6699部成人小说、色情小说、黄色小说`(约 3875 zip + 2833 bc!,等下载完成后再处理)
### 技术坑记录
- **WSL drvfs NTFS 权限限制**`sudo rm``find -delete``os.remove``cmd.exe /c del``win32 API 删除` 全部无法删除 NTFS 分区文件
- **metadata 选项坑**:加 `uid/gid,metadata` 重新挂载会导致目录 I/O 错误,需要 `sudo mount -t drvfs F: /mnt/f`(不带 options)才能恢复
- **长文件名问题**`mv` 在部分超长文件名(~260+ 字符)上失败
## Calibre 操作
### 已删除
- **ID 9459****《北国的春天》** — TXT 源文件内容已损坏(非编码问题,字符本身乱码),已在 calibre-web 直接删除。
- **批量清理 3729 个编码损坏的 txt**:中文比例 < 10% 且含 `Ŀ¼Ĵ` 等乱码字符 → 书库从 ~12000 本降至 **8285 本**
- **169 个小文件(< 10KB**:多为 12 字节垃圾文件(Mac OS X 残留等) → 书库降至 **8116 本**
- **28 个二进制内容文件**ID 12026「QN)zhQ」等 0% 中文的乱码文件 → 书库降至 **8087 本**
### 删除方式记录
- 手动 sqlite3 操作 metadata.db 完成删除(需先停止 calibre-server
- 删除须清理:`books` 表中记录 + 文件系统中对应目录
- 重启 calibre-server 验证
### 书名清洗 & 作者提取
- **46 本缺作者的书名**:从书名(含 `作者:xxx`)提取作者到 author 字段,书名改为"未知"
- 部分提取有尾巴(如 `素元\u3000珪', '`),后手动清洗修复
- **重要**:提取作者时应优先使用 `data.name`(原始文件名)而非 `title`(清洗后的书名)
- **2289 本书名含作者标记**:书名中残留 `作者:xxx` 但作者字段已有值,尚未处理
### Calibre 字段区别
- `books.title`:清洗后的书名(可编辑修改)
- `data.name`:导入时的原始文件名(保留原始信息)
## Calibre Skill 更新
- **旧 skill 弃用**`calibre-title-cleaner` 已废弃并删除
- **新 skill 上线**`calibre-cleaner` 已发布,包含:
- 书名清洗 & 作者提取(保留原函数)
- 脏数据检测:中文 < **10%** 即判脏(不再要求同时含乱码字符)
- 小文件清理:< 10KB 的文件
- 完整操作流程
- **Skill 路径**`~/.openclaw/workspace/storage/skills/calibre-cleaner/SKILL.md`
# 2026-06-24 每日笔记
## 文件清理:源文件和 zip
### 已完成
- 删除 `/mnt/f/collections/pixiv小说自整理`3634 txt
- 删除 `/mnt/f/collections/Revvlee@H小说合集-210911`33 txt
- 删除 `/mnt/f/novel`8262 文件)
- 保留 `/mnt/f/novel_clean`6954 清理后 txt
### 已决定暂不处理(仍在下载中)
- `小说数据5.5W`
- `小说`
- `7万篇小说-按拼音首字排序`
- `6699部成人小说、色情小说、黄色小说`(约 3875 zip + 2833 bc!,等下载完成后再处理)
### 技术坑记录
- **WSL drvfs NTFS 权限限制**`sudo rm``find -delete``os.remove``cmd.exe /c del``win32 API 删除` 全部无法删除 NTFS 分区文件
- **metadata 选项坑**:加 `uid/gid,metadata` 重新挂载会导致目录 I/O 错误,需要 `sudo mount -t drvfs F: /mnt/f`(不带 options)才能恢复
- **长文件名问题**`mv` 在部分超长文件名(~260+ 字符)上失败
## Calibre 操作
### 已删除
- **ID 9459****《北国的春天》** — TXT 源文件内容已损坏(非编码问题,字符本身乱码),已在 calibre-web 直接删除。
- **批量清理 3729 个编码损坏的 txt**:中文比例 < 10% 且含 `Ŀ¼Ĵ` 等乱码字符 → 书库从 ~12000 本降至 **8285 本**
- **169 个小文件(< 10KB**:多为 12 字节垃圾文件(Mac OS X 残留等) → 书库降至 **8116 本**
- **28 个二进制内容文件**ID 12026「QN)zhQ」等 0% 中文的乱码文件 → 书库降至 **8087 本**
- **脏数据检测条件简化**:中文 < 10% 即判脏(不再要求同时含乱码字符)
### 删除方式记录
- 手动 sqlite3 操作 metadata.db 完成删除(需先停止 calibre-server
- 删除须清理:`books` 表中记录 + 文件系统中对应目录
- 重启 calibre-server 验证
### (13:09 session) 大规模书名清洗 & 垃圾清理
- **2334 本书名清洗**:去掉作者/翻译标记,超过 20 个中文字符的截取前 20 个中文
- **2199 本从 data.name(原始文件名)提取作者**并更新 author 字段(比从 title 提取更准确)
- **1130 本 Python 列表格式垃圾书删除**id>=8000,如 `['xxx', 'R-18', ...]` 等垃圾标题格式)
- 书库 8087 → **6957 本**
- **17 本书名中网站链接移除**(如 `(www.ziqige.net)``soushu2022.com@` 等)
- **7 本逸清书城声明标题** → 书名改为"未知"
- **3 本"内容简介】"声明标题** → 书名改为"未知"
- **1 本 HTML 转义乱码(ID 904,文件已丢失)** → 删除记录
- 当前书库:**6956 本**
### 作者提取失败案例
- ID 3099 `全明星系列 TXT 作者:未知` ➔ 作者为"未知",无法提取
- ID 9489 `本书唯一作者:无弦...` ➔ 提取出长尾巴,后手动修复
### Calibre 字段区别
- `books.title`:清洗后的书名(页面显示,可编辑)
- `data.name`:导入时的原始文件名(保留"作者:xxx"等原始信息,更适合提取作者)
## Calibre Skill 更新
- **旧 skill 弃用**`calibre-title-cleaner` 已废弃并删除
- **新 skill 上线**`calibre-cleaner` 已发布,包含:
- 书名清洗 & 作者提取(保留原函数)
- 脏数据检测:中文 < **10%** 即判脏
- 小文件清理:< 10KB 的文件
- 完整操作流程
- 新规则:网站链接移除、声明开头清理、前 20 中文字符截取
- **作者提取优先从 data.name 而非 title**
- **Skill 路径**`~/.openclaw/workspace/storage/skills/calibre-cleaner/SKILL.md`
## 待处理
- [ ] 用户确认后更新 skill 文档(已提交提案,待应用)
# 2026-06-24 每日笔记
## 文件清理:源文件和 zip
### 已完成
- 删除 `/mnt/f/collections/pixiv小说自整理`3634 txt
- 删除 `/mnt/f/collections/Revvlee@H小说合集-210911`33 txt
- 删除 `/mnt/f/novel`8262 文件)
- 保留 `/mnt/f/novel_clean`6954 清理后 txt
### 已决定暂不处理(仍在下载中)
- `小说数据5.5W`
- `小说`
- `7万篇小说-按拼音首字排序`
- `6699部成人小说、色情小说、黄色小说`(约 3875 zip + 2833 bc!,等下载完成后再处理)
### 技术坑记录
- **WSL drvfs NTFS 权限限制**`sudo rm``find -delete``os.remove``cmd.exe /c del``win32 API 删除` 全部无法删除 NTFS 分区文件
- **metadata 选项坑**:加 `uid/gid,metadata` 重新挂载会导致目录 I/O 错误,需要 `sudo mount -t drvfs F: /mnt/f`(不带 options)才能恢复
- **长文件名问题**`mv` 在部分超长文件名(~260+ 字符)上失败
## Calibre 操作
### 已删除
- **ID 9459****《北国的春天》** — TXT 源文件内容已损坏(非编码问题,字符本身乱码),已在 calibre-web 直接删除。
- **批量清理 3729 个编码损坏的 txt**:中文比例 < 10% 且含 `Ŀ¼Ĵ` 等乱码字符 → 书库从 ~12000 本降至 **8285 本**
- **169 个小文件(< 10KB**:多为 12 字节垃圾文件(Mac OS X 残留等) → 书库降至 **8116 本**
- **28 个二进制内容文件**ID 12026「QN)zhQ」等 0% 中文的乱码文件 → 书库降至 **8087 本**
- **脏数据检测条件简化**:中文 < 10% 即判脏(不再要求同时含乱码字符)
### 删除方式记录
- 手动 sqlite3 操作 metadata.db 完成删除(需先停止 calibre-server
- 删除须清理:`books` 表中记录 + 文件系统中对应目录
- 重启 calibre-server 验证
### (13:09 session) 大规模书名清洗 & 垃圾清理
- **2334 本书名清洗**:去掉作者/翻译标记,超过 20 个中文字符的截取前 20 个中文
- **2199 本从 data.name(原始文件名)提取作者**并更新 author 字段(比从 title 提取更准确)
- **1130 本 Python 列表格式垃圾书删除**id>=8000,如 `['xxx', 'R-18', ...]` 等垃圾标题格式)
- 书库 8087 → **6957 本**
- **17 本书名中网站链接移除**(如 `(www.ziqige.net)``soushu2022.com@` 等)
- **7 本逸清书城声明标题** → 书名改为"未知"
- **3 本"内容简介】"声明标题** → 书名改为"未知"
- **1 本 HTML 转义乱码(ID 904,文件已丢失)** → 删除记录
- 当前书库:**6956 本**
### 作者提取失败案例
- ID 3099 `全明星系列 TXT 作者:未知` ➔ 作者为"未知",无法提取
- ID 9489 `本书唯一作者:无弦...` ➔ 提取出长尾巴,后手动修复
### Calibre 字段区别
- `books.title`:清洗后的书名(页面显示,可编辑)
- `data.name`:导入时的原始文件名(保留"作者:xxx"等原始信息,更适合提取作者)
## Calibre Skill 更新
- **旧 skill 弃用**`calibre-title-cleaner` 已废弃并删除
- **新 skill 上线**`calibre-cleaner` 已发布,包含:
- 书名清洗 & 作者提取(保留原函数)
- 脏数据检测:中文 < **10%** 即判脏
- 小文件清理:< 10KB 的文件
- 完整操作流程
- 新规则:网站链接移除、声明开头清理、前 20 中文字符截取
- **作者提取优先从 data.name 而非 title**
- **Skill 路径**`~/.openclaw/workspace/storage/skills/calibre-cleaner/SKILL.md`
## 待处理
- [ ] 用户确认后更新 skill 文档(已提交提案,待应用)
## (14:56 session) novel_clean 导入到 Calibre
### 背景
- 源文件 `/mnt/f/novel_clean`(共 ~3505 个 GB18030 编码 txt 文件,全部为正常中文小说)
- 用户要求"先清理后导入",先过滤再导入 Calibre
### 过滤操作
- **143 个文件名无意义文件**(纯数字 `1.txt`、数字段 `1~10.txt`、单字名 `变.txt`):用户确认删除纯数字文件
- **删除纯数字文件名 24 个**:使用 python 结合 WSL `cmd.exe /c del` 方式删除
- **31 个文件名中的数字序号前缀清理**(如 `14659 - 可爱的班长.txt``可爱的班长.txt`
- 剩余 **2505 个**文件
### 导入尝试
- 尝试 `calibredb add` 分 50 批导入,前 10 批因 Calibre 进程残留锁而失败
- 后续批次部分成功后又遇到锁定问题
- 切换为 Python 直写 SQLite + 复制文件到书库目录,碰到 `UNIQUE constraint` 问题(calibredb 分配的 ID 有 gap,不连续)
- calibredb 最终成功导入了 **1403 本**(书库从 6956 → **8359 本**
- 剩余 **1102 本**待用户自行补导
- **数据备份**`metadata.db.backup.20260624-1338` 已创建
- **Calibre-Web 已重启**
### 给用户的命令
```bash
# 先停 Calibre-Web
docker compose -f /home/yangxuan/calibre/compose.yml down
# 备份
cp /home/yangxuan/calibre/books/metadata.db /home/yangxuan/calibre/books/metadata.db.backup.$(date +%Y%m%d-%H%M)
# 导入剩余文件
cd /home/yangxuan/calibre
find /mnt/f/novel_clean -maxdepth 1 -name "*.txt" -print0 | xargs -0 -n 50 calibredb add --library-path /home/yangxuan/calibre/books
# 重启
docker compose -f /home/yangxuan/calibre/compose.yml up -d
```