@zb2947244682/supernovel 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +306 -78
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -1,122 +1,350 @@
1
- # SuperNovel - AI小说生成器
1
+ # SuperNovel 📚
2
2
 
3
- 基于 Core-Shell 架构的 AI 长篇小说生成系统。
3
+ AI-powered novel generation system with Core-Shell architecture and RAG for long-form consistency.
4
4
 
5
- ## 架构设计
5
+ 一个基于 Core-Shell 架构的 AI 长篇小说生成系统,支持向量检索和知识图谱,确保几百章长篇小说的一致性。
6
6
 
7
- 项目采用 **Core-Shell 架构**,分为三层:
7
+ ---
8
8
 
9
- ### 1. Core 层(核心层)
10
- - **纯函数**:所有业务逻辑都是纯函数,无副作用
11
- - **Effects 模式**:UseCase 返回 Effect 声明而非直接执行 I/O
12
- - **类型安全**:完整的 TypeScript 类型定义
9
+ ## 🚀 快速开始(小白教程)
13
10
 
14
- ### 2. Bus 层(总线层)
15
- - **命令分发**:Command 到 UseCase 的路由
16
- - **Effect 执行**:执行 Core 层声明的 Effects
17
- - **工作流协调**:管理生成流程的状态流转
11
+ ### 第一步:安装 Node.js
18
12
 
19
- ### 3. Shell 层(外壳层)
20
- - **TUI 界面**:基于 @inquirer/prompts 的交互式界面
21
- - **CLI 支持**:命令行接口
22
- - **配置管理**:用户配置和项目存储
13
+ 1. 访问 [nodejs.org](https://nodejs.org)
14
+ 2. 下载 **LTS** 版本(推荐 20.x 或更高)
15
+ 3. 双击安装,一直点"下一步"即可
16
+ 4. 验证安装:打开命令提示符(CMD)或 PowerShell,输入:
17
+ ```bash
18
+ node --version
19
+ npm --version
20
+ ```
23
21
 
24
- ### 4. Adapters 层(适配器层)
25
- - **AI 适配器**:支持 OpenAI、Anthropic、OpenRouter 等
26
- - **存储适配器**:文件系统操作
27
- - **校验适配器**:AI 辅助的内容校验
22
+ ### 第二步:获取 AI API 密钥
28
23
 
29
- ## 安装
24
+ 本工具需要 AI 模型来生成小说,支持以下服务商:
25
+
26
+ #### 选项 A:阿里云灵积(推荐国内用户)
27
+ 1. 访问 [dashscope.aliyun.com](https://dashscope.aliyun.com)
28
+ 2. 注册/登录账号
29
+ 3. 创建 API Key
30
+ 4. 推荐模型:`qwen3.5-flash`(速度快、价格便宜)
31
+
32
+ #### 选项 B:OpenAI(需要翻墙)
33
+ 1. 访问 [platform.openai.com](https://platform.openai.com)
34
+ 2. 创建 API Key
35
+ 3. 推荐模型:`gpt-4o-mini` 或 `gpt-4o`
36
+
37
+ #### 选项 C:其他平台
38
+ - **OpenRouter**: 支持多种模型聚合
39
+ - **Anthropic Claude**: 适合长文本生成
40
+
41
+ ### 第三步:运行 SuperNovel
42
+
43
+ 打开命令提示符,输入以下命令:
30
44
 
31
45
  ```bash
32
- npm install
33
- npm run build
46
+ # 使用 npx 直接运行(无需安装)
47
+ npx @zb2947244682/supernovel
48
+ ```
49
+
50
+ ### 第四步:初始化配置
51
+
52
+ 第一次运行会提示初始化,选择你的 AI 服务商并输入 API Key:
53
+
54
+ ```bash
55
+ # 或者在 D:\Novel 目录下运行初始化
56
+ mkdir D:\Novel
57
+ cd D:\Novel
58
+ npx @zb2947244682/supernovel init
59
+ ```
60
+
61
+ 这将创建:
62
+ - `D:\Novel\config.json` - AI 配置
63
+ - `D:\Novel\draft\` - 小说存放目录
64
+ - `D:\Novel\logs\` - 日志目录
65
+
66
+ ### 第五步:生成你的第一部小说
67
+
68
+ #### 方式一:TUI 交互界面(推荐新手)
69
+
70
+ ```bash
71
+ npx @zb2947244682/supernovel
72
+ ```
73
+
74
+ 然后按提示选择:
75
+ 1. 🏗️ 生成小说框架 → 输入你的创意
76
+ 2. 📝 生成章节内容 → 选择刚创建的项目
77
+ 3. 等待 AI 生成完成
78
+
79
+ #### 方式二:命令行(适合高级用户)
80
+
81
+ ```bash
82
+ # 1. 生成小说框架
83
+ cd D:\Novel
84
+ npx @zb2947244682/supernovel framework "一个关于程序员穿越到异世界的故事" --name my-first-novel
85
+
86
+ # 2. 生成所有章节
87
+ npx @zb2947244682/supernovel chapters my-first-novel
88
+ ```
89
+
90
+ ### 第六步:查看成果
91
+
92
+ 生成完成后,在 `D:\Novel\draft\你的项目名\` 目录下可以看到:
93
+
94
+ ```
95
+ my-first-novel/
96
+ ├── project.json # 项目主文件(包含所有数据)
97
+ ├── requirements.md # 需求文档
98
+ ├── world.md # 世界观设定
99
+ ├── outline.md # 小说大纲
100
+ └── chapters/ # 章节文件
101
+ ├── chapter-1-1.md
102
+ ├── chapter-1-2.md
103
+ ├── chapter-1-3.md
104
+ └── ...
34
105
  ```
35
106
 
36
- ## 使用
107
+ 用任何文本编辑器(如记事本、VS Code)打开 `.md` 文件即可阅读。
37
108
 
38
- ### 方式一:TUI 界面(推荐)
109
+ ---
110
+
111
+ ## 📖 完整命令参考
112
+
113
+ ### 全局安装(可选)
114
+
115
+ 如果你不想每次都输入 `npx`,可以全局安装:
39
116
 
40
117
  ```bash
41
- npm start
42
- # 或
43
- npx supernovel
118
+ npm install -g @zb2947244682/supernovel
119
+
120
+ # 之后直接使用
121
+ supernovel
122
+ # 或简写
123
+ sn
44
124
  ```
45
125
 
46
- ### 方式二:CLI 命令
126
+ ### 所有命令
47
127
 
48
128
  ```bash
129
+ # 初始化配置
130
+ supernovel init
131
+
132
+ # 测试 AI 连接
133
+ supernovel test
134
+
49
135
  # 生成小说框架
50
- npx supernovel framework "你的小说创意描述" --name my-novel
136
+ supernovel framework "你的创意描述" --name 项目名称
51
137
 
52
138
  # 生成章节
53
- npx supernovel chapters ./my-novel
139
+ supernovel chapters 项目名称
140
+
141
+ # 查看帮助
142
+ supernovel --help
143
+ ```
144
+
145
+ ---
146
+
147
+ ## ⚙️ 配置文件详解
148
+
149
+ 编辑 `D:\Novel\config.json`:
54
150
 
55
- # 测试 AI 模型
56
- npx supernovel test
151
+ ```json
152
+ {
153
+ "ai": {
154
+ "provider": "custom",
155
+ "baseURL": "https://dashscope.aliyuncs.com/compatible-mode/v1",
156
+ "apiKey": "你的API密钥",
157
+ "model": "qwen3.5-flash",
158
+ "temperature": 0.7,
159
+ "maxTokens": 8000
160
+ }
161
+ }
57
162
  ```
58
163
 
59
- ## 工作流程
164
+ ### 参数说明
60
165
 
61
- 1. **生成框架**
62
- - 输入自然语言需求描述
63
- - AI 生成需求文档、世界观、大纲
64
- - 保存为项目文件
166
+ | 参数 | 说明 | 推荐值 |
167
+ |------|------|--------|
168
+ | `provider` | AI 服务商类型 | `custom` / `openai` / `anthropic` |
169
+ | `baseURL` | API 地址 | 根据服务商填写 |
170
+ | `apiKey` | 你的 API 密钥 | 从服务商获取 |
171
+ | `model` | 模型名称 | `qwen3.5-flash` / `gpt-4o` |
172
+ | `temperature` | 创造性(0-2) | 0.7(平衡)|
173
+ | `maxTokens` | 单次最大输出 | 8000(越大越不容易截断)|
65
174
 
66
- 2. **生成章节**
67
- - 选择已创建的项目
68
- - AI 自动按大纲生成章节
69
- - 自动校验并保存
175
+ ---
70
176
 
71
- 3. **导出小说**
72
- - 导出为 Markdown 格式
73
- - 后续支持 EPUB 格式
177
+ ## 🎯 创意描述技巧
74
178
 
75
- ## 项目结构
179
+ 好的创意描述会让 AI 生成更精彩的小说:
180
+
181
+ ### ✅ 好的示例
76
182
 
77
183
  ```
78
- ~/novel/ # 默认小说存储目录
79
- └── my-novel/ # 项目目录
80
- ├── project.json # 项目主文件
81
- ├── requirements.md # 需求文档
82
- ├── world.md # 世界观设定
83
- ├── outline.md # 小说大纲
84
- └── chapters/ # 章节文件
85
- ├── chapter-1.md
86
- ├── chapter-2.md
87
- └── ...
184
+ 异世界治愈奇幻小说,讲述一位现代医生穿越到魔法世界,
185
+ 用医学知识解决魔法无法治愈的疾病。
186
+ 主题是治愈与救赎,风格温暖治愈,适合全年龄阅读。
88
187
  ```
89
188
 
90
- ## 配置
189
+ ```
190
+ 科幻悬疑小说,主角发现自己生活在一个虚拟现实中,
191
+ 每次死亡都会回到起点,但保留记忆。
192
+ 需要解开这个世界的真相才能逃脱。
193
+ ```
91
194
 
92
- 首次运行会自动创建配置文件:
195
+ ### ❌ 避免的描述
93
196
 
94
197
  ```
95
- ~/.supernovel/config.json
198
+ 写个小说 # 太简单
199
+ 玄幻小说 # 太笼统
200
+ 类似斗破苍穹的小说 # 涉及版权作品
96
201
  ```
97
202
 
98
- 支持的 AI 提供商:
99
- - OpenAI (GPT-4, GPT-3.5)
100
- - Anthropic (Claude)
101
- - OpenRouter (多种模型)
102
- - 自定义 API
203
+ ---
204
+
205
+ ## 🔧 常见问题
206
+
207
+ ### Q1: 提示 "未找到配置文件"
208
+ **解决**: 先运行 `supernovel init` 初始化
209
+
210
+ ### Q2: API 报错 401
211
+ **解决**: API Key 不正确,检查 config.json 中的 apiKey
212
+
213
+ ### Q3: 生成的 JSON 解析失败
214
+ **解决**: 增加 `maxTokens` 到 8000 或更高,避免响应被截断
215
+
216
+ ### Q4: 章节的 volume 显示 undefined
217
+ **解决**: 已修复,请更新到最新版本
218
+
219
+ ### Q5: 如何修改已生成的大纲?
220
+ **解决**: 直接编辑 `outline.md` 文件,然后重新生成章节
221
+
222
+ ### Q6: 支持生成多少章?
223
+ **解决**: 理论上无限制。3章后自动启用 RAG(检索增强生成),确保长文本一致性
224
+
225
+ ---
226
+
227
+ ## 🏗️ 架构设计
228
+
229
+ 项目采用 **Core-Shell 架构**:
230
+
231
+ ```
232
+ ┌─────────────────────────────────────────────────────────┐
233
+ │ Shell 层 (CLI / TUI) │
234
+ │ - 用户交互界面 │
235
+ └─────────────────────────────────────────────────────────┘
236
+
237
+ ┌─────────────────────────────────────────────────────────┐
238
+ │ Bus 层 (Command Dispatcher) │
239
+ │ - 命令分发、Effect 执行、工作流协调 │
240
+ └─────────────────────────────────────────────────────────┘
241
+
242
+ ┌─────────────────────────────────────────────────────────┐
243
+ │ Core 层 (纯函数业务逻辑) │
244
+ │ - UseCases: generateWorld, generateOutline, etc. │
245
+ │ - Effects: 声明式副作用 │
246
+ └─────────────────────────────────────────────────────────┘
247
+
248
+ ┌─────────────────────────────────────────────────────────┐
249
+ │ Adapters 层 (AI / Storage / Logger) │
250
+ │ - AI 适配器、文件存储、日志系统 │
251
+ └─────────────────────────────────────────────────────────┘
252
+ ```
253
+
254
+ ### RAG 长文本一致性系统
255
+
256
+ ```
257
+ ┌─────────────────────────────────────────────────────────┐
258
+ │ RAG Layer │
259
+ ├─────────────────────────────────────────────────────────┤
260
+ │ 1. 向量存储 (Vector Store) │
261
+ │ - 章节语义嵌入、相似度检索 │
262
+ ├─────────────────────────────────────────────────────────┤
263
+ │ 2. 知识图谱 (Knowledge Graph) │
264
+ │ - 实体、关系、事件追踪 │
265
+ ├─────────────────────────────────────────────────────────┤
266
+ │ 3. 分层摘要 (Hierarchical Summaries) │
267
+ │ - 全书 → 卷 → 章 三级摘要体系 │
268
+ ├─────────────────────────────────────────────────────────┤
269
+ │ 4. 一致性检查 (Consistency Checker) │
270
+ │ - 角色、世界观、时间线验证 │
271
+ └─────────────────────────────────────────────────────────┘
272
+ ```
273
+
274
+ ---
275
+
276
+ ## 💡 高级用法
277
+
278
+ ### 自定义存储路径
279
+
280
+ 设置环境变量:
281
+
282
+ ```bash
283
+ # Windows PowerShell
284
+ $env:SUPERNOVEL_HOME = "D:\MyNovels"
285
+
286
+ # Windows CMD
287
+ set SUPERNOVEL_HOME=D:\MyNovels
288
+ ```
289
+
290
+ ### 批量生成多个项目
291
+
292
+ ```bash
293
+ # 创建批处理脚本 generate.bat
294
+ @echo off
295
+ supernovel framework "创意1" --name novel1
296
+ supernovel framework "创意2" --name novel2
297
+ supernovel chapters novel1
298
+ supernovel chapters novel2
299
+ ```
300
+
301
+ ---
302
+
303
+ ## 📄 导出格式
304
+
305
+ 目前支持:
306
+ - **Markdown** (`.md`) - 默认格式,适合阅读
307
+ - **项目 JSON** (`.json`) - 包含完整数据,可重新导入
308
+
309
+ 未来计划:
310
+ - EPUB 电子书格式
311
+ - PDF 格式
312
+ - Word 文档
313
+
314
+ ---
315
+
316
+ ## 🤝 参与贡献
317
+
318
+ 欢迎提交 Issue 和 PR!
319
+
320
+ ```bash
321
+ # 克隆项目
322
+ git clone https://github.com/username/supernovel.git
323
+ cd supernovel
324
+
325
+ # 安装依赖
326
+ npm install
327
+
328
+ # 开发模式
329
+ npm run dev
330
+
331
+ # 运行测试
332
+ npm test
333
+ ```
334
+
335
+ ---
336
+
337
+ ## 📜 许可证
103
338
 
104
- ## 特性
339
+ MIT License
105
340
 
106
- - 全自动小说生成,无需人工干预
107
- - 智能校验:字数、角色一致性、禁用元素等
108
- - 两阶段生成:先框架后章节,确保质量
109
- - 纯函数架构,易于测试和维护
110
- - 模块化设计,易于扩展
341
+ ---
111
342
 
112
- ## 技术栈
343
+ ## 🙏 致谢
113
344
 
114
- - TypeScript 5.x
115
- - Node.js 20+
116
- - @inquirer/prompts (TUI)
117
- - Commander.js (CLI)
118
- - Vitest (测试)
345
+ - 阿里云灵积平台提供的模型支持
346
+ - 开源社区的贡献者们
119
347
 
120
- ## 许可证
348
+ ---
121
349
 
122
- MIT
350
+ **Happy Writing! 🎉**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zb2947244682/supernovel",
3
- "version": "1.0.0",
3
+ "version": "1.1.0",
4
4
  "description": "AI长篇小说生成系统 - Core-Shell架构 + RAG长文本一致性",
5
5
  "main": "dist/core/index.js",
6
6
  "types": "dist/core/index.d.ts",