@dayinxisheng/novel-tools 0.2.0 → 0.2.2

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.
package/CHANGELOG.md CHANGED
@@ -5,6 +5,82 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.2.2] - 2026-03-10
9
+
10
+ ### Added
11
+
12
+ #### query setting 命令增强
13
+ - `--outline` 选项 - 显示设定文件的大章节列表
14
+ - 提取所有 `#` 开头的标题(大章节)
15
+ - 自动跳过文件标题(第一个 `#` 标题)
16
+ - `--section` 选项 - 按章节标题提取特定大章节内容
17
+ - 支持按章节名提取
18
+ - 自动返回完整章节内容
19
+
20
+ #### 新增服务方法
21
+ - `QueryService.getSettingOutline()` - 获取设定文件大纲
22
+ - `QueryService.querySettingSection()` - 查询指定章节内容
23
+ - `QueryService.queryStaticSetting()` - 改为返回文本内容(原为 YAML 对象)
24
+
25
+ ### Changed
26
+
27
+ #### 设定文件格式
28
+ - 静态设定文件格式从 `.yaml` 改为 `.md`
29
+ - `world.yaml` → `world.md`
30
+ - `power_system.yaml` → `power_system.md`
31
+ - `currency.md` (新增)
32
+ - 设定文件采用 Markdown 格式,使用 `#` 作为大章节标题
33
+ - 模板文件同步更新:
34
+ - `static_world.yaml` → `static_world.md`
35
+ - `state_snapshot.yaml` → `state_snapshot.md`
36
+ - `event_log.yaml` → `event_log.md`
37
+
38
+ #### 常量更新
39
+ - `NOVEL_TYPES` - 静态文件列表更新为 `.md` 格式
40
+ - `SETTING_FILE_MAP` - 文件映射更新为 `.md` 格式
41
+ - 新增 `currency` → `currency.md` 映射
42
+
43
+ #### 初始化服务更新
44
+ - `InitService.createWorldTemplate()` - 生成 Markdown 格式模板
45
+ - `InitService.createPowerSystemTemplate()` - 生成 Markdown 格式模板
46
+ - `InitService.createEraBackgroundTemplate()` - 生成 Markdown 格式模板
47
+
48
+ ### Breaking Changes
49
+ - 状态快照仍使用 `.yaml` 格式(结构化数据)
50
+ - 现有项目的静态设定文件需手动重命名为 `.md` 格式
51
+
52
+ ## [0.2.1] - 2026-03-10
53
+
54
+ ### Added
55
+
56
+ #### style 命令
57
+ - `style extract` - 从 JSONL 文件提取章节内容
58
+ - 支持指定提取章节数量(-n, --count)
59
+ - 支持指定起始章节号(-s, --start)
60
+ - 支持随机选择章节(--random)
61
+ - 支持多种输出格式:text、markdown
62
+ - 支持输出到文件或 stdout
63
+ - `style info` - 显示 JSONL 文件信息
64
+ - 显示总章节数、总字数
65
+ - 显示平均章节字数
66
+ - 显示最短/最长章节
67
+
68
+ #### 新增服务
69
+ - `StyleCommandService` - 风格命令服务
70
+ - JSONL 文件解析
71
+ - 章节内容提取
72
+ - 文件信息统计
73
+ - 随机章节选择
74
+
75
+ #### 新增类型定义
76
+ - `ChapterData` - 章节数据接口
77
+ - `ExtractOptions` - 提取选项接口
78
+ - `ExtractResult` - 提取结果接口
79
+ - `JsonlInfo` - 文件信息接口
80
+
81
+ ### Changed
82
+ - 更新 `commands/index.ts` 注册 style 命令
83
+
8
84
  ## [0.2.0] - 2026-03-09
9
85
 
10
86
  ### Added
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgCpC,eAAO,MAAM,GAAG,SAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkCpC,eAAO,MAAM,GAAG,SAAc,CAAC"}
@@ -6,6 +6,7 @@ import { createCheckCommand } from './check.js';
6
6
  import { createSnapshotCommand } from './snapshot.js';
7
7
  import { createEventCommand } from './event.js';
8
8
  import { createTempSettingCommand } from './temp-setting.js';
9
+ import { createStyleCommand } from './style.js';
9
10
  import { CLI_NAME, CLI_VERSION, CLI_DESCRIPTION } from '../core/constants.js';
10
11
  /**
11
12
  * 主 CLI 程序
@@ -23,6 +24,7 @@ function createCli() {
23
24
  program.addCommand(createSnapshotCommand());
24
25
  program.addCommand(createEventCommand());
25
26
  program.addCommand(createTempSettingCommand());
27
+ program.addCommand(createStyleCommand());
26
28
  return program;
27
29
  }
28
30
  // 导出供测试使用
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE9E;;GAEG;AACH,SAAS,SAAS;IAChB,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAE9B,OAAO;SACJ,IAAI,CAAC,QAAQ,CAAC;SACd,WAAW,CAAC,eAAe,CAAC;SAC5B,OAAO,CAAC,WAAW,CAAC,CAAC;IAExB,QAAQ;IACR,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACxC,OAAO,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACzC,OAAO,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACzC,OAAO,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC,CAAC;IAC5C,OAAO,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACzC,OAAO,CAAC,UAAU,CAAC,wBAAwB,EAAE,CAAC,CAAC;IAE/C,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,UAAU;AACV,MAAM,CAAC,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;AAE/B,cAAc;AACd,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IAC3C,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE9E;;GAEG;AACH,SAAS,SAAS;IAChB,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAE9B,OAAO;SACJ,IAAI,CAAC,QAAQ,CAAC;SACd,WAAW,CAAC,eAAe,CAAC;SAC5B,OAAO,CAAC,WAAW,CAAC,CAAC;IAExB,QAAQ;IACR,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACxC,OAAO,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACzC,OAAO,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACzC,OAAO,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC,CAAC;IAC5C,OAAO,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACzC,OAAO,CAAC,UAAU,CAAC,wBAAwB,EAAE,CAAC,CAAC;IAC/C,OAAO,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAEzC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,UAAU;AACV,MAAM,CAAC,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;AAE/B,cAAc;AACd,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IAC3C,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/commands/query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAuL5C"}
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/commands/query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAmN5C"}
@@ -11,8 +11,10 @@ export function createQueryCommand() {
11
11
  // 查询静态设定
12
12
  cmd
13
13
  .command('setting')
14
- .argument('<type>', '设定类型 (world|power_system|等级|世界观等)')
14
+ .argument('<type>', '设定类型 (world|power_system|currency等)')
15
15
  .option('-p, --path <path>', '项目路径')
16
+ .option('-o, --outline', '显示设定大纲(大章节列表)')
17
+ .option('-s, --section <title>', '提取指定大章节内容')
16
18
  .action(async (type, options) => {
17
19
  try {
18
20
  const projectPath = CliUtils.resolveProjectPath(options.path);
@@ -21,9 +23,34 @@ export function createQueryCommand() {
21
23
  CliUtils.error('未找到小说项目配置文件 (project.json)');
22
24
  process.exit(1);
23
25
  }
26
+ // 显示大纲
27
+ if (options.outline) {
28
+ const sections = await queryService.getSettingOutline(projectPath, type);
29
+ if (sections.length === 0) {
30
+ CliUtils.info('该设定文件没有大章节');
31
+ return;
32
+ }
33
+ CliUtils.title(`设定大纲: ${type}`);
34
+ for (const section of sections) {
35
+ console.log(` - ${section}`);
36
+ }
37
+ return;
38
+ }
39
+ // 提取指定章节
40
+ if (options.section) {
41
+ const content = await queryService.querySettingSection(projectPath, type, options.section);
42
+ if (!content) {
43
+ CliUtils.error(`未找到章节: ${options.section}`);
44
+ process.exit(1);
45
+ }
46
+ CliUtils.title(`${type} / ${options.section}`);
47
+ console.log(content);
48
+ return;
49
+ }
50
+ // 默认:显示完整内容
24
51
  const result = await queryService.queryStaticSetting(projectPath, type);
25
52
  CliUtils.title(`查询设定: ${type}`);
26
- console.log(JSON.stringify(result, null, 2));
53
+ console.log(result);
27
54
  }
28
55
  catch (error) {
29
56
  CliUtils.error(error instanceof Error ? error.message : String(error));
@@ -1 +1 @@
1
- {"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/commands/query.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/commands/query.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { Command } from 'commander';
2
+ /**
3
+ * 创建 style 命令 - 用于从 JSONL 文件提取章节内容供风格分析
4
+ */
5
+ export declare function createStyleCommand(): Command;
6
+ //# sourceMappingURL=style.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"style.d.ts","sourceRoot":"","sources":["../../src/commands/style.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAyE5C"}
@@ -0,0 +1,75 @@
1
+ import { Command } from 'commander';
2
+ import { StyleCommandService } from '../services/style-command.service.js';
3
+ import { CliUtils } from './shared.js';
4
+ /**
5
+ * 创建 style 命令 - 用于从 JSONL 文件提取章节内容供风格分析
6
+ */
7
+ export function createStyleCommand() {
8
+ const cmd = new Command('style');
9
+ cmd.description('从 JSONL 文件提取章节内容,用于写作风格分析');
10
+ // style extract — 提取章节内容
11
+ cmd
12
+ .command('extract')
13
+ .argument('<jsonlFile>', 'JSONL 文件路径')
14
+ .option('-o, --output <path>', '输出文件路径(默认输出到 stdout)')
15
+ .option('-n, --count <number>', '提取章节数量', '10')
16
+ .option('-s, --start <number>', '起始章节号', '1')
17
+ .option('--random', '随机选择章节')
18
+ .option('--format <format>', '输出格式: text | markdown', 'markdown')
19
+ .action(async (jsonlFile, options) => {
20
+ try {
21
+ const service = new StyleCommandService();
22
+ const count = parseInt(options.count, 10);
23
+ if (isNaN(count) || count < 1) {
24
+ CliUtils.error('章节数量必须是正整数');
25
+ process.exit(1);
26
+ }
27
+ const start = parseInt(options.start, 10);
28
+ if (isNaN(start) || start < 1) {
29
+ CliUtils.error('起始章节号必须是正整数');
30
+ process.exit(1);
31
+ }
32
+ const result = await service.extractFromJsonl(jsonlFile, {
33
+ count,
34
+ start,
35
+ random: options.random || false,
36
+ format: options.format,
37
+ });
38
+ if (options.output) {
39
+ await service.writeToFile(result, options.output);
40
+ CliUtils.success(`已提取 ${result.chapterCount} 章,保存到: ${options.output}`);
41
+ }
42
+ else {
43
+ console.log(result.content);
44
+ }
45
+ }
46
+ catch (error) {
47
+ CliUtils.error(error instanceof Error ? error.message : String(error));
48
+ process.exit(1);
49
+ }
50
+ });
51
+ // style info — 显示 JSONL 文件信息
52
+ cmd
53
+ .command('info')
54
+ .argument('<jsonlFile>', 'JSONL 文件路径')
55
+ .action(async (jsonlFile) => {
56
+ try {
57
+ const service = new StyleCommandService();
58
+ const info = await service.getJsonlInfo(jsonlFile);
59
+ console.log('\n📊 JSONL 文件信息\n');
60
+ console.log(`文件路径: ${jsonlFile}`);
61
+ console.log(`总章节数: ${info.totalChapters}`);
62
+ console.log(`总字数: ${info.totalWords.toLocaleString()}`);
63
+ console.log(`平均章节字数: ${info.avgWordsPerChapter.toLocaleString()}`);
64
+ console.log(`最短章节: 第 ${info.minChapter.chapter_id} 章 (${info.minChapter.chapter_length} 字)`);
65
+ console.log(`最长章节: 第 ${info.maxChapter.chapter_id} 章 (${info.maxChapter.chapter_length} 字)`);
66
+ console.log('');
67
+ }
68
+ catch (error) {
69
+ CliUtils.error(error instanceof Error ? error.message : String(error));
70
+ process.exit(1);
71
+ }
72
+ });
73
+ return cmd;
74
+ }
75
+ //# sourceMappingURL=style.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"style.js","sourceRoot":"","sources":["../../src/commands/style.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/core/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlD,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAiBvD,CAAC;AAGF,eAAO,MAAM,aAAa,UAgBzB,CAAC;AAGF,eAAO,MAAM,iBAAiB,UAAwC,CAAC;AAGvE,eAAO,MAAM,UAAU,UAAsD,CAAC;AAG9E,eAAO,MAAM,eAAe,UAA+B,CAAC;AAG5D,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAOnD,CAAC;AAGF,eAAO,MAAM,iBAAiB;;;;CAIpB,CAAC;AAGX,eAAO,MAAM,kBAAkB;;;;;CAKrB,CAAC;AAGX,eAAO,MAAM,QAAQ,gBAAgB,CAAC;AACtC,eAAO,MAAM,WAAW,UAAU,CAAC;AACnC,eAAO,MAAM,eAAe,2DAAc,CAAC;AAG3C,eAAO,MAAM,cAAc;;wCAEE,MAAM;yCACL,MAAM;uCACR,MAAM;2CACF,MAAM;;;CAG5B,CAAC;AAGX,eAAO,MAAM,gBAAgB;qCACH,MAAM;oCACP,MAAM;qCACL,MAAM;;;CAGtB,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/core/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlD,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAiBvD,CAAC;AAGF,eAAO,MAAM,aAAa,UAgBzB,CAAC;AAGF,eAAO,MAAM,iBAAiB,UAAwC,CAAC;AAGvE,eAAO,MAAM,UAAU,UAAsD,CAAC;AAG9E,eAAO,MAAM,eAAe,UAA+B,CAAC;AAG5D,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CASnD,CAAC;AAGF,eAAO,MAAM,iBAAiB;;;;CAIpB,CAAC;AAGX,eAAO,MAAM,kBAAkB;;;;;CAKrB,CAAC;AAGX,eAAO,MAAM,QAAQ,gBAAgB,CAAC;AACtC,eAAO,MAAM,WAAW,UAAU,CAAC;AACnC,eAAO,MAAM,eAAe,2DAAc,CAAC;AAG3C,eAAO,MAAM,cAAc;;wCAEE,MAAM;yCACL,MAAM;uCACR,MAAM;2CACF,MAAM;;;CAG5B,CAAC;AAGX,eAAO,MAAM,gBAAgB;qCACH,MAAM;oCACP,MAAM;qCACL,MAAM;;;CAGtB,CAAC"}
@@ -2,17 +2,17 @@
2
2
  export const NOVEL_TYPES = {
3
3
  webnovel: {
4
4
  name: '网文',
5
- staticFiles: ['world.yaml', 'power_system.yaml'],
5
+ staticFiles: ['world.md', 'power_system.md'],
6
6
  description: '修仙/玄幻/都市异能等网文类型'
7
7
  },
8
8
  literary: {
9
9
  name: '传统文学',
10
- staticFiles: ['world.yaml', 'era_background.yaml'],
10
+ staticFiles: ['world.md', 'era_background.md'],
11
11
  description: '现实主义/历史小说等传统文学类型'
12
12
  },
13
13
  fanfiction: {
14
14
  name: '同人',
15
- staticFiles: ['world.yaml'],
15
+ staticFiles: ['world.md'],
16
16
  extraDirs: ['references/fanfiction'],
17
17
  description: '基于原作的同人创作'
18
18
  }
@@ -43,12 +43,14 @@ export const TIME_WORDS = ['今天', '昨天', '明天', '刚才', '之后', '
43
43
  export const KEY_EVENT_TYPES = ['战斗', '重要决定', '死亡', '等级变化'];
44
44
  // ==================== 设定类型映射 ====================
45
45
  export const SETTING_FILE_MAP = {
46
- 'world': 'world.yaml',
47
- 'power_system': 'power_system.yaml',
48
- 'era_background': 'era_background.yaml',
49
- '等级': 'power_system.yaml',
50
- '世界观': 'world.yaml',
51
- '时代': 'era_background.yaml'
46
+ 'world': 'world.md',
47
+ 'power_system': 'power_system.md',
48
+ 'era_background': 'era_background.md',
49
+ 'currency': 'currency.md',
50
+ '等级': 'power_system.md',
51
+ '世界观': 'world.md',
52
+ '时代': 'era_background.md',
53
+ '货币': 'currency.md'
52
54
  };
53
55
  // ==================== 伏笔状态 ====================
54
56
  export const FORESHADOW_STATUS = {
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/core/constants.ts"],"names":[],"mappings":"AAEA,mDAAmD;AACnD,MAAM,CAAC,MAAM,WAAW,GAAoC;IAC1D,QAAQ,EAAE;QACR,IAAI,EAAE,IAAI;QACV,WAAW,EAAE,CAAC,YAAY,EAAE,mBAAmB,CAAC;QAChD,WAAW,EAAE,iBAAiB;KAC/B;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,CAAC,YAAY,EAAE,qBAAqB,CAAC;QAClD,WAAW,EAAE,kBAAkB;KAChC;IACD,UAAU,EAAE;QACV,IAAI,EAAE,IAAI;QACV,WAAW,EAAE,CAAC,YAAY,CAAC;QAC3B,SAAS,EAAE,CAAC,uBAAuB,CAAC;QACpC,WAAW,EAAE,WAAW;KACzB;CACF,CAAC;AAEF,mDAAmD;AACnD,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,iBAAiB;IACjB,gBAAgB;IAChB,yBAAyB;IACzB,uBAAuB;IACvB,6BAA6B;IAC7B,8BAA8B;IAC9B,oBAAoB;IACpB,mBAAmB;IACnB,SAAS;IACT,eAAe;IACf,QAAQ;IACR,kCAAkC;IAClC,gCAAgC;IAChC,iBAAiB;IACjB,sBAAsB;CACvB,CAAC;AAEF,kDAAkD;AAClD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;AAEvE,oDAAoD;AACpD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AAE9E,mDAAmD;AACnD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;AAE5D,mDAAmD;AACnD,MAAM,CAAC,MAAM,gBAAgB,GAA2B;IACtD,OAAO,EAAE,YAAY;IACrB,cAAc,EAAE,mBAAmB;IACnC,gBAAgB,EAAE,qBAAqB;IACvC,IAAI,EAAE,mBAAmB;IACzB,KAAK,EAAE,YAAY;IACnB,IAAI,EAAE,qBAAqB;CAC5B,CAAC;AAEF,iDAAiD;AACjD,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,UAAU,EAAE,YAAY;CAChB,CAAC;AAEX,mDAAmD;AACnD,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,IAAI,EAAE,MAAM;IACZ,UAAU,EAAE,YAAY;IACxB,UAAU,EAAE,aAAa;IACzB,OAAO,EAAE,SAAS;CACV,CAAC;AAEX,qDAAqD;AACrD,MAAM,CAAC,MAAM,QAAQ,GAAG,aAAa,CAAC;AACtC,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC;AACnC,MAAM,CAAC,MAAM,eAAe,GAAG,WAAW,CAAC;AAE3C,iDAAiD;AACjD,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,iBAAiB,EAAE,4BAA4B;IAC/C,kBAAkB,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,YAAY,IAAI,wCAAwC;IAC9F,mBAAmB,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,UAAU,IAAI,EAAE;IACvD,iBAAiB,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,UAAU,IAAI,EAAE;IACrD,kBAAkB,EAAE,CAAC,MAAe,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,MAAM,QAAQ,CAAC,CAAC,CAAC,QAAQ;IAClF,iBAAiB,EAAE,SAAS;IAC5B,gBAAgB,EAAE,SAAS;CACnB,CAAC;AAEX,iDAAiD;AACjD,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,eAAe,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,SAAS,IAAI,QAAQ;IACxD,cAAc,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,WAAW,IAAI,EAAE;IACnD,YAAY,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,MAAM,OAAO,SAAS;IACzD,YAAY,EAAE,QAAQ;IACtB,YAAY,EAAE,gBAAgB;CACtB,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/core/constants.ts"],"names":[],"mappings":"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"}
@@ -20,7 +20,7 @@ export declare class InitService {
20
20
  */
21
21
  private createStaticSettingTemplates;
22
22
  /**
23
- * 创建世界觿定模板
23
+ * 创建世界观设定模板
24
24
  */
25
25
  private createWorldTemplate;
26
26
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"init.service.d.ts","sourceRoot":"","sources":["../../src/services/init.service.ts"],"names":[],"mappings":"AAGA,OAAO,EAA4B,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGzE;;GAEG;AACH,qBAAa,WAAW;IACtB;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAiC1E;;OAEG;YACW,wBAAwB;IAWtC;;OAEG;YACW,mBAAmB;IAoBjC;;OAEG;YACW,4BAA4B;IAiB1C;;OAEG;YACW,mBAAmB;IAejC;;OAEG;YACW,yBAAyB;IAevC;;OAEG;YACW,2BAA2B;IAczC;;OAEG;YACW,yBAAyB;IA+CvC;;OAEG;YACW,qBAAqB;IAgBnC;;OAEG;YACW,gBAAgB;IAU9B;;OAEG;YACW,mBAAmB;CA6ClC"}
1
+ {"version":3,"file":"init.service.d.ts","sourceRoot":"","sources":["../../src/services/init.service.ts"],"names":[],"mappings":"AAGA,OAAO,EAA4B,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGzE;;GAEG;AACH,qBAAa,WAAW;IACtB;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAiC1E;;OAEG;YACW,wBAAwB;IAWtC;;OAEG;YACW,mBAAmB;IAoBjC;;OAEG;YACW,4BAA4B;IAiB1C;;OAEG;YACW,mBAAmB;IA0CjC;;OAEG;YACW,yBAAyB;IAsCvC;;OAEG;YACW,2BAA2B;IA4BzC;;OAEG;YACW,yBAAyB;IA+CvC;;OAEG;YACW,qBAAqB;IAgBnC;;OAEG;YACW,gBAAgB;IAU9B;;OAEG;YACW,mBAAmB;CA6ClC"}
@@ -69,59 +69,123 @@ export class InitService {
69
69
  // 创建世界觿定模板
70
70
  await this.createWorldTemplate(staticDir);
71
71
  // 根据类型创建额外设定
72
- if (typeConfig.staticFiles.includes('power_system.yaml')) {
72
+ if (typeConfig.staticFiles.includes('power_system.md')) {
73
73
  await this.createPowerSystemTemplate(staticDir);
74
74
  }
75
- if (typeConfig.staticFiles.includes('era_background.yaml')) {
75
+ if (typeConfig.staticFiles.includes('era_background.md')) {
76
76
  await this.createEraBackgroundTemplate(staticDir);
77
77
  }
78
78
  }
79
79
  /**
80
- * 创建世界觿定模板
80
+ * 创建世界观设定模板
81
81
  */
82
82
  async createWorldTemplate(staticDir) {
83
- const worldTemplate = {
84
- name: '世界观名称',
85
- description: '简要描述世界背景',
86
- geography: {
87
- continents: [],
88
- important_locations: []
89
- },
90
- factions: [],
91
- timeline: []
92
- };
93
- await YamlUtils.writeFile(path.join(staticDir, 'world.yaml'), worldTemplate);
83
+ const worldTemplate = `# 世界观
84
+
85
+ ## 世界本质
86
+
87
+ 简要描述世界的核心特征和运行逻辑。
88
+
89
+ ## 世界层次
90
+
91
+ 描述世界的层次结构(如灵界/人界等)。
92
+
93
+ ## 地理设定
94
+
95
+ ### 区域划分
96
+
97
+ - 区域1:描述
98
+ - 区域2:描述
99
+
100
+ ### 重要地点
101
+
102
+ - 地点1:描述
103
+ - 地点2:描述
104
+
105
+ ## 势力设定
106
+
107
+ ### 顶级势力
108
+
109
+ - 势力1:描述
110
+ - 势力2:描述
111
+
112
+ ### 中层势力
113
+
114
+ - 势力1:描述
115
+
116
+ ## 核心矛盾
117
+
118
+ 描述故事的核心矛盾冲突。
119
+ `;
120
+ await FileUtils.writeText(path.join(staticDir, 'world.md'), worldTemplate);
94
121
  }
95
122
  /**
96
123
  * 创建力量体系模板
97
124
  */
98
125
  async createPowerSystemTemplate(staticDir) {
99
- const powerTemplate = {
100
- name: '力量体系名称',
101
- description: '描述力量体系的基本原理',
102
- levels: [
103
- { name: '第一境界', description: '境界描述' },
104
- { name: '第二境界', description: '境界描述' }
105
- ],
106
- cultivation_methods: [],
107
- special_abilities: []
108
- };
109
- await YamlUtils.writeFile(path.join(staticDir, 'power_system.yaml'), powerTemplate);
126
+ const powerTemplate = `# 力量体系
127
+
128
+ ## 体系概述
129
+
130
+ 简要描述力量体系的基本原理。
131
+
132
+ ## 境界划分
133
+
134
+ | 境界名称 | 描述 | 特殊能力 |
135
+ |---------|------|---------|
136
+ | 第一境界 | 描述 | 能力描述 |
137
+ | 第二境界 | 描述 | 能力描述 |
138
+
139
+ ## 修炼方式
140
+
141
+ ### 功法体系
142
+
143
+ - 功法类型1:描述
144
+ - 功法类型2:描述
145
+
146
+ ### 资质体系
147
+
148
+ - 资质类型1:描述
149
+ - 资质类型2:描述
150
+
151
+ ## 突破条件
152
+
153
+ 描述各境界突破需要的条件。
154
+
155
+ ## 战力对比
156
+
157
+ 描述不同境界、资质之间的战力差异。
158
+ `;
159
+ await FileUtils.writeText(path.join(staticDir, 'power_system.md'), powerTemplate);
110
160
  }
111
161
  /**
112
162
  * 创建时代背景模板
113
163
  */
114
164
  async createEraBackgroundTemplate(staticDir) {
115
- const eraTemplate = {
116
- era: '时代名称',
117
- time_period: '具体时间段',
118
- political_system: '政治体制',
119
- economic_system: '经济体制',
120
- social_structure: '社会阶层结构',
121
- cultural_features: '文化特色',
122
- major_events: []
123
- };
124
- await YamlUtils.writeFile(path.join(staticDir, 'era_background.yaml'), eraTemplate);
165
+ const eraTemplate = `# 时代背景
166
+
167
+ ## 时代概述
168
+
169
+ 简要描述时代背景。
170
+
171
+ ## 政治体制
172
+
173
+ 描述政治体制和权力结构。
174
+
175
+ ## 经济体制
176
+
177
+ 描述经济体制和阶层结构。
178
+
179
+ ## 社会风貌
180
+
181
+ 描述社会风貌和文化特色。
182
+
183
+ ## 重要历史事件
184
+
185
+ - 事件1:描述
186
+ - 事件2:描述
187
+ `;
188
+ await FileUtils.writeText(path.join(staticDir, 'era_background.md'), eraTemplate);
125
189
  }
126
190
  /**
127
191
  * 创建主大纲模板
@@ -1 +1 @@
1
- {"version":3,"file":"init.service.js","sourceRoot":"","sources":["../../src/services/init.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.service.js","sourceRoot":"","sources":["../../src/services/init.service.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,17 @@ export declare class QueryService {
6
6
  /**
7
7
  * 查询静态设定
8
8
  */
9
- queryStaticSetting(projectPath: string, settingType: string): Promise<any>;
9
+ queryStaticSetting(projectPath: string, settingType: string): Promise<string>;
10
+ /**
11
+ * 获取设定文件大纲
12
+ * 提取所有 # 开头的标题(大章节)
13
+ */
14
+ getSettingOutline(projectPath: string, settingType: string): Promise<string[]>;
15
+ /**
16
+ * 提取指定大章节内容
17
+ * @param sectionTitle 大章节标题
18
+ */
19
+ querySettingSection(projectPath: string, settingType: string, sectionTitle: string): Promise<string>;
10
20
  /**
11
21
  * 查询人物信息
12
22
  */
@@ -1 +1 @@
1
- {"version":3,"file":"query.service.d.ts","sourceRoot":"","sources":["../../src/services/query.service.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACX,MAAM,kBAAkB,CAAC;AAQ1B;;GAEG;AACH,qBAAa,YAAY;IACvB;;OAEG;IACG,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAUhF;;OAEG;IACG,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA4B5F;;OAEG;IACG,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAexF;;OAEG;IACG,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAkBvE;;OAEG;IACG,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAiB9F;;OAEG;IACG,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,SAAe,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAUzF;;OAEG;IACG,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAWrG;;OAEG;IACG,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAK1E;;OAEG;IACG,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAIjE"}
1
+ {"version":3,"file":"query.service.d.ts","sourceRoot":"","sources":["../../src/services/query.service.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACX,MAAM,kBAAkB,CAAC;AAQ1B;;GAEG;AACH,qBAAa,YAAY;IACvB;;OAEG;IACG,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAUnF;;;OAGG;IACG,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAmBpF;;;OAGG;IACG,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA4C1G;;OAEG;IACG,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA4B5F;;OAEG;IACG,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAexF;;OAEG;IACG,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAkBvE;;OAEG;IACG,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAiB9F;;OAEG;IACG,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,SAAe,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAUzF;;OAEG;IACG,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAWrG;;OAEG;IACG,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAK1E;;OAEG;IACG,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAIjE"}
@@ -11,10 +11,70 @@ export class QueryService {
11
11
  */
12
12
  async queryStaticSetting(projectPath, settingType) {
13
13
  const staticDir = path.join(projectPath, 'settings', 'static');
14
- const filename = SETTING_FILE_MAP[settingType] || `${settingType}.yaml`;
14
+ const filename = SETTING_FILE_MAP[settingType] || `${settingType}.md`;
15
15
  const filePath = path.join(staticDir, filename);
16
- const result = await YamlUtils.parseFile(filePath);
17
- return result || {};
16
+ const content = await FileUtils.readText(filePath);
17
+ return content || '';
18
+ }
19
+ /**
20
+ * 获取设定文件大纲
21
+ * 提取所有 # 开头的标题(大章节)
22
+ */
23
+ async getSettingOutline(projectPath, settingType) {
24
+ const content = await this.queryStaticSetting(projectPath, settingType);
25
+ if (!content)
26
+ return [];
27
+ const lines = content.split('\n');
28
+ const sections = [];
29
+ for (const line of lines) {
30
+ // 匹配 # 开头的大章节标题(排除文件标题,即第一个 # 标题)
31
+ const match = line.match(/^#\s+(.+)$/);
32
+ if (match) {
33
+ sections.push(match[1].trim());
34
+ }
35
+ }
36
+ // 第一个是文件标题,跳过
37
+ return sections.slice(1);
38
+ }
39
+ /**
40
+ * 提取指定大章节内容
41
+ * @param sectionTitle 大章节标题
42
+ */
43
+ async querySettingSection(projectPath, settingType, sectionTitle) {
44
+ const content = await this.queryStaticSetting(projectPath, settingType);
45
+ if (!content)
46
+ return '';
47
+ const lines = content.split('\n');
48
+ const result = [];
49
+ let inTargetSection = false;
50
+ let foundFirstSection = false;
51
+ for (let i = 0; i < lines.length; i++) {
52
+ const line = lines[i];
53
+ // 检查是否是大章节标题
54
+ const match = line.match(/^#\s+(.+)$/);
55
+ if (match) {
56
+ const title = match[1].trim();
57
+ // 跳过文件标题(第一个 # 标题)
58
+ if (!foundFirstSection) {
59
+ foundFirstSection = true;
60
+ continue;
61
+ }
62
+ // 找到目标章节
63
+ if (title === sectionTitle) {
64
+ inTargetSection = true;
65
+ continue;
66
+ }
67
+ // 遇到下一个大章节,停止
68
+ if (inTargetSection) {
69
+ break;
70
+ }
71
+ }
72
+ // 收集目标章节的内容
73
+ if (inTargetSection) {
74
+ result.push(line);
75
+ }
76
+ }
77
+ return result.join('\n').trim();
18
78
  }
19
79
  /**
20
80
  * 查询人物信息
@@ -1 +1 @@
1
- {"version":3,"file":"query.service.js","sourceRoot":"","sources":["../../src/services/query.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query.service.js","sourceRoot":"","sources":["../../src/services/query.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ interface ChapterData {
2
+ chapter_id: number;
3
+ chapter: string;
4
+ chapter_length: number;
5
+ }
6
+ interface ExtractOptions {
7
+ count: number;
8
+ start: number;
9
+ random: boolean;
10
+ format: 'text' | 'markdown';
11
+ }
12
+ interface ExtractResult {
13
+ content: string;
14
+ chapterCount: number;
15
+ totalWords: number;
16
+ }
17
+ interface JsonlInfo {
18
+ totalChapters: number;
19
+ totalWords: number;
20
+ avgWordsPerChapter: number;
21
+ minChapter: ChapterData;
22
+ maxChapter: ChapterData;
23
+ }
24
+ /**
25
+ * Style 命令服务
26
+ */
27
+ export declare class StyleCommandService {
28
+ /**
29
+ * 从 JSONL 文件提取章节内容
30
+ */
31
+ extractFromJsonl(jsonlPath: string, options: ExtractOptions): Promise<ExtractResult>;
32
+ /**
33
+ * 获取 JSONL 文件信息
34
+ */
35
+ getJsonlInfo(jsonlPath: string): Promise<JsonlInfo>;
36
+ /**
37
+ * 解析 JSONL 文件
38
+ */
39
+ private parseJsonlFile;
40
+ /**
41
+ * 随机选择章节
42
+ */
43
+ private randomSelect;
44
+ /**
45
+ * 格式化内容
46
+ */
47
+ private formatContent;
48
+ /**
49
+ * 写入文件
50
+ */
51
+ writeToFile(result: ExtractResult, outputPath: string): Promise<void>;
52
+ }
53
+ export {};
54
+ //# sourceMappingURL=style-command.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"style-command.service.d.ts","sourceRoot":"","sources":["../../src/services/style-command.service.ts"],"names":[],"mappings":"AAGA,UAAU,WAAW;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,UAAU,cAAc;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC;CAC7B;AAED,UAAU,aAAa;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,SAAS;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,WAAW,CAAC;IACxB,UAAU,EAAE,WAAW,CAAC;CACzB;AAED;;GAEG;AACH,qBAAa,mBAAmB;IAC9B;;OAEG;IACG,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IAmC1F;;OAEG;IACG,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAmBzD;;OAEG;YACW,cAAc;IA2B5B;;OAEG;IACH,OAAO,CAAC,YAAY;IAKpB;;OAEG;IACH,OAAO,CAAC,aAAa;IAYrB;;OAEG;IACG,WAAW,CAAC,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAK5E"}
@@ -0,0 +1,113 @@
1
+ import * as fs from 'fs/promises';
2
+ import * as path from 'path';
3
+ /**
4
+ * Style 命令服务
5
+ */
6
+ export class StyleCommandService {
7
+ /**
8
+ * 从 JSONL 文件提取章节内容
9
+ */
10
+ async extractFromJsonl(jsonlPath, options) {
11
+ // 读取并解析 JSONL 文件
12
+ const chapters = await this.parseJsonlFile(jsonlPath);
13
+ if (chapters.length === 0) {
14
+ throw new Error('JSONL 文件为空或格式错误');
15
+ }
16
+ // 选择章节
17
+ let selectedChapters;
18
+ if (options.random) {
19
+ // 随机选择
20
+ selectedChapters = this.randomSelect(chapters, options.count);
21
+ }
22
+ else {
23
+ // 从起始章节开始连续选择
24
+ const startIdx = Math.max(0, options.start - 1);
25
+ const endIdx = Math.min(chapters.length, startIdx + options.count);
26
+ selectedChapters = chapters.slice(startIdx, endIdx);
27
+ }
28
+ if (selectedChapters.length === 0) {
29
+ throw new Error(`没有找到符合条件的章节(起始: ${options.start}, 数量: ${options.count})`);
30
+ }
31
+ // 生成内容
32
+ const content = this.formatContent(selectedChapters, options.format);
33
+ return {
34
+ content,
35
+ chapterCount: selectedChapters.length,
36
+ totalWords: selectedChapters.reduce((sum, ch) => sum + ch.chapter_length, 0),
37
+ };
38
+ }
39
+ /**
40
+ * 获取 JSONL 文件信息
41
+ */
42
+ async getJsonlInfo(jsonlPath) {
43
+ const chapters = await this.parseJsonlFile(jsonlPath);
44
+ if (chapters.length === 0) {
45
+ throw new Error('JSONL 文件为空或格式错误');
46
+ }
47
+ const totalWords = chapters.reduce((sum, ch) => sum + ch.chapter_length, 0);
48
+ const sortedByLength = [...chapters].sort((a, b) => a.chapter_length - b.chapter_length);
49
+ return {
50
+ totalChapters: chapters.length,
51
+ totalWords,
52
+ avgWordsPerChapter: Math.round(totalWords / chapters.length),
53
+ minChapter: sortedByLength[0],
54
+ maxChapter: sortedByLength[sortedByLength.length - 1],
55
+ };
56
+ }
57
+ /**
58
+ * 解析 JSONL 文件
59
+ */
60
+ async parseJsonlFile(jsonlPath) {
61
+ const content = await fs.readFile(jsonlPath, 'utf-8');
62
+ const lines = content.split('\n').filter(line => line.trim());
63
+ const chapters = [];
64
+ for (const line of lines) {
65
+ try {
66
+ const data = JSON.parse(line);
67
+ // 验证数据格式
68
+ if (typeof data.chapter_id === 'number' &&
69
+ typeof data.chapter === 'string' &&
70
+ typeof data.chapter_length === 'number') {
71
+ chapters.push(data);
72
+ }
73
+ }
74
+ catch (error) {
75
+ // 跳过无效行
76
+ continue;
77
+ }
78
+ }
79
+ // 按 chapter_id 排序
80
+ return chapters.sort((a, b) => a.chapter_id - b.chapter_id);
81
+ }
82
+ /**
83
+ * 随机选择章节
84
+ */
85
+ randomSelect(chapters, count) {
86
+ const shuffled = [...chapters].sort(() => Math.random() - 0.5);
87
+ return shuffled.slice(0, Math.min(count, chapters.length));
88
+ }
89
+ /**
90
+ * 格式化内容
91
+ */
92
+ formatContent(chapters, format) {
93
+ if (format === 'markdown') {
94
+ // Markdown 格式:带章节标题
95
+ return chapters
96
+ .map(ch => `## 第${ch.chapter_id}章\n\n${ch.chapter}`)
97
+ .join('\n\n---\n\n');
98
+ }
99
+ else {
100
+ // 纯文本格式:直接拼接
101
+ return chapters.map(ch => ch.chapter).join('\n\n');
102
+ }
103
+ }
104
+ /**
105
+ * 写入文件
106
+ */
107
+ async writeToFile(result, outputPath) {
108
+ const dir = path.dirname(outputPath);
109
+ await fs.mkdir(dir, { recursive: true });
110
+ await fs.writeFile(outputPath, result.content, 'utf-8');
111
+ }
112
+ }
113
+ //# sourceMappingURL=style-command.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"style-command.service.js","sourceRoot":"","sources":["../../src/services/style-command.service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dayinxisheng/novel-tools",
3
- "version": "0.2.0",
3
+ "version": "0.2.2",
4
4
  "description": "小说创作辅助工具集 - TypeScript 实现",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -58,5 +58,8 @@
58
58
  "dist",
59
59
  "README.md",
60
60
  "CHANGELOG.md"
61
- ]
61
+ ],
62
+ "publishConfig": {
63
+ "access": "public"
64
+ }
62
65
  }