sync from WSL host via Gitea: align to origin/main
This commit is contained in:
@@ -0,0 +1,252 @@
|
||||
# 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
|
||||
```
|
||||
Reference in New Issue
Block a user