Files

13 KiB
Raw Permalink Blame History

2026-06-24 每日笔记

文件清理:源文件和 zip

已完成

  • 删除 /mnt/f/collections/pixiv小说自整理3634 txt
  • 删除 /mnt/f/collections/Revvlee@H小说合集-21091133 txt
  • 删除 /mnt/f/novel8262 文件)
  • 保留 /mnt/f/novel_clean6954 清理后 txt

已决定暂不处理(仍在下载中)

  • 小说数据5.5W
  • 小说
  • 7万篇小说-按拼音首字排序
  • 6699部成人小说、色情小说、黄色小说(约 3875 zip + 2833 bc!,等下载完成后再处理)

技术坑记录

  • WSL drvfs NTFS 权限限制sudo rmfind -deleteos.removecmd.exe /c delwin32 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小说合集-21091133 txt
  • 删除 /mnt/f/novel8262 文件)
  • 保留 /mnt/f/novel_clean6954 清理后 txt

已决定暂不处理(仍在下载中)

  • 小说数据5.5W
  • 小说
  • 7万篇小说-按拼音首字排序
  • 6699部成人小说、色情小说、黄色小说(约 3875 zip + 2833 bc!,等下载完成后再处理)

技术坑记录

  • WSL drvfs NTFS 权限限制sudo rmfind -deleteos.removecmd.exe /c delwin32 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小说合集-21091133 txt
  • 删除 /mnt/f/novel8262 文件)
  • 保留 /mnt/f/novel_clean6954 清理后 txt

已决定暂不处理(仍在下载中)

  • 小说数据5.5W
  • 小说
  • 7万篇小说-按拼音首字排序
  • 6699部成人小说、色情小说、黄色小说(约 3875 zip + 2833 bc!,等下载完成后再处理)

技术坑记录

  • WSL drvfs NTFS 权限限制sudo rmfind -deleteos.removecmd.exe /c delwin32 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小说合集-21091133 txt
  • 删除 /mnt/f/novel8262 文件)
  • 保留 /mnt/f/novel_clean6954 清理后 txt

已决定暂不处理(仍在下载中)

  • 小说数据5.5W
  • 小说
  • 7万篇小说-按拼音首字排序
  • 6699部成人小说、色情小说、黄色小说(约 3875 zip + 2833 bc!,等下载完成后再处理)

技术坑记录

  • WSL drvfs NTFS 权限限制sudo rmfind -deleteos.removecmd.exe /c delwin32 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