13 KiB
13 KiB
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 已重启
给用户的命令
# 先停 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