@dayinxisheng/novel-tools
v0.4.5
Published
小说创作辅助工具集 - TypeScript 实现
Maintainers
Readme
@dayinxisheng/novel-tools
小说创作辅助工具集 - TypeScript 实现
概述
这是一套用于长篇小说创作的命令行工具,提供设定管理、状态查询、一致性检查等功能。原 Python 脚本的 TypeScript 移植版本。
功能
- 全局配置:管理项目路径配置,支持自动路径解析
- 项目初始化:创建标准的小说项目目录结构
- 查询功能:查询静态设定、人物信息、状态快照、人物关系、伏笔等
- 事件管理:追加事件、生成章节摘要、列出事件
- 临时设定:添加临时设定、审核队列、迁移到正式设定
- 快照管理:生成、列出、查看卷级/弧级状态快照
- 一致性检查:检查大纲、章节的一致性
- 风格分析:从 JSONL 文件提取章节内容用于写作风格分析
安装
npm install -g @dayinxisheng/novel-tools或作为项目依赖:
npm install @dayinxisheng/novel-tools使用
全局配置管理
# 设置当前项目的小说路径
novel-tools config set my-novel
# 查看当前项目配置
novel-tools config get
# 列出所有已配置的项目
novel-tools config list
# 删除当前项目配置
novel-tools config unset配置后,在项目的任何子目录执行命令都会自动使用配置的小说路径,无需每次指定 -p 参数。
初始化项目
novel-tools init my-novel webnovel查询设定
# 查询静态设定
novel-tools query setting world
novel-tools query setting power_system
# 查询设定大纲(多层级标题树状结构)
novel-tools query setting world --outline
# 提取指定大章节内容
novel-tools query setting world --section "第一章"
# 查询人物信息
novel-tools query character 张三
# 查询人物关系
novel-tools query relationships 张三
novel-tools query relationships
# 查询伏笔(默认显示未解决)
novel-tools query foreshadows
# 查询特定状态的伏笔
novel-tools query foreshadows --status resolved
# 查询当前状态快照
novel-tools query state
# 查询指定卷的状态快照
novel-tools query state --volume 1事件管理
追加事件
# JSON 字符串
novel-tools event append 1 --events '[{"type":"出场","character":"林风"}]'
# 从文件
novel-tools event append 1 --file events.json
# 交互式
novel-tools event append 1 --interactive
# 覆盖已存在的事件
novel-tools event append 1 --events '[...]' --replace章节摘要
novel-tools event summary 1 --output table
novel-tools event summary 1 --output json
novel-tools event summary 1 --output markdown列出事件
# 列出所有事件
novel-tools event list
# 按章节过滤
novel-tools event list --chapter 1
# 按类型过滤
novel-tools event list --type 出场
# 按卷过滤(新增)
novel-tools event list --volume 1
# 按弧过滤(新增)
novel-tools event list --volume 1 --arc 1
novel-tools event list --volume 1 --arc "圣道觉醒"
# 包含章纲摘要(新增)
novel-tools event list --volume 1 --include-plans临时设定管理
添加临时设定
# 添加人物(--type、--name、--chapter 为必需参数)
novel-tools temp-setting add --type character --name 林风 --chapter 5 --description "主要角色"
# 添加物品
novel-tools temp-setting add --type item --name 神秘令牌 --chapter 6 --description "一枚刻有古老符文的令牌"列出待审核项
novel-tools temp-setting list
novel-tools temp-setting list --type character审核设定
# 交互式审核
novel-tools temp-setting review --interactive
# 列出所有待审核项
novel-tools temp-setting review迁移设定
# 迁移为正式人物卡片
novel-tools temp-setting migrate 林风 --to-character
# 迁移为正式设定元素
novel-tools temp-setting migrate 神秘令牌 --to-element
# 自定义目标路径
novel-tools temp-setting migrate 林风 --location characters/cards/supporting/林风.md一致性检查
# 检查大纲
novel-tools check outline
# 检查章节
novel-tools check chapter 5生成快照
# 生成卷级快照
novel-tools snapshot generate --volume 1
# 生成弧级快照
novel-tools snapshot generate --arc "英雄之旅"
# 列出所有快照
novel-tools snapshot list
# 查看快照详情
novel-tools snapshot show vol1
novel-tools snapshot show "英雄之旅"写作风格分析
# 显示 JSONL 文件信息
novel-tools style info chapters.jsonl
# 提取章节内容用于风格分析
novel-tools style extract chapters.jsonl --output sample.md
# 提取指定数量章节
novel-tools style extract chapters.jsonl --count 20 --output sample.md
# 从指定章节开始提取
novel-tools style extract chapters.jsonl --start 10 --count 5
# 随机选择章节
novel-tools style extract chapters.jsonl --count 10 --random
# 输出纯文本格式
novel-tools style extract chapters.jsonl --format text开发
# 安装依赖
npm install
# 构建
npm run build
# 运行测试
npm test
# 监听模式
npm run dev许可证
MIT
