modelscope.cn

book-splitter

对小说进行?

Installation

$ npx skills add https://modelscope.cn

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from modelscope.cn · top by installs.

npx skills add https://modelscope.cn

Browse all from modelscope.cn

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 7,362 B

History

  1. First recorded snapshot · 0 installs

SKILL.md

book-splitter — 小说全文分类索引工具

概述

将一本小说按 章节→分类 二维拆解,一次运行生成两套输出结构:

  1. 按章分 — 每章一个文件夹,内部按 父类→子类 存放该章片段
  2. 语料库 — 所有章节的片段按分类汇总到 语料库/,去掉章节层级,纯分类目录

快速开始

# 一步到位(小说可以是 .txt 或 .md,编码自动检测 UTF-8/GBK)
python .reasonix/skills/book-splitter/scripts/run_book_pipeline.py 你的小说.txt

运行完成后,当前目录下会生成:

  • 你的小说/你的小说_output/ — 章节输出
  • 语料库/ — 分类汇总语料库

命令参考

# 完整流程
python .reasonix/skills/book-splitter/scripts/run_book_pipeline.py <小说.txt> [输出目录名]

# 分步执行
python .reasonix/skills/book-splitter/scripts/split_chapter.py <小说.txt> [输出目录]
python .reasonix/skills/book-splitter/scripts/classify_chapter.py <章目录>
python .reasonix/skills/book-splitter/scripts/build_book_index.py <章节输出目录> [语料库目录]

# 查看规则引擎
python .reasonix/skills/book-splitter/scripts/rules.py

输出结构

输出A — 按章分

{输出目录}/
├── meta.json                     # 全书元信息
├── _全局统计.json               # 全局分类分布
│
├── 第1章_章名/
│   ├── raw.md                    # 本章完整原文
│   ├── _分类统计.json           # 本章分类统计
│   ├── 人物/
│   │   ├── 身份属性/
│   │   │   └── 身份属性_s0001-内容摘要前20字.md
│   │   ├── 性格心理/
│   │   ├── 对话/
│   │   └── ...
│   ├── 背景/
│   ├── 环境/
│   ├── 场景/
│   ├── 道具/
│   ├── 动作/
│   └── 叙述/
├── 第2章_章名/
│   └── ...
└── ...

输出B — 语料库

和章节输出同级,目录名为 语料库/

语料库/                              ← 数据语料库
├── _索引统计.json                   # 各子类文件数
│
├── 人物/
│   ├── 身份属性/                    # 全书所有身份属性片段
│   │   ├── 第1章_章名_身份属性_s0001-内容摘要前20字.md
│   │   └── 第3章_章名_身份属性_s0005-内容摘要前20字.md
│   ├── 性格心理/
│   ├── 对话/
│   ├── 能力体系/
│   ├── 关系网络/
│   ├── 人物弧光/
│   └── 日历/
├── 背景/
│   ├── 时代与世界/
│   ├── 世界观/
│   ├── 势力阵营/
│   ├── 种族物种/
│   ├── 文化习俗/
│   ├── 经济货币/
│   └── 语言术语/
├── 环境/
│   ├── 自然环境/
│   └── 感官氛围/
├── 场景/
│   ├── 场景标识/
│   ├── 场景功能/
│   └── 场景内道具/
├── 道具/
│   ├── 道具档案/
│   └── 流转轨迹/
├── 动作/
│   └── 战斗/
└── 叙述/
    ├── 修辞文风/
    ├── 结构/
    ├── 章节信息/
    └── 时间线/

文件名格式:{章名}{子类}{编号}-{内容摘要}.md

单个分类文件的格式

# 人物 · 身份属性

**来源片段**: `s0001`
**置信度**: 0.92
**实体**: 人物名A · 人物名B
**LLM待复核**: 否
**摘要**: 少年约莫十七八岁,身穿洗得发白的青布长衫...

---

(完整原文片段)

文件命名规则

  • 语料库中:第1章浮村初遇身份属性_s0001-少年约莫十七八岁.md

= {章目录名}{子类}{片段编号}-{内容摘要}.md

  • 同一片段可出现在多个分类目录(一文多归)
  • 片段编号 s{序号} 按原文顺序排列,保留阅读顺序

检索方式

# 在语料库中查找某实体
grep -r "主角名" --include="*.md" 语料库/

# 查看语料库统计
cat 语料库/_索引统计.json

# 查看某章的完整分类统计
cat 第1章_章名/_分类统计.json

# 全书统计
cat _全局统计.json

分类体系(26 个子类)

父类 子类 说明
人物 身份属性 姓名/年龄/外貌/职业
人物 性格心理 个性/欲望/内心活动
人物 日历 时间节点/昼夜
人物 能力体系 功法/招式/境界
人物 关系网络 社会/情感/利益关系
人物 对话 内容/对象/情绪/潜台词
人物 人物弧光 成长轨迹/隐藏秘密
背景 时代与世界 纪年/历史节点/节日
背景 世界观 底层法则/超凡规则
背景 势力阵营 门派/家族/国家
背景 种族物种 非人族群特征
背景 文化习俗 礼仪/禁忌/服饰饮食
背景 经济货币 货币体系/物价/资源
背景 语言术语 特有词汇/黑话/咒语
环境 自然环境 地理/气候/天象(客观)
环境 感官氛围 视听嗅触描写/情绪基调(主观)
场景 场景标识 名称/描述/场景切换
场景 场景功能 推进/展示/营造
场景 场景内道具 场景关联道具
道具 道具档案 名称/类型/功能/设定
道具 流转轨迹 持有者变化/传承
动作 战斗 战斗描写
叙述 修辞文风 比喻/象征/句式
叙述 结构 顺叙/倒叙/插叙/视角切换
叙述 章节信息 章名/字数/视角
叙述 时间线 时间推进标记

分类规则引擎逻辑

  1. 规则匹配:关键词命中 + 正则模式 → 置信度 0.00-0.99
  2. 置信度分级

- ≥0.80 → 直接入库(规则确定,LLM待复核: 否) - 0.40-0.79 → 标记 LLM待复核: 是(需精分) - <0.40 → 丢弃 / 兜底归入"叙述·章节信息"

  1. LLM 精分:对低置信度或多重匹配的片段,预留了 LLM 调用的桥接接口(segmenthasllm_work()
  2. 一文多归:同一片段可匹配多个分类,全部写入对应目录

工作流

当用户请求解析一本小说时:

  1. 确认小说文件路径
  2. 运行:

``bash python .reasonix/skills/book-splitter/scripts/runbookpipeline.py <小说文件名> ``

  1. 查看输出统计:

- 拆了多少章、多少语义片段 - 分类覆盖率、需要 LLM 精分的片段数 - 各分类的分布

  1. 向用户报告结果,询问下一步(浏览/搜索/LLM精分)

注意事项

  • 编码:自动检测 UTF-8 / GBK / GB18030,无需手动指定
  • 章节识别:支持 第X章/第X卷/序章/楔子/引子/尾声/番外 等格式;无标题时自动按 4000 字分卷
  • 语料库:每次运行清空重建,不保留旧数据
  • LLM 精分:当前仅实现了规则引擎,LLM待复核: 是 的片段预留了 bridge,需自行触发
  • 文件编码:所有输出文件为 UTF-8