@qihuang02/world-book-mcp 0.0.3 → 0.0.4-beta

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 (52) hide show
  1. package/README.md +47 -15
  2. package/dist/core/capability-matrix.js +11 -11
  3. package/dist/core/capability-matrix.js.map +1 -1
  4. package/dist/core/character-card-builder.js +70 -1
  5. package/dist/core/character-card-builder.js.map +1 -1
  6. package/dist/core/delivery-checklist.js +2 -2
  7. package/dist/core/delivery-checklist.js.map +1 -1
  8. package/dist/core/tool-usage-guide.js +38 -29
  9. package/dist/core/tool-usage-guide.js.map +1 -1
  10. package/dist/core/workflow.js +7 -7
  11. package/dist/core/workflow.js.map +1 -1
  12. package/dist/core/worldbook-entry-factory.d.ts +28 -0
  13. package/dist/core/worldbook-entry-factory.js +82 -0
  14. package/dist/core/worldbook-entry-factory.js.map +1 -0
  15. package/dist/resources/usage-resources.js +2 -2
  16. package/dist/resources/usage-resources.js.map +1 -1
  17. package/dist/schemas/character-card.d.ts +19 -0
  18. package/dist/schemas/character-card.js +19 -0
  19. package/dist/schemas/character-card.js.map +1 -1
  20. package/dist/schemas/project.d.ts +3 -0
  21. package/dist/schemas/project.js +1 -0
  22. package/dist/schemas/project.js.map +1 -1
  23. package/dist/schemas/worldbook-draft.d.ts +170 -0
  24. package/dist/schemas/worldbook-draft.js +30 -0
  25. package/dist/schemas/worldbook-draft.js.map +1 -1
  26. package/dist/schemas/worldbook-patch.d.ts +4 -0
  27. package/dist/storage/path-policy.d.ts +3 -0
  28. package/dist/storage/path-policy.js +30 -7
  29. package/dist/storage/path-policy.js.map +1 -1
  30. package/dist/storage/project-store.d.ts +4 -1
  31. package/dist/storage/project-store.js +56 -6
  32. package/dist/storage/project-store.js.map +1 -1
  33. package/dist/storage/workspace-store.d.ts +28 -0
  34. package/dist/storage/workspace-store.js +130 -0
  35. package/dist/storage/workspace-store.js.map +1 -0
  36. package/dist/tools/character-card-tools.js +39 -43
  37. package/dist/tools/character-card-tools.js.map +1 -1
  38. package/dist/tools/decision-tools.js +17 -12
  39. package/dist/tools/decision-tools.js.map +1 -1
  40. package/dist/tools/extraction-tools.js +11 -11
  41. package/dist/tools/extraction-tools.js.map +1 -1
  42. package/dist/tools/mvu-html-ejs-tools.js +10 -13
  43. package/dist/tools/mvu-html-ejs-tools.js.map +1 -1
  44. package/dist/tools/project-tools.js +23 -5
  45. package/dist/tools/project-tools.js.map +1 -1
  46. package/dist/tools/style-chapter-tools.js +6 -8
  47. package/dist/tools/style-chapter-tools.js.map +1 -1
  48. package/dist/tools/worldbook-tools.js +66 -50
  49. package/dist/tools/worldbook-tools.js.map +1 -1
  50. package/dist/tools/worldbuilding-tools.js +4 -5
  51. package/dist/tools/worldbuilding-tools.js.map +1 -1
  52. package/package.json +5 -1
package/README.md CHANGED
@@ -22,10 +22,11 @@
22
22
  - 查询单个 tool 的使用指南。
23
23
  - 解释 SillyTavern 世界书配置字段。
24
24
  - 扫描禁词与常见写作问题。
25
- - 保存、更新、校验世界书草稿。
25
+ - 显式初始化 project,适合空白目录首次使用。
26
+ - 通过简化输入保存、更新、校验世界书草稿:AI 只需提交 `comment`、`keys`、`content` 等核心字段,MCP 自动补全完整结构。
26
27
  - 导出独立 SillyTavern 世界书 JSON。
27
28
  - 导入已有世界书 JSON 并进行安全 patch。
28
- - 基础角色卡 JSON 生成,可嵌入项目世界书 draft
29
+ - 基础角色卡 JSON 生成,可嵌入项目世界书 draft;导出角色卡时同一角色的基础设定和性格设定会聚合为同一个内嵌世界书条目。
29
30
  - MVU/ZOD 配置模板、校验、资产构建,并可自动合并进角色卡 JSON。
30
31
  - HTML 美化配置模板、校验、资产构建,并可自动合并进角色卡 JSON。
31
32
  - EJS 动态内容配置模板、校验、entries 构建,并可自动合并进角色卡内嵌世界书。
@@ -58,22 +59,53 @@ npm test # 运行单元测试
58
59
 
59
60
  ### 原始材料、结构化事实、draft JSON、最终 JSON
60
61
 
62
+ - `init_project`:显式创建当前工作区 MCP project,适合空白目录首次起手;项目元数据写入 `.worldbook/project.json`。
61
63
  - `ingest_text_source` / `ingest_web_research`:保存原始文本或网页摘要。
62
64
  - `submit_extraction_result`:保存主 AI 从原始材料中提取出的结构化事实。
63
- - `create_worldbook_draft_template`:返回可填写的 MCP draft JSON 模板。
64
- - `draft_worldbook_entries`:保存主 AI 填写后的 draft。
65
+ - `upsert_worldbook_entry` / `upsert_worldbook_entries`:推荐的主编辑入口。AI 只提交 `comment`、`keys`、`content` 等简化字段,MCP 自动补全完整 draft entry。
66
+ - 底层全量 draft/config 提交逻辑已降级为内部/兼容层,不作为默认公开接口推荐。
65
67
  - `generate_worldbook_json` / `generate_character_card_json`:导出最终可导入 SillyTavern 的 JSON 文件。
66
68
 
67
69
  ### MCP 不做什么
68
70
 
69
71
  MCP 不直接理解长文本、不替主 AI 搜索网页、不自动脑补设定。它负责让主 AI 的输出符合稳定 schema,并在导出前执行校验。
70
72
 
73
+ ### 简化输入与并发保护
74
+
75
+ 推荐 agent 使用 `upsert_worldbook_entry` / `upsert_worldbook_entries`,只提交少量核心字段:
76
+
77
+ ```json
78
+ {
79
+ "project_id": "project_xxx",
80
+ "comment": "原初异质",
81
+ "keys": ["原初异质", "异质", "根源力量"],
82
+ "content": "原初异质,没有人知道它从何而来……"
83
+ }
84
+ ```
85
+
86
+ MCP 会自动补全完整条目结构、默认位置、递归保护、启用状态等字段,并将 draft 拆分保存到 `.worldbook/draft/*.json`。默认按 `comment` 更新,避免不同条目因共享关键词而误合并;确需按关键词匹配旧条目时可设置 `match_by_keys: true`。Project 带有 `revision`,写入会在同一 MCP 进程内按 project 串行化;高并发 agent 可传 `expected_revision` 做冲突检测。
87
+
88
+ 角色卡同样推荐用简化字段:
89
+
90
+ ```json
91
+ {
92
+ "project_id": "project_xxx",
93
+ "name": "孢子",
94
+ "first_mes": "……",
95
+ "alternate_greetings": ["……"],
96
+ "include_worldbook": true
97
+ }
98
+ ```
99
+
100
+ 导出角色卡时,同一角色的 `character_basic` 与 `character_personality` 会自动聚合为同一个内嵌世界书条目。
101
+
71
102
  ## Tools 一览
72
103
 
73
104
  ### 工作流、项目与规范
74
105
 
75
106
  - `get_worldbook_workflow`:根据任务类型返回推荐 tool 流程。`wants_character_card=true` 时会自动追加角色卡流程。
76
107
  - `get_tool_usage_guide`:查询某个 tool 的用途、调用时机、必填字段、示例输入、常见错误和下一步。
108
+ - `init_project`:显式初始化当前工作区项目,返回 `project_id`、`revision` 与 `.worldbook` 路径;已有项目可用 `if_exists` 控制复用或覆盖。
77
109
  - `list_projects`:列出本地保存的 MCP 项目。
78
110
  - `get_project`:查看项目详情或摘要。
79
111
  - `get_entry_template`:返回世界书条目模板。
@@ -93,18 +125,17 @@ MCP 不直接理解长文本、不替主 AI 搜索网页、不自动脑补设定
93
125
  ### 世界书构建
94
126
 
95
127
  - `plan_worldbook_entries`:根据提取结果规划条目表。
96
- - `create_worldbook_draft_template`:根据规划表生成可填充草稿模板。
97
- - `draft_worldbook_entries`:保存世界书草稿。
128
+ - `upsert_worldbook_entry`:用简化输入新增/更新单个条目,MCP 自动补全完整配置。
129
+ - `upsert_worldbook_entries`:用简化输入批量新增/更新多个条目。
98
130
  - `update_worldbook_draft_entries`:按 index 或 comment 局部更新草稿条目。
99
131
  - `validate_worldbook_draft`:校验草稿配置和内容问题。
100
132
  - `generate_worldbook_json`:导出 SillyTavern 世界书 JSON。
101
133
 
102
134
  ### 角色卡
103
135
 
104
- - `create_character_card_template`:创建基础角色卡配置模板。
105
- - `submit_character_card_config`:保存角色卡配置。
136
+ - `upsert_character_profile`:用简化字段创建/更新角色卡人设配置,MCP 自动补齐 `chara_card_v3` 默认字段。
106
137
  - `validate_character_card_config`:校验角色卡配置和嵌入世界书。
107
- - `generate_character_card_json`:导出 `chara_card_v3` 角色卡 JSON
138
+ - `generate_character_card_json`:导出 `chara_card_v3` 角色卡 JSON;同一角色的 `character_basic` 与 `character_personality` 会合并为同一个内嵌世界书条目。
108
139
  - `query_character_card`:查询角色卡概要、开场白或内嵌世界书条目。
109
140
 
110
141
  ### MVU / ZOD
@@ -131,17 +162,18 @@ MCP 不直接理解长文本、不替主 AI 搜索网页、不自动脑补设定
131
162
  ### 查询与 Patch
132
163
 
133
164
  - `query_worldbook`:查询已有世界书 JSON,支持 `brief`、`uid`、`search`、`stats`。
134
- - `import_worldbook_json`:把 `output/exports/` 中已有世界书导入为 MCP project draft。
165
+ - `import_worldbook_json`:把当前工作目录内已有世界书 JSON 导入为 MCP project draft。
135
166
  - `create_worldbook_patch`:创建修改计划,不直接写文件。
136
167
  - `preview_worldbook_patch`:预览 patch diff 和校验结果。
137
168
  - `apply_worldbook_patch`:应用 patch,自动校验,可备份并导出新 JSON。
138
169
 
139
- ## 输出目录
170
+ ## 工作区与输出目录
140
171
 
141
- - `output/projects/`:保存 MCP 项目状态。
142
- - `output/exports/`:保存导出的 SillyTavern 世界书 JSON。
143
- - `output/exports/backups/`:保存 patch 前的备份。
144
- - `output/exports/cards/`:保存导出的 SillyTavern 角色卡 JSON。
172
+ - `.worldbook/project.json`:保存当前工作区 MCP 项目元数据。
173
+ - `.worldbook/draft/*.json`:按条目拆分保存世界书 draft,便于 AI/人工逐条编辑和审阅。
174
+ - `.worldbook/backups/`:保存 patch 覆盖前的备份。
175
+ - 默认导出路径:`generate_worldbook_json` / `generate_character_card_json` 未传 `output_path` 时,直接在当前工作目录生成 `<名称>.json`。
176
+ - 自定义读写路径必须位于当前工作目录内,防止越界读取或覆盖任意文件。
145
177
 
146
178
  这些运行时文件默认被 `.gitignore` 忽略。
147
179
 
@@ -3,44 +3,44 @@ const MATRIX = {
3
3
  task_type: "original_character_card",
4
4
  purpose: "原创角色卡:世界观/人设条目/开场白/可选 MVU-EJS-HTML/最终角色卡 JSON。",
5
5
  status: "partial",
6
- primary_tools: ["create_worldbuilding_outline", "submit_worldbuilding_summary", "plan_worldbook_entries", "draft_worldbook_entries", "validate_worldbook_draft", "create_character_card_template", "submit_character_card_config", "validate_greetings", "validate_character_card_config", "generate_character_card_json"],
6
+ primary_tools: ["create_worldbuilding_outline", "submit_worldbuilding_summary", "plan_worldbook_entries", "upsert_worldbook_entries", "validate_worldbook_draft", "upsert_character_profile", "upsert_character_profile", "validate_greetings", "validate_character_card_config", "generate_character_card_json"],
7
7
  optional_tools: ["create_mvu_schema_template", "create_ejs_template", "create_html_beautify_template", "lint_project_content", "create_final_review_report"],
8
8
  missing_or_planned: ["create_character_basic_entry_template", "create_character_personality_entry_template", "validate_character_entry_structure", "create_worldbook_entry_plan"],
9
- recommended_workflow: ["classify_worldbook_task", "create_worldbuilding_outline", "submit_worldbuilding_summary", "create_worldbook_entry_plan", "draft_worldbook_entries", "validate_worldbook_draft", "create_character_card_template", "submit_character_card_config", "validate_greetings", "create_final_review_report", "generate_character_card_json"],
9
+ recommended_workflow: ["classify_worldbook_task", "create_worldbuilding_outline", "submit_worldbuilding_summary", "create_worldbook_entry_plan", "upsert_worldbook_entries", "validate_worldbook_draft", "upsert_character_profile", "upsert_character_profile", "validate_greetings", "create_final_review_report", "generate_character_card_json"],
10
10
  },
11
11
  derivative_extraction: {
12
12
  task_type: "derivative_extraction",
13
13
  purpose: "二创提取:接收 AI 整理后的原始素材/搜索摘要,形成结构化提取结果并转世界书/角色卡。",
14
14
  status: "partial",
15
- primary_tools: ["ingest_text_source", "ingest_web_research", "create_extraction_outline", "submit_extraction_result", "plan_worldbook_entries", "draft_worldbook_entries", "validate_worldbook_draft"],
16
- optional_tools: ["generate_worldbook_json", "create_character_card_template", "generate_character_card_json"],
15
+ primary_tools: ["ingest_text_source", "ingest_web_research", "create_extraction_outline", "submit_extraction_result", "plan_worldbook_entries", "upsert_worldbook_entries", "validate_worldbook_draft"],
16
+ optional_tools: ["generate_worldbook_json", "upsert_character_profile", "generate_character_card_json"],
17
17
  missing_or_planned: ["create_derivative_extraction_template", "submit_derivative_extraction_outline", "validate_derivative_extraction_outline"],
18
- recommended_workflow: ["ingest_text_source", "create_derivative_extraction_template", "submit_derivative_extraction_outline", "validate_derivative_extraction_outline", "submit_extraction_result", "create_worldbook_entry_plan", "draft_worldbook_entries", "create_final_review_report"],
18
+ recommended_workflow: ["ingest_text_source", "create_derivative_extraction_template", "submit_derivative_extraction_outline", "validate_derivative_extraction_outline", "submit_extraction_result", "create_worldbook_entry_plan", "upsert_worldbook_entries", "create_final_review_report"],
19
19
  },
20
20
  worldbuilding_only: {
21
21
  task_type: "worldbuilding_only",
22
22
  purpose: "纯世界观设计与世界书:从概念设计到条目化导出。",
23
23
  status: "partial",
24
- primary_tools: ["create_worldbuilding_outline", "submit_worldbuilding_summary", "validate_worldbuilding_summary", "submit_extraction_result", "plan_worldbook_entries", "draft_worldbook_entries", "validate_worldbook_draft", "generate_worldbook_json"],
24
+ primary_tools: ["create_worldbuilding_outline", "submit_worldbuilding_summary", "validate_worldbuilding_summary", "submit_extraction_result", "plan_worldbook_entries", "upsert_worldbook_entries", "validate_worldbook_draft", "generate_worldbook_json"],
25
25
  optional_tools: ["lint_project_content", "create_final_review_report"],
26
26
  missing_or_planned: ["classify_worldbuilding_type", "create_worldbuilding_design_template", "validate_worldbuilding_design", "create_worldbook_entry_plan"],
27
- recommended_workflow: ["create_worldbuilding_design_template", "validate_worldbuilding_design", "classify_worldbook_card_type", "create_worldbook_entry_plan", "draft_worldbook_entries", "validate_worldbook_draft", "generate_worldbook_json"],
27
+ recommended_workflow: ["create_worldbuilding_design_template", "validate_worldbuilding_design", "classify_worldbook_card_type", "create_worldbook_entry_plan", "upsert_worldbook_entries", "validate_worldbook_draft", "generate_worldbook_json"],
28
28
  },
29
29
  item_ability_equipment: {
30
30
  task_type: "item_ability_equipment",
31
31
  purpose: "物品/能力/装备条目:按类型生成与校验世界书条目。",
32
32
  status: "partial",
33
- primary_tools: ["get_entry_template", "draft_worldbook_entries", "validate_worldbook_draft"],
33
+ primary_tools: ["get_entry_template", "upsert_worldbook_entries", "validate_worldbook_draft"],
34
34
  optional_tools: ["update_worldbook_draft_entries", "generate_worldbook_json"],
35
35
  missing_or_planned: ["validate_item_entry"],
36
- recommended_workflow: ["get_entry_template", "validate_item_entry", "draft_worldbook_entries", "validate_worldbook_draft"],
36
+ recommended_workflow: ["get_entry_template", "validate_item_entry", "upsert_worldbook_entries", "validate_worldbook_draft"],
37
37
  },
38
38
  style_extraction: {
39
39
  task_type: "style_extraction",
40
40
  purpose: "文风提取/设定:把 AI 整理出的文风特征转为可触发或常驻世界书规则。",
41
41
  status: "planned",
42
42
  primary_tools: ["ingest_text_source", "lint_worldbook_content"],
43
- optional_tools: ["draft_worldbook_entries", "validate_worldbook_draft"],
43
+ optional_tools: ["upsert_worldbook_entries", "validate_worldbook_draft"],
44
44
  missing_or_planned: ["create_style_extraction_template", "submit_style_profile", "build_style_worldbook_entries"],
45
45
  recommended_workflow: ["ingest_text_source", "create_style_extraction_template", "submit_style_profile", "build_style_worldbook_entries", "validate_worldbook_draft"],
46
46
  },
@@ -49,7 +49,7 @@ const MATRIX = {
49
49
  purpose: "故事/章节提取:按章节行号和事件变化构建绿灯章节条目。",
50
50
  status: "planned",
51
51
  primary_tools: ["ingest_text_source", "submit_extraction_result", "plan_worldbook_entries"],
52
- optional_tools: ["draft_worldbook_entries", "validate_worldbook_draft"],
52
+ optional_tools: ["upsert_worldbook_entries", "validate_worldbook_draft"],
53
53
  missing_or_planned: ["create_chapter_extraction_template", "build_chapter_worldbook_entries"],
54
54
  recommended_workflow: ["ingest_text_source", "create_chapter_extraction_template", "build_chapter_worldbook_entries", "validate_worldbook_draft"],
55
55
  },
@@ -1 +1 @@
1
- {"version":3,"file":"capability-matrix.js","sourceRoot":"","sources":["../../src/core/capability-matrix.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capability-matrix.js","sourceRoot":"","sources":["../../src/core/capability-matrix.ts"],"names":[],"mappings":"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"}
@@ -61,8 +61,77 @@ function withId(value) {
61
61
  const maybeId = value.id;
62
62
  return { ...value, id: typeof maybeId === "string" ? maybeId : randomUUID() };
63
63
  }
64
+ function mergeCharacterProfileEntries(entries) {
65
+ const merged = [];
66
+ const characterIndexes = new Map();
67
+ for (const entry of entries) {
68
+ if (entry.entryType !== "character_basic" && entry.entryType !== "character_personality") {
69
+ merged.push(entry);
70
+ continue;
71
+ }
72
+ const characterName = inferCharacterName(entry);
73
+ const key = characterName.toLocaleLowerCase();
74
+ const existingIndex = characterIndexes.get(key);
75
+ if (existingIndex === undefined) {
76
+ characterIndexes.set(key, merged.length);
77
+ merged.push({ ...entry, comment: characterName, keys: uniqueStrings([characterName, ...entry.keys]) });
78
+ continue;
79
+ }
80
+ const existing = merged[existingIndex];
81
+ merged[existingIndex] = {
82
+ ...existing,
83
+ comment: characterName,
84
+ entryType: "character_basic",
85
+ keys: uniqueStrings([...existing.keys, ...entry.keys, characterName]),
86
+ secondaryKeys: uniqueStrings([...(existing.secondaryKeys ?? []), ...(entry.secondaryKeys ?? [])]),
87
+ content: mergeCharacterContent(existing.content, entry.content),
88
+ constant: existing.constant || entry.constant,
89
+ enabled: existing.enabled && entry.enabled,
90
+ order: Math.min(existing.order, entry.order),
91
+ position: existing.entryType === "character_basic" ? existing.position : entry.position,
92
+ depth: existing.depth ?? entry.depth,
93
+ scanDepth: existing.scanDepth ?? entry.scanDepth,
94
+ };
95
+ }
96
+ return merged;
97
+ }
98
+ function inferCharacterName(entry) {
99
+ if (entry.characterName?.trim())
100
+ return entry.characterName.trim();
101
+ const nameMatch = entry.content.match(/^\s*name\s*[::]\s*([^\n\r]+)/m);
102
+ if (nameMatch?.[1])
103
+ return nameMatch[1].trim();
104
+ return entry.comment.replace(/[__-]?(基础设定|基本设定|性格设定|性格|basic|personality)$/i, "").trim() || entry.comment;
105
+ }
106
+ function mergeCharacterContent(first, second) {
107
+ const firstBlock = labelCharacterContent(first, "基础设定");
108
+ const secondBlock = labelCharacterContent(second, "性格设定");
109
+ if (!firstBlock.trim())
110
+ return secondBlock;
111
+ if (!secondBlock.trim())
112
+ return firstBlock;
113
+ if (firstBlock.includes(secondBlock))
114
+ return firstBlock;
115
+ if (secondBlock.includes(firstBlock))
116
+ return secondBlock;
117
+ return `${firstBlock.trim()}\n\n${secondBlock.trim()}`;
118
+ }
119
+ function labelCharacterContent(content, label) {
120
+ const trimmed = content.trim();
121
+ if (!trimmed)
122
+ return content;
123
+ if (hasSingleXmlWrapper(trimmed) || /^【[^】]+】/.test(trimmed))
124
+ return trimmed;
125
+ return `【${label}】\n${trimmed}`;
126
+ }
127
+ function hasSingleXmlWrapper(content) {
128
+ return /^<([a-zA-Z_][\w-]*)>[\s\S]*<\/\1>$/.test(content.trim());
129
+ }
130
+ function uniqueStrings(values) {
131
+ return Array.from(new Set(values.map((value) => value.trim()).filter(Boolean)));
132
+ }
64
133
  export function draftEntriesToCharacterBookEntries(entries) {
65
- return entries.map((entry, index) => ({
134
+ return mergeCharacterProfileEntries(entries).map((entry, index) => ({
66
135
  id: index,
67
136
  keys: entry.keys,
68
137
  secondary_keys: entry.secondaryKeys ?? [],
@@ -1 +1 @@
1
- {"version":3,"file":"character-card-builder.js","sourceRoot":"","sources":["../../src/core/character-card-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"character-card-builder.js","sourceRoot":"","sources":["../../src/core/character-card-builder.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ export function createDeliveryChecklist(input) {
11
11
  }
12
12
  // 世界书 draft
13
13
  if (!input.project.draft || input.project.draft.length === 0) {
14
- items.push({ section: "worldbook_draft", status: input.export_target === "worldbook" ? "blocking" : "warning", message: "项目尚未保存世界书 draft", related_tools: ["draft_worldbook_entries", "create_worldbook_draft_template"] });
14
+ items.push({ section: "worldbook_draft", status: input.export_target === "worldbook" ? "blocking" : "warning", message: "项目尚未保存世界书 draft", related_tools: ["upsert_worldbook_entry", "upsert_worldbook_entries"] });
15
15
  }
16
16
  else {
17
17
  items.push({ section: "worldbook_draft", status: review.sections.worldbook?.ok ? "ok" : "blocking", message: review.sections.worldbook?.ok ? "世界书 draft 校验通过" : "世界书 draft 存在阻塞性错误", related_tools: ["validate_worldbook_draft", "update_worldbook_draft_entries"] });
@@ -19,7 +19,7 @@ export function createDeliveryChecklist(input) {
19
19
  // 角色卡
20
20
  if (input.export_target === "character_card") {
21
21
  if (!input.project.characterCardConfig) {
22
- items.push({ section: "character_card", status: "blocking", message: "项目尚未保存角色卡配置", related_tools: ["create_character_card_template", "submit_character_card_config"] });
22
+ items.push({ section: "character_card", status: "blocking", message: "项目尚未保存角色卡配置", related_tools: ["upsert_character_profile"] });
23
23
  }
24
24
  else {
25
25
  items.push({ section: "character_card", status: review.sections.character_card?.ok ? "ok" : "blocking", message: review.sections.character_card?.ok ? "角色卡配置通过校验" : "角色卡配置存在错误", related_tools: ["validate_character_card_config", "validate_greetings"] });
@@ -1 +1 @@
1
- {"version":3,"file":"delivery-checklist.js","sourceRoot":"","sources":["../../src/core/delivery-checklist.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delivery-checklist.js","sourceRoot":"","sources":["../../src/core/delivery-checklist.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,40 @@
1
1
  const GUIDES = {
2
+ init_project: {
3
+ tool: "init_project",
4
+ purpose: "显式初始化 MCP project,适合空白目录首次使用。",
5
+ when_to_call: "用户刚开始一个新世界书或角色卡项目,且还没有 project_id 时。",
6
+ required_fields: ["name"],
7
+ example_input: { name: "孢子v0.0.1", kind: "character_card" },
8
+ common_mistakes: ["已有 project_id 时重复初始化导致项目分叉"],
9
+ next_tools: ["upsert_worldbook_entry", "upsert_character_profile", "ingest_text_source"],
10
+ },
11
+ upsert_worldbook_entry: {
12
+ tool: "upsert_worldbook_entry",
13
+ purpose: "用简化输入新增或更新单个世界书条目,MCP 自动补全完整 entry 结构。",
14
+ when_to_call: "AI 已写好某个条目的 comment、keys 和 content 时。",
15
+ required_fields: ["project_id", "comment", "content"],
16
+ example_input: { project_id: "project_xxx", comment: "原初异质", keys: ["原初异质", "异质", "根源力量"], content: "原初异质,没有人知道它从何而来。" },
17
+ common_mistakes: ["仍然手写完整 SillyTavern entry JSON", "同一条目反复换 comment 导致无法 upsert"],
18
+ next_tools: ["validate_worldbook_draft", "generate_worldbook_json"],
19
+ },
20
+ upsert_worldbook_entries: {
21
+ tool: "upsert_worldbook_entries",
22
+ purpose: "用简化输入批量新增或更新多个世界书条目。",
23
+ when_to_call: "AI 一次完成多个条目内容时。",
24
+ required_fields: ["project_id", "entries"],
25
+ example_input: { project_id: "project_xxx", entries: [{ comment: "原初异质", keys: ["异质"], content: "..." }] },
26
+ common_mistakes: ["传入完整导出 JSON 而不是简化条目数组"],
27
+ next_tools: ["validate_worldbook_draft", "generate_worldbook_json"],
28
+ },
29
+ upsert_character_profile: {
30
+ tool: "upsert_character_profile",
31
+ purpose: "用简化字段创建或更新角色卡人设配置,MCP 自动补齐角色卡默认字段。",
32
+ when_to_call: "用户需要导出角色卡,AI 已写好角色名、开场白或人设字段时。",
33
+ required_fields: ["project_id", "name"],
34
+ example_input: { project_id: "project_xxx", name: "孢子", first_mes: "...", alternate_greetings: ["..."] },
35
+ common_mistakes: ["手写完整 characterCardConfig", "未传 first_mes 就直接导出"],
36
+ next_tools: ["validate_character_card_config", "generate_character_card_json"],
37
+ },
2
38
  get_worldbook_workflow: {
3
39
  tool: "get_worldbook_workflow",
4
40
  purpose: "根据用户任务类型返回推荐 MCP tool 调用流程。",
@@ -60,16 +96,7 @@ const GUIDES = {
60
96
  required_fields: ["project_id"],
61
97
  example_input: { project_id: "project_xxx", save: true },
62
98
  common_mistakes: ["直接导出模板而不填写 content", "误以为这是 SillyTavern 最终 JSON"],
63
- next_tools: ["draft_worldbook_entries", "update_worldbook_draft_entries"],
64
- },
65
- draft_worldbook_entries: {
66
- tool: "draft_worldbook_entries",
67
- purpose: "保存主 AI 填好的世界书 draft entries,并立即校验。",
68
- when_to_call: "主 AI 已填写 draft.content 后。",
69
- required_fields: ["project_id", "entries"],
70
- example_input: { project_id: "project_xxx", entries: [] },
71
- common_mistakes: ["content 仍是空模板", "绿灯条目没有 keys"],
72
- next_tools: ["validate_worldbook_draft", "generate_worldbook_json"],
99
+ next_tools: ["upsert_worldbook_entry", "upsert_worldbook_entries", "update_worldbook_draft_entries"],
73
100
  },
74
101
  generate_worldbook_json: {
75
102
  tool: "generate_worldbook_json",
@@ -78,25 +105,7 @@ const GUIDES = {
78
105
  required_fields: ["project_id", "worldbook_name"],
79
106
  example_input: { project_id: "project_xxx", worldbook_name: "世界书", overwrite: false },
80
107
  common_mistakes: ["校验未通过就导出", "output_path 越界"],
81
- next_tools: ["query_worldbook", "create_character_card_template"],
82
- },
83
- create_character_card_template: {
84
- tool: "create_character_card_template",
85
- purpose: "创建基础 chara_card_v3 角色卡配置模板。",
86
- when_to_call: "世界书 draft 完成并通过校验后,且用户需要角色卡。",
87
- required_fields: ["name"],
88
- example_input: { project_id: "project_xxx", name: "角色名", include_worldbook: true, greeting_count: 3 },
89
- common_mistakes: ["未先完成世界书 draft", "把角色详细信息写进 description"],
90
- next_tools: ["submit_character_card_config"],
91
- },
92
- submit_character_card_config: {
93
- tool: "submit_character_card_config",
94
- purpose: "保存主 AI 填好的角色卡配置。",
95
- when_to_call: "主 AI 已填写 first_mes 和 alternate_greetings 后。",
96
- required_fields: ["project_id", "config"],
97
- example_input: { project_id: "project_xxx", config: { card: { name: "角色名", first_mes: "..." }, worldbook: { source: "project_draft" } } },
98
- common_mistakes: ["first_mes 为空", "description 非空"],
99
- next_tools: ["validate_character_card_config", "generate_character_card_json"],
108
+ next_tools: ["query_worldbook", "upsert_character_profile"],
100
109
  },
101
110
  generate_character_card_json: {
102
111
  tool: "generate_character_card_json",
@@ -1 +1 @@
1
- {"version":3,"file":"tool-usage-guide.js","sourceRoot":"","sources":["../../src/core/tool-usage-guide.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-usage-guide.js","sourceRoot":"","sources":["../../src/core/tool-usage-guide.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  export function getWorkflow(input) {
2
2
  const commonNotes = [
3
3
  "生成 JSON 前必须调用 validate_worldbook_draft",
4
+ "推荐用 upsert_worldbook_entry / upsert_worldbook_entries 写条目,避免手写完整 JSON",
4
5
  "网页搜索由宿主 AI 完成,MCP 只接收搜索摘要",
5
6
  ];
6
7
  if (input.wants_html && !input.wants_character_card) {
@@ -38,7 +39,7 @@ export function getWorkflow(input) {
38
39
  "plan_worldbook_entries",
39
40
  "create_worldbook_draft_template",
40
41
  "get_entry_template",
41
- "draft_worldbook_entries",
42
+ "upsert_worldbook_entries",
42
43
  "validate_worldbook_draft",
43
44
  "lint_project_content",
44
45
  "create_final_review_report",
@@ -56,7 +57,7 @@ export function getWorkflow(input) {
56
57
  "plan_worldbook_entries",
57
58
  "create_worldbook_draft_template",
58
59
  "get_entry_template",
59
- "draft_worldbook_entries",
60
+ "upsert_worldbook_entries",
60
61
  "validate_worldbook_draft",
61
62
  "lint_project_content",
62
63
  "create_final_review_report",
@@ -65,7 +66,7 @@ export function getWorkflow(input) {
65
66
  };
66
67
  case "item_ability_equipment":
67
68
  return {
68
- workflow: withCharacterCard(input, ["get_entry_template", "draft_worldbook_entries", "validate_worldbook_draft", "lint_project_content", "create_final_review_report", "generate_worldbook_json"]),
69
+ workflow: withCharacterCard(input, ["get_entry_template", "upsert_worldbook_entries", "validate_worldbook_draft", "lint_project_content", "create_final_review_report", "generate_worldbook_json"]),
69
70
  notes: ["物品/能力/装备条目应保持 XML 包裹 YAML,并按触发策略设置 keys", ...commonNotes],
70
71
  };
71
72
  case "style_extraction":
@@ -75,7 +76,7 @@ export function getWorkflow(input) {
75
76
  };
76
77
  case "chapter_extraction":
77
78
  return {
78
- workflow: ["ingest_text_source", "create_chapter_extraction_outline", "submit_extraction_result", "plan_worldbook_entries", "draft_worldbook_entries", "validate_worldbook_draft"],
79
+ workflow: ["ingest_text_source", "create_chapter_extraction_outline", "submit_extraction_result", "plan_worldbook_entries", "upsert_worldbook_entries", "validate_worldbook_draft"],
79
80
  notes: ["章节提取应保留事件因果和角色状态变化,避免流水账", ...commonNotes],
80
81
  };
81
82
  case "modify_existing":
@@ -103,7 +104,7 @@ function extractionWorkflow(sourceTool) {
103
104
  "plan_worldbook_entries",
104
105
  "create_worldbook_draft_template",
105
106
  "get_entry_template",
106
- "draft_worldbook_entries",
107
+ "upsert_worldbook_entries",
107
108
  "validate_worldbook_draft",
108
109
  "lint_project_content",
109
110
  "create_final_review_report",
@@ -116,11 +117,10 @@ function withCharacterCard(input, workflow) {
116
117
  return workflow;
117
118
  return [
118
119
  ...workflow,
119
- "create_character_card_template",
120
+ "upsert_character_profile",
120
121
  ...(input.wants_mvu ? ["create_mvu_schema_template", "submit_mvu_config", "validate_mvu_config", "build_mvu_assets"] : []),
121
122
  ...(input.wants_html ? ["create_html_beautify_template", "submit_html_beautify_config", "validate_html_beautify_config", "build_html_beautify_assets"] : []),
122
123
  ...(input.wants_ejs ? ["create_ejs_template", "submit_ejs_config", "validate_ejs_config", "build_ejs_entries"] : []),
123
- "submit_character_card_config",
124
124
  "validate_character_card_config",
125
125
  "generate_character_card_json",
126
126
  "query_character_card",
@@ -1 +1 @@
1
- {"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../src/core/workflow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../src/core/workflow.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import type { EntryType, PositionName, WorldbookDraftEntry } from "../schemas/worldbook-draft.js";
2
+ export interface SimplifiedWorldbookEntryInput {
3
+ comment: string;
4
+ content: string;
5
+ keys?: string[];
6
+ secondary_keys?: string[];
7
+ secondaryKeys?: string[];
8
+ entry_type?: EntryType;
9
+ entryType?: EntryType;
10
+ position?: PositionName;
11
+ order?: number;
12
+ constant?: boolean;
13
+ enabled?: boolean;
14
+ depth?: number;
15
+ scan_depth?: number | null;
16
+ scanDepth?: number | null;
17
+ character_name?: string;
18
+ characterName?: string;
19
+ }
20
+ export declare function normalizeWorldbookEntry(input: SimplifiedWorldbookEntryInput, existing?: WorldbookDraftEntry): WorldbookDraftEntry;
21
+ export declare function upsertWorldbookDraftEntry(entries: WorldbookDraftEntry[] | undefined, input: SimplifiedWorldbookEntryInput, options?: {
22
+ matchByKeys?: boolean;
23
+ }): {
24
+ entries: WorldbookDraftEntry[];
25
+ created: boolean;
26
+ index: number;
27
+ entry: WorldbookDraftEntry;
28
+ };