Skip to main content

import-world-from-book

基于一本书/设定集/IP,结构化构建完整的虚拟世界文件夹,支持完整文件化整本书

Ir para a instalação

Informações da origem

Repositório
talesofai/world-studio-context-demo
Última atividade na origem
21 de fevereiro de 2026 às 03:23
Idioma detectado do SKILL.md
chinês
Estrelas
2
Forks
0

Opções de instalação

Por padrão, está selecionado o prompt que primeiro revisa a origem. Você pode mudar para um comando direto ou baixar uma cópia local.

Revise os arquivos de origem

Leia o SKILL.md e os arquivos complementares exibidos pelo SkillsMP antes de decidir se vai instalar.

Explorador de arquivos
30 arquivos

Exibindo SKILL.md

SKILL.md
Instruções da origem · Visualização somente leitura
name
import-world-from-book
description
基于一本书/设定集/IP,结构化构建完整的虚拟世界文件夹,支持完整文件化整本书
# 从书籍构建虚拟世界技能 ## 核心产出物 | 文件/目录 | 说明 | |----------|------| | `WORLD.md` | 世界总览:名称、类型、核心基调、核心设定 | | `glossary.md` | ✅ 【最高优先级】术语表:记录同一个实体的所有指代方式(别名、简称、昵称、不同称呼、不同语言译名等),所有其他文件必须严格使用本表中的主名称,禁止混用别名 | | `timeline.md` | 全局极简时间线索引(详细时间线在`story/timeline/`下) | | `characters/` | 所有角色的完整档案 | | `locations/` | 所有地点/地理的完整档案 | | `factions/` | 所有势力/组织/家族/门派/公司的完整档案 | | `lore/` | 通用设定:规则/魔法/科技/文化/宗教/经济/种族/习俗 | | `story/` | 完整故事内容:`volumes/`原文章节 + `timeline/`详细时间线 + `biographies/`角色传记 + `events/`事件始末 | | `raw_text/` | 原文拆分后的所有章节块,**只读,永远不要修改** | | `assets/` | 资源文件:地图/插画/音频/参考资料等 | --- ## 快速开始 ```bash # 1. 初始化世界文件夹(复制 .opencode/skills/import-world-from-book/template/) cp -r .opencode/skills/import-world-from-book/template/ ./my-world # ⚠️ 注意:不要删除 my-world 里的 template 框架文件(如 *_template.md 和 README.md)。现在的脚本会自动把它们作为提取规范。 # 2. 创建空白 glossary.md,WORLD.md 可先留空后续补充 # 3. 拆分书籍为 chunks cd .opencode/skills/import-world-from-book/scripts npm run split-book -- -i /path/to/book.epub -o /path/to/my-world/raw_text # 4. 自动化深度提取世界内容 npm run extract-world -- -w /path/to/my-world ``` --- ## 执行流程 ### 步骤 1:初始化世界文件夹(仅执行 1 次) 1. 复制 `.opencode/skills/import-world-from-book/template/` 为你的世界根目录(比如 `./my-world`) 2. **保留模板结构**:不需要像旧版那样删除示例文件,现在的 `extract-world` 脚本会自动挂载这些带 `template` 的文件作为对大模型的严厉格式约束,并且会严格禁止大模型生成多余的模板文件。 3. 创建空白 `glossary.md`,`WORLD.md` 可先留空,等提取部分内容后再补充 --- ### 步骤 2:拆分书籍为 Chunks 使用 `split-book` 工具将 epub/txt 拆分为适合处理的文本块。 **命令示例:** ```bash npm run split-book -- -i /path/to/book.epub -o /path/to/my-world/raw_text ``` **常用参数:** - `-i, --input <path>` - 输入书籍文件(epub/txt,必填) - `-o, --output <path>` - 输出目录(必填,通常是世界文件夹下的 `raw_text/`) - `--chunk-size <number>` - 单个 chunk 最大字符数(默认 50000) - `--start <number>` - 起始章节编号(1-based,默认 1) **查看完整帮助:** ```bash npm run split-book -- -h ``` ✅ `raw_text/` 中的文件是原始拆分结果,**只读,永远不要修改** --- ### 步骤 3:自动化深度提取世界内容 使用 `extract-world` 工具遍历 `raw_text/` 中的所有 chunk,逐个调用 opencode 进行深度提取。 **命令示例:** ```bash # 处理所有 chunk(从第 1 个开始) npm run extract-world -- -w /path/to/my-world # 从第 5 个 chunk 开始处理 npm run extract-world -- -w /path/to/my-world --start 5 # 只处理第 10-20 个 chunk npm run extract-world -- -w /path/to/my-world --start 10 --end 20 # 预览要处理的 chunk(不实际执行) npm run extract-world -- -w /path/to/my-world --dry-run # 指定 agent 和 model npm run extract-world -- -w /path/to/my-world --agent my-agent --model provider/model-name ``` **常用参数:** - `-w, --world-dir <path>` - 世界文件夹路径(必填,包含 `raw_text/`) - `--start <number>` - 起始 chunk 编号(1-based,默认 1) - `--end <number>` - 结束 chunk 编号(inclusive,默认处理所有剩余) - `--dry-run` - 预览模式,只显示要处理的 chunk 不实际执行 - `--agent <name>` - 使用指定的 agent - `--model <model>` - 使用指定的 model(格式:provider/model-name) **查看完整帮助:** ```bash npm run extract-world -- -h ``` **⚠️ 重要说明:** - 脚本会严格按照 chunk 顺序逐个串行处理,一次只处理一个分块 - 每个 chunk 处理完成后会自动等待 2 秒再处理下一个 - 如遇单个 chunk 处理失败,脚本会记录错误并继续处理下一个 chunk - 脚本会自动从 `.opencode/skills/import-world-from-book/template` 中加载各种防呆模板去约束大模型,彻底防止死链、丢失格式、丢失中文命名等问题。 --- ### 步骤 4:收尾整合(全本处理完成后执行) 1. **补全档案总结**:为角色、地点、势力档案添加总结性描述,梳理人物弧光、事件影响等 2. **清理无用文件**:如果大模型还是意外生成了一些残余文件(如 `template_file_leak.md`),可以通过一条指令删除。 3. **解决冲突点**:统一所有标记的`⚠️ 待确认`矛盾信息 4. **全局校验**:由于我们在 V4 中强制加入了【绝对路径链接】原则,你需要检查所有带有 `/characters/...` 形式的链接是否均可点击。 5. **建立关联网络**:所有文件中提到其他实体时添加内部链接,方便检索 6. **整理资源**:整理地图、插画等资源到`assets/`,删除临时文件 --- ## 🛠️ 工具参考 工具位置:`.opencode/skills/import-world-from-book/scripts/` ### 1. `split-book` - 拆分书籍为 Chunks - 功能:将 epub/txt 拆分为适合处理的独立文本块 - 拆分优先级:章节标记→段落→句子结尾,不会丢失任何内容 - 使用方法:`npm run split-book -- -h` 查看完整参数 ### 2. `extract-world` - 自动化深度提取世界内容 - 功能:遍历 `raw_text/` 中的所有 chunk,使用 opencode 逐个进行深度提取 - 基于 opencode run 命令实现,参考文档:https://opencode.ai/docs/cli/#run-1 - 使用方法:`npm run extract-world -- -h` 查看完整参数
Ver no GitHub