@aigne/doc-smith 0.9.8-alpha.2 → 0.9.8-alpha.4
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/CLAUDE.md +43 -0
- package/README.md +94 -250
- package/aigne.yaml +2 -149
- package/doc-smith/SKILL.md +117 -0
- package/doc-smith/references/changeset_schema.md +118 -0
- package/doc-smith/references/document_structure_schema.md +139 -0
- package/doc-smith/references/document_update_guide.md +193 -0
- package/doc-smith/references/structure_confirmation_guide.md +133 -0
- package/doc-smith/references/structure_planning_guide.md +146 -0
- package/doc-smith/references/user_intent_guide.md +172 -0
- package/doc-smith.yaml +114 -0
- package/main-system-prompt.md +56 -0
- package/package.json +3 -69
- package/scripts/README.md +90 -0
- package/scripts/install.sh +86 -0
- package/scripts/uninstall.sh +52 -0
- package/CHANGELOG.md +0 -994
- package/LICENSE +0 -93
- package/agentic-agents/common/base-info.md +0 -53
- package/agentic-agents/common/planner.md +0 -168
- package/agentic-agents/common/worker.md +0 -93
- package/agentic-agents/create/index.yaml +0 -118
- package/agentic-agents/create/objective.md +0 -44
- package/agentic-agents/create/set-custom-prompt.mjs +0 -27
- package/agentic-agents/detail/index.yaml +0 -95
- package/agentic-agents/detail/objective.md +0 -9
- package/agentic-agents/detail/set-custom-prompt.mjs +0 -88
- package/agentic-agents/predict-resources/index.yaml +0 -44
- package/agentic-agents/predict-resources/instructions.md +0 -61
- package/agentic-agents/structure/design-rules.md +0 -39
- package/agentic-agents/structure/index.yaml +0 -86
- package/agentic-agents/structure/objective.md +0 -14
- package/agentic-agents/structure/review-criteria.md +0 -55
- package/agentic-agents/structure/set-custom-prompt.mjs +0 -78
- package/agentic-agents/utils/init-workspace-cache.mjs +0 -171
- package/agentic-agents/utils/load-base-sources.mjs +0 -20
- package/agentic-agents/workspace-cache-sharing-design.md +0 -671
- package/agents/chat/chat-system.md +0 -38
- package/agents/chat/index.mjs +0 -59
- package/agents/chat/skills/generate-document.yaml +0 -15
- package/agents/chat/skills/list-documents.mjs +0 -15
- package/agents/chat/skills/update-document.yaml +0 -24
- package/agents/clear/choose-contents.mjs +0 -192
- package/agents/clear/clear-auth-tokens.mjs +0 -88
- package/agents/clear/clear-deployment-config.mjs +0 -49
- package/agents/clear/clear-document-config.mjs +0 -36
- package/agents/clear/clear-document-structure.mjs +0 -102
- package/agents/clear/clear-generated-docs.mjs +0 -142
- package/agents/clear/clear-media-description.mjs +0 -129
- package/agents/clear/index.yaml +0 -26
- package/agents/create/analyze-diagram-type-llm.yaml +0 -160
- package/agents/create/analyze-diagram-type.mjs +0 -297
- package/agents/create/check-document-structure.yaml +0 -30
- package/agents/create/check-need-generate-structure.mjs +0 -105
- package/agents/create/document-structure-tools/add-document.mjs +0 -85
- package/agents/create/document-structure-tools/delete-document.mjs +0 -116
- package/agents/create/document-structure-tools/move-document.mjs +0 -109
- package/agents/create/document-structure-tools/update-document.mjs +0 -84
- package/agents/create/generate-diagram-image.yaml +0 -60
- package/agents/create/generate-structure.yaml +0 -117
- package/agents/create/index.yaml +0 -49
- package/agents/create/refine-document-structure.yaml +0 -12
- package/agents/create/replace-d2-with-image.mjs +0 -625
- package/agents/create/update-document-structure.yaml +0 -54
- package/agents/create/user-add-document/add-documents-to-structure.mjs +0 -90
- package/agents/create/user-add-document/find-documents-to-add-links.yaml +0 -47
- package/agents/create/user-add-document/index.yaml +0 -46
- package/agents/create/user-add-document/prepare-documents-to-translate.mjs +0 -22
- package/agents/create/user-add-document/print-add-document-summary.mjs +0 -63
- package/agents/create/user-add-document/review-documents-with-new-links.mjs +0 -110
- package/agents/create/user-remove-document/find-documents-with-invalid-links.mjs +0 -78
- package/agents/create/user-remove-document/index.yaml +0 -40
- package/agents/create/user-remove-document/prepare-documents-to-translate.mjs +0 -22
- package/agents/create/user-remove-document/print-remove-document-summary.mjs +0 -53
- package/agents/create/user-remove-document/remove-documents-from-structure.mjs +0 -99
- package/agents/create/user-remove-document/review-documents-with-invalid-links.mjs +0 -115
- package/agents/create/user-review-document-structure.mjs +0 -140
- package/agents/create/utils/init-current-content.mjs +0 -34
- package/agents/create/utils/merge-document-structures.mjs +0 -30
- package/agents/evaluate/code-snippet.mjs +0 -97
- package/agents/evaluate/document-structure.yaml +0 -67
- package/agents/evaluate/document.yaml +0 -82
- package/agents/evaluate/generate-report.mjs +0 -85
- package/agents/evaluate/index.yaml +0 -46
- package/agents/history/index.yaml +0 -6
- package/agents/history/view.mjs +0 -78
- package/agents/init/check.mjs +0 -16
- package/agents/init/index.mjs +0 -275
- package/agents/init/validate.mjs +0 -16
- package/agents/localize/choose-language.mjs +0 -107
- package/agents/localize/index.yaml +0 -58
- package/agents/localize/record-translation-history.mjs +0 -23
- package/agents/localize/translate-document.yaml +0 -24
- package/agents/localize/translate-multilingual.yaml +0 -51
- package/agents/media/batch-generate-media-description.yaml +0 -46
- package/agents/media/generate-media-description.yaml +0 -50
- package/agents/media/load-media-description.mjs +0 -256
- package/agents/prefs/index.mjs +0 -203
- package/agents/publish/index.yaml +0 -26
- package/agents/publish/publish-docs.mjs +0 -356
- package/agents/publish/translate-meta.mjs +0 -103
- package/agents/schema/document-structure-item.yaml +0 -26
- package/agents/schema/document-structure-refine-item.yaml +0 -23
- package/agents/schema/document-structure.yaml +0 -29
- package/agents/update/batch-generate-document.yaml +0 -27
- package/agents/update/batch-update-document.yaml +0 -7
- package/agents/update/check-diagram-flag.mjs +0 -116
- package/agents/update/check-document.mjs +0 -162
- package/agents/update/check-generate-diagram.mjs +0 -106
- package/agents/update/check-sync-image-flag.mjs +0 -55
- package/agents/update/check-update-is-single.mjs +0 -53
- package/agents/update/document-tools/update-document-content.mjs +0 -303
- package/agents/update/generate-diagram.yaml +0 -63
- package/agents/update/generate-document.yaml +0 -70
- package/agents/update/handle-document-update.yaml +0 -103
- package/agents/update/index.yaml +0 -79
- package/agents/update/pre-check-generate-diagram.yaml +0 -44
- package/agents/update/save-and-translate-document.mjs +0 -76
- package/agents/update/sync-images-and-exit.mjs +0 -148
- package/agents/update/update-document-detail.yaml +0 -71
- package/agents/update/update-single/update-single-document-detail.mjs +0 -280
- package/agents/update/update-single-document.yaml +0 -7
- package/agents/update/user-review-document.mjs +0 -272
- package/agents/utils/action-success.mjs +0 -16
- package/agents/utils/analyze-document-feedback-intent.yaml +0 -32
- package/agents/utils/analyze-feedback-intent.mjs +0 -136
- package/agents/utils/analyze-structure-feedback-intent.yaml +0 -29
- package/agents/utils/check-detail-result.mjs +0 -38
- package/agents/utils/check-feedback-refiner.mjs +0 -81
- package/agents/utils/choose-docs.mjs +0 -293
- package/agents/utils/document-icon-generate.yaml +0 -52
- package/agents/utils/document-title-streamline.yaml +0 -48
- package/agents/utils/ensure-document-icons.mjs +0 -129
- package/agents/utils/exit.mjs +0 -6
- package/agents/utils/feedback-refiner.yaml +0 -50
- package/agents/utils/find-item-by-path.mjs +0 -114
- package/agents/utils/find-user-preferences-by-path.mjs +0 -37
- package/agents/utils/format-document-structure.mjs +0 -35
- package/agents/utils/generate-document-or-skip.mjs +0 -41
- package/agents/utils/handle-diagram-operations.mjs +0 -263
- package/agents/utils/load-all-document-content.mjs +0 -30
- package/agents/utils/load-document-all-content.mjs +0 -84
- package/agents/utils/load-sources.mjs +0 -405
- package/agents/utils/map-reasoning-effort-level.mjs +0 -15
- package/agents/utils/post-generate.mjs +0 -144
- package/agents/utils/read-current-document-content.mjs +0 -46
- package/agents/utils/save-doc-translation.mjs +0 -61
- package/agents/utils/save-doc.mjs +0 -88
- package/agents/utils/save-output.mjs +0 -26
- package/agents/utils/save-sidebar.mjs +0 -51
- package/agents/utils/skip-if-content-exists.mjs +0 -27
- package/agents/utils/streamline-document-titles-if-needed.mjs +0 -88
- package/agents/utils/transform-detail-data-sources.mjs +0 -45
- package/agents/utils/update-branding.mjs +0 -84
- package/assets/report-template/report.html +0 -198
- package/docs-mcp/analyze-content-relevance.yaml +0 -50
- package/docs-mcp/analyze-docs-relevance.yaml +0 -59
- package/docs-mcp/docs-search.yaml +0 -42
- package/docs-mcp/get-docs-detail.mjs +0 -41
- package/docs-mcp/get-docs-structure.mjs +0 -16
- package/docs-mcp/read-doc-content.mjs +0 -119
- package/prompts/common/document/content-rules-core.md +0 -20
- package/prompts/common/document/markdown-syntax-rules.md +0 -65
- package/prompts/common/document/media-file-list-usage-rules.md +0 -18
- package/prompts/common/document/openapi-usage-rules.md +0 -189
- package/prompts/common/document/role-and-personality.md +0 -16
- package/prompts/common/document/user-preferences.md +0 -9
- package/prompts/common/document-structure/conflict-resolution-guidance.md +0 -16
- package/prompts/common/document-structure/document-icon-generate.md +0 -116
- package/prompts/common/document-structure/document-structure-rules.md +0 -43
- package/prompts/common/document-structure/document-title-streamline.md +0 -86
- package/prompts/common/document-structure/glossary.md +0 -7
- package/prompts/common/document-structure/intj-traits.md +0 -5
- package/prompts/common/document-structure/openapi-usage-rules.md +0 -28
- package/prompts/common/document-structure/output-constraints.md +0 -18
- package/prompts/common/document-structure/user-locale-rules.md +0 -10
- package/prompts/common/document-structure/user-preferences.md +0 -9
- package/prompts/detail/custom/admonition-usage-rules.md +0 -94
- package/prompts/detail/custom/code-block-usage-rules.md +0 -163
- package/prompts/detail/custom/custom-components/x-card-usage-rules.md +0 -63
- package/prompts/detail/custom/custom-components/x-cards-usage-rules.md +0 -83
- package/prompts/detail/custom/custom-components/x-field-desc-usage-rules.md +0 -120
- package/prompts/detail/custom/custom-components/x-field-group-usage-rules.md +0 -80
- package/prompts/detail/custom/custom-components/x-field-usage-rules.md +0 -189
- package/prompts/detail/custom/custom-components-usage-rules.md +0 -18
- package/prompts/detail/diagram/generate-image-system.md +0 -135
- package/prompts/detail/diagram/generate-image-user.md +0 -32
- package/prompts/detail/diagram/guide.md +0 -29
- package/prompts/detail/diagram/official-examples.md +0 -712
- package/prompts/detail/diagram/pre-check.md +0 -23
- package/prompts/detail/diagram/role-and-personality.md +0 -2
- package/prompts/detail/diagram/rules.md +0 -46
- package/prompts/detail/diagram/system-prompt.md +0 -1139
- package/prompts/detail/diagram/user-prompt.md +0 -43
- package/prompts/detail/generate/detail-example.md +0 -457
- package/prompts/detail/generate/document-rules.md +0 -45
- package/prompts/detail/generate/system-prompt.md +0 -61
- package/prompts/detail/generate/user-prompt.md +0 -99
- package/prompts/detail/jsx/rules.md +0 -6
- package/prompts/detail/update/system-prompt.md +0 -121
- package/prompts/detail/update/user-prompt.md +0 -41
- package/prompts/evaluate/document-structure.md +0 -93
- package/prompts/evaluate/document.md +0 -149
- package/prompts/media/media-description/system-prompt.md +0 -43
- package/prompts/media/media-description/user-prompt.md +0 -17
- package/prompts/structure/check-document-structure.md +0 -93
- package/prompts/structure/document-rules.md +0 -21
- package/prompts/structure/find-documents-to-add-links.md +0 -52
- package/prompts/structure/generate/system-prompt.md +0 -13
- package/prompts/structure/generate/user-prompt.md +0 -137
- package/prompts/structure/review/structure-review-system.md +0 -81
- package/prompts/structure/structure-example.md +0 -89
- package/prompts/structure/structure-getting-started.md +0 -10
- package/prompts/structure/update/system-prompt.md +0 -93
- package/prompts/structure/update/user-prompt.md +0 -43
- package/prompts/translate/admonition.md +0 -20
- package/prompts/translate/code-block.md +0 -33
- package/prompts/translate/glossary.md +0 -6
- package/prompts/translate/translate-document.md +0 -305
- package/prompts/utils/analyze-document-feedback-intent.md +0 -54
- package/prompts/utils/analyze-structure-feedback-intent.md +0 -43
- package/prompts/utils/feedback-refiner.md +0 -105
- package/types/document-schema.mjs +0 -55
- package/types/document-structure-schema.mjs +0 -261
- package/utils/auth-utils.mjs +0 -275
- package/utils/blocklet.mjs +0 -104
- package/utils/check-document-has-diagram.mjs +0 -95
- package/utils/conflict-detector.mjs +0 -149
- package/utils/constants/index.mjs +0 -620
- package/utils/constants/linter.mjs +0 -102
- package/utils/d2-utils.mjs +0 -198
- package/utils/debug.mjs +0 -3
- package/utils/delete-diagram-images.mjs +0 -99
- package/utils/deploy.mjs +0 -86
- package/utils/docs-finder-utils.mjs +0 -623
- package/utils/evaluate/report-utils.mjs +0 -132
- package/utils/extract-api.mjs +0 -32
- package/utils/file-utils.mjs +0 -960
- package/utils/history-utils.mjs +0 -203
- package/utils/icon-map.mjs +0 -26
- package/utils/image-compress.mjs +0 -75
- package/utils/kroki-utils.mjs +0 -173
- package/utils/linter/index.mjs +0 -50
- package/utils/load-config.mjs +0 -107
- package/utils/markdown/index.mjs +0 -26
- package/utils/markdown-checker.mjs +0 -694
- package/utils/mermaid-validator.mjs +0 -140
- package/utils/mermaid-worker-pool.mjs +0 -250
- package/utils/mermaid-worker.mjs +0 -233
- package/utils/openapi/index.mjs +0 -28
- package/utils/preferences-utils.mjs +0 -175
- package/utils/request.mjs +0 -10
- package/utils/store/index.mjs +0 -45
- package/utils/sync-diagram-to-translations.mjs +0 -262
- package/utils/upload-files.mjs +0 -231
- package/utils/utils.mjs +0 -1354
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: doc-smith
|
|
3
|
+
description: "从工作区数据源生成和更新全面的文档,包括代码仓库、文本文件和媒体资源。当用户请求以下操作时使用此技能:(1) 从代码或文件创建或生成文档,(2) 构建文档结构或文档详情,(3) 分析工作区内容以生成有组织的文档,(4) 将代码/项目内容转换为可读文档,(5) 更新、修改或改进已有文档,(6) 应用术语统一、风格调整等全局修改,(7) 重写文档的特定章节或段落,(8) 处理 changeset 文件或 PATCH 标记的修改请求。支持技术文档、用户指南、API 参考和一般文档需求的生成与维护。"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# DocSmith
|
|
7
|
+
|
|
8
|
+
从工作区数据源生成和更新结构化文档。
|
|
9
|
+
|
|
10
|
+
## 概述
|
|
11
|
+
|
|
12
|
+
DocSmith 分析工作区内容(代码、文件、媒体)并生成:
|
|
13
|
+
1. 用户意图描述(`user_intent.md`)
|
|
14
|
+
2. 文档结构计划(`document_structure.yaml`)
|
|
15
|
+
3. 按层次组织的 Markdown 文档文件
|
|
16
|
+
|
|
17
|
+
所有输出都创建在 `.aigne/doc-smith/` 目录中。
|
|
18
|
+
|
|
19
|
+
## 使用场景
|
|
20
|
+
|
|
21
|
+
### 场景 A:生成新文档
|
|
22
|
+
|
|
23
|
+
当 `.aigne/doc-smith/docs/` 目录不存在或用户明确要求重新生成时,使用 **文档生成流程**(步骤 1-6)。
|
|
24
|
+
|
|
25
|
+
**适用情况:**
|
|
26
|
+
- 首次为项目生成文档
|
|
27
|
+
- 完全重建文档结构
|
|
28
|
+
- 用户说"重新生成所有文档"
|
|
29
|
+
|
|
30
|
+
### 场景 B:更新已有文档
|
|
31
|
+
|
|
32
|
+
当 `.aigne/doc-smith/docs/` 目录已存在且用户要求修改时,使用 **文档更新流程**(步骤 7)。
|
|
33
|
+
|
|
34
|
+
**适用情况:**
|
|
35
|
+
- 用户提出自然语言修改请求(如"统一术语"、"补充章节"、"修正错误")
|
|
36
|
+
- 用户提供 changeset 文件路径
|
|
37
|
+
- 文档中存在 `:::PATCH` 标记
|
|
38
|
+
- 用户说"更新文档"、"修改文档"、"应用修改"
|
|
39
|
+
|
|
40
|
+
## 工作流程
|
|
41
|
+
|
|
42
|
+
按以下步骤依次执行:
|
|
43
|
+
|
|
44
|
+
### 1. 分析工作区
|
|
45
|
+
|
|
46
|
+
使用 Glob/Grep/Read 工具探索工作区,了解项目目的、结构、主要模块、现有文档和媒体资源。
|
|
47
|
+
|
|
48
|
+
### 2. 推断用户意图
|
|
49
|
+
|
|
50
|
+
首先检查用户意图文件是否已存在,如果存在向用户问询是否需要修改。
|
|
51
|
+
用户意图格式参考: `references\user_intent_guide.md`
|
|
52
|
+
|
|
53
|
+
### 3. 规划文档结构
|
|
54
|
+
|
|
55
|
+
首先检查文档结构文件是否已存在,如果存在执行第 5 步骤 ,向用户问询是否需要修改。
|
|
56
|
+
文档结构规划要求参考: `references\structure_planning_guide.md`
|
|
57
|
+
|
|
58
|
+
### 4. 生成 document_structure.yaml
|
|
59
|
+
|
|
60
|
+
文档结构数据结构参考: `references\document_structure_schema.md`
|
|
61
|
+
|
|
62
|
+
### 5. 确认文档结构
|
|
63
|
+
|
|
64
|
+
向用户展示的结构请参考: `references\structure_confirmation_guide.md`
|
|
65
|
+
|
|
66
|
+
### 6. 生成文档内容
|
|
67
|
+
|
|
68
|
+
为结构中的每个文档在 `.aigne/doc-smith/docs/` 中创建 markdown 文件。使用 YAML 中的 `path` 作为文件路径,从 `sourcePaths` 提取信息,编写清晰、结构化的内容。
|
|
69
|
+
|
|
70
|
+
在文档开头和结尾添加导航链接,引导用户阅读相关文档(开头:前置条件、父主题;结尾:相关主题、下一步、子文档)。
|
|
71
|
+
|
|
72
|
+
### 7. 更新已有文档
|
|
73
|
+
|
|
74
|
+
仅当 `.aigne/doc-smith/docs/` 已存在时处理文档更新。
|
|
75
|
+
处理流程请参考 `references\document_update_guide.md` 和 `references\changeset_schema.md`
|
|
76
|
+
|
|
77
|
+
## 输出结构
|
|
78
|
+
|
|
79
|
+
完成后:
|
|
80
|
+
|
|
81
|
+
```
|
|
82
|
+
.aigne/doc-smith/
|
|
83
|
+
├── output/
|
|
84
|
+
│ ├── user_intent.md # 用户意图描述
|
|
85
|
+
│ └── document_structure.yaml # 文档计划
|
|
86
|
+
└── docs/
|
|
87
|
+
├── overview.md # 生成的文档
|
|
88
|
+
├── getting-started.md
|
|
89
|
+
└── api/
|
|
90
|
+
└── authentication.md
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
## 媒体资源
|
|
94
|
+
|
|
95
|
+
当工作区中存在媒体文件(图片、视频)时:
|
|
96
|
+
|
|
97
|
+
**发现:**
|
|
98
|
+
```bash
|
|
99
|
+
find . -type f \( -name "*.png" -o -name "*.jpg" -o -name "*.gif" -o -name "*.mp4" \)
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
**在 markdown 中引用:**
|
|
103
|
+
```markdown
|
|
104
|
+

|
|
105
|
+
|
|
106
|
+
<!-- 或相对于文档位置 -->
|
|
107
|
+

|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
**不要复制**媒体文件。直接从它们的工作区位置引用。
|
|
111
|
+
|
|
112
|
+
## 关键原则
|
|
113
|
+
|
|
114
|
+
- **参考引用文件**:执行到每个步骤时,如果提供了参考文件,必须先阅读参考文件中的要求
|
|
115
|
+
- **基于用户意图**:所有规划和生成都应参考 `user_intent.md`
|
|
116
|
+
- **最小必要原则**:只生成用户意图中明确需要的文档
|
|
117
|
+
- **批量执行**:生成文档内容时优先批量执行,缩短执行时间
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
# Changeset 文件理解指南
|
|
2
|
+
|
|
3
|
+
## 核心原则
|
|
4
|
+
|
|
5
|
+
Changeset 只包含两类修改:
|
|
6
|
+
1. **全局语义修改** - 跨文档的规则、术语、风格
|
|
7
|
+
2. **结构重写** - 补充、重写、重组特定章节
|
|
8
|
+
|
|
9
|
+
**注意:** PATCH 类修改通过文档内 `:::PATCH` 标记实现,不会出现在 changeset 中。
|
|
10
|
+
|
|
11
|
+
## 读取和理解
|
|
12
|
+
|
|
13
|
+
Changeset 是自然语言文本,格式自由。你需要:
|
|
14
|
+
1. 读取文件全部内容
|
|
15
|
+
2. 识别所有修改请求
|
|
16
|
+
3. 分类为"全局修改"或"结构重写"
|
|
17
|
+
4. 按优先级执行:全局修改 → 结构重写
|
|
18
|
+
|
|
19
|
+
## 识别规则
|
|
20
|
+
|
|
21
|
+
### 全局修改特征
|
|
22
|
+
- 关键词:"所有"、"统一"、"全部"、"删除"
|
|
23
|
+
- 跨多个文档的规则
|
|
24
|
+
- 术语、风格、格式的一致性
|
|
25
|
+
|
|
26
|
+
**示例:**
|
|
27
|
+
```
|
|
28
|
+
"所有 API 改为 API 接口" → 全局修改
|
|
29
|
+
"删除所有第一人称" → 全局修改
|
|
30
|
+
"代码块统一添加语言标识符" → 全局修改
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### 结构重写特征
|
|
34
|
+
- 关键词:"补充"、"添加"、"重写"、"重组"
|
|
35
|
+
- 指定文档或章节
|
|
36
|
+
- 需要生成新内容
|
|
37
|
+
|
|
38
|
+
**示例:**
|
|
39
|
+
```
|
|
40
|
+
"overview.md 补充项目背景" → 结构重写
|
|
41
|
+
"快速开始添加环境要求章节" → 结构重写
|
|
42
|
+
"API 文档补充错误码说明" → 结构重写
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## 常见模式参考
|
|
46
|
+
|
|
47
|
+
### 模式 1:简单列表
|
|
48
|
+
```markdown
|
|
49
|
+
1. 统一术语:"API" → "API 接口"
|
|
50
|
+
2. 补充 overview.md 的项目背景
|
|
51
|
+
3. 删除所有形容词
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
理解:1, 3 是全局修改;2 是结构重写
|
|
55
|
+
|
|
56
|
+
### 模式 2:分类组织
|
|
57
|
+
```markdown
|
|
58
|
+
## 全局修改
|
|
59
|
+
- 代码示例添加语言标识符
|
|
60
|
+
- 禁止使用第一人称
|
|
61
|
+
|
|
62
|
+
## 补充内容
|
|
63
|
+
- getting-started.md 添加环境要求
|
|
64
|
+
- api/errors.md 补充错误原因
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
理解:按章节分类,直接识别
|
|
68
|
+
|
|
69
|
+
### 模式 3:自由描述
|
|
70
|
+
```markdown
|
|
71
|
+
发现文档问题:
|
|
72
|
+
- "API" 和 "接口" 混用,统一为 "API 接口"
|
|
73
|
+
- 快速开始缺环境要求说明
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
理解:第一条是全局修改,第二条是结构重写
|
|
77
|
+
|
|
78
|
+
## 执行流程
|
|
79
|
+
|
|
80
|
+
### 1. 读取文件
|
|
81
|
+
```bash
|
|
82
|
+
cat <changeset-file-path>
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### 2. 分类汇总
|
|
86
|
+
|
|
87
|
+
**全局修改:**
|
|
88
|
+
- 规则 1: ...
|
|
89
|
+
- 规则 2: ...
|
|
90
|
+
|
|
91
|
+
**结构重写:**
|
|
92
|
+
- 文档 A, 章节 X: ...
|
|
93
|
+
- 文档 B, 章节 Y: ...
|
|
94
|
+
|
|
95
|
+
### 3. 执行修改
|
|
96
|
+
|
|
97
|
+
**优先级:** 全局修改 → 结构重写
|
|
98
|
+
|
|
99
|
+
**全局修改:**
|
|
100
|
+
```bash
|
|
101
|
+
find .aigne/doc-smith/docs/ -name "*.md"
|
|
102
|
+
```
|
|
103
|
+
遍历所有文档,应用规则
|
|
104
|
+
|
|
105
|
+
**结构重写:**
|
|
106
|
+
定位章节,读取上下文,重新生成内容
|
|
107
|
+
|
|
108
|
+
### 4. 展示摘要
|
|
109
|
+
|
|
110
|
+
列出所有执行的修改和受影响的文件
|
|
111
|
+
|
|
112
|
+
## 处理歧义
|
|
113
|
+
|
|
114
|
+
**模糊描述:** 询问用户具体要求
|
|
115
|
+
|
|
116
|
+
**范围不明:** 先搜索确定影响范围,再执行
|
|
117
|
+
|
|
118
|
+
**冲突规则:** 说明冲突,询问优先级
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
# 文档结构 Schema
|
|
2
|
+
|
|
3
|
+
本参考定义了 `document_structure.yaml` 的完整 schema。
|
|
4
|
+
|
|
5
|
+
## 完整的 YAML 结构
|
|
6
|
+
|
|
7
|
+
```yaml
|
|
8
|
+
project:
|
|
9
|
+
title: "项目名称" # 必需:项目名称
|
|
10
|
+
description: "项目概述" # 必需:项目简要描述
|
|
11
|
+
|
|
12
|
+
documents: # 必需:文档对象数组
|
|
13
|
+
- title: "文档标题" # 必需:文档标题
|
|
14
|
+
description: "简要摘要" # 必需:此文档涵盖的内容
|
|
15
|
+
path: "/filename.md" # 必需:相对于 .aigne/doc-smith/docs/ 的路径
|
|
16
|
+
# 示例:/overview.md, /getting-started.md, /api/authentication.md
|
|
17
|
+
sourcePaths: # 必需:源文件路径数组(相对路径,不使用 'workspace:' 前缀)
|
|
18
|
+
- "src/main.py" # 为此文档内容提供信息的文件
|
|
19
|
+
- "README.md" # 如果没有特定源文件则使用空数组 []
|
|
20
|
+
icon: "lucide:book-open" # 仅顶层文档必需
|
|
21
|
+
# 必须是有效的 Lucide 图标名称:"lucide:icon-name"
|
|
22
|
+
# 示例:lucide:book-open, lucide:settings, lucide:code
|
|
23
|
+
# 嵌套文档省略此字段
|
|
24
|
+
children: # 可选:嵌套文档(相同结构)
|
|
25
|
+
- title: "嵌套文档"
|
|
26
|
+
description: "详细信息"
|
|
27
|
+
path: "/section/nested.md"
|
|
28
|
+
sourcePaths:
|
|
29
|
+
- "src/utils.py"
|
|
30
|
+
# 嵌套文档不需要 icon
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## 字段详解
|
|
34
|
+
|
|
35
|
+
### project
|
|
36
|
+
- **title**:项目名称(字符串)
|
|
37
|
+
- **description**:项目简要概述(字符串)
|
|
38
|
+
|
|
39
|
+
### documents(数组)
|
|
40
|
+
每个文档对象包含:
|
|
41
|
+
|
|
42
|
+
- **title**(必需):文档的显示标题
|
|
43
|
+
- **description**(必需):内容简要摘要
|
|
44
|
+
- **path**(必需):相对于 `.aigne/doc-smith/docs/` 的文件路径
|
|
45
|
+
- 必须以 `/` 开头
|
|
46
|
+
- 必须以 `.md` 结尾
|
|
47
|
+
- 可以包含子目录:`/api/endpoints.md`
|
|
48
|
+
- **sourcePaths**(必需):源文件路径数组
|
|
49
|
+
- 相对于工作区根目录的路径
|
|
50
|
+
- 不要包含 `workspace:` 前缀
|
|
51
|
+
- 如果没有特定源文件则使用 `[]`
|
|
52
|
+
- **icon**(仅顶层文档必需):Lucide 图标标识符
|
|
53
|
+
- 格式:`lucide:icon-name`
|
|
54
|
+
- 仅用于根级别的文档(不是子文档)
|
|
55
|
+
- 示例:`lucide:home`, `lucide:file-text`, `lucide:settings`
|
|
56
|
+
- 可用图标请参见 https://lucide.dev/icons
|
|
57
|
+
- **children**(可选):具有相同结构的嵌套文档数组
|
|
58
|
+
- 可以嵌套多层
|
|
59
|
+
- 子文档不需要 icons
|
|
60
|
+
|
|
61
|
+
## 示例
|
|
62
|
+
|
|
63
|
+
基本的 YAML 结构示例:
|
|
64
|
+
|
|
65
|
+
### 扁平结构示例
|
|
66
|
+
```yaml
|
|
67
|
+
project:
|
|
68
|
+
title: "项目名称"
|
|
69
|
+
description: "项目简要描述"
|
|
70
|
+
|
|
71
|
+
documents:
|
|
72
|
+
- title: "概述"
|
|
73
|
+
description: "项目介绍和核心概念"
|
|
74
|
+
path: "/overview.md"
|
|
75
|
+
sourcePaths:
|
|
76
|
+
- "README.md"
|
|
77
|
+
icon: "lucide:home"
|
|
78
|
+
|
|
79
|
+
- title: "快速开始"
|
|
80
|
+
description: "安装、配置和第一个示例"
|
|
81
|
+
path: "/getting-started.md"
|
|
82
|
+
sourcePaths:
|
|
83
|
+
- "docs/installation.md"
|
|
84
|
+
icon: "lucide:rocket"
|
|
85
|
+
|
|
86
|
+
- title: "API 参考"
|
|
87
|
+
description: "API 使用说明"
|
|
88
|
+
path: "/api.md"
|
|
89
|
+
sourcePaths:
|
|
90
|
+
- "src/api/"
|
|
91
|
+
icon: "lucide:code"
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### 嵌套结构示例
|
|
95
|
+
```yaml
|
|
96
|
+
project:
|
|
97
|
+
title: "项目名称"
|
|
98
|
+
description: "项目简要描述"
|
|
99
|
+
|
|
100
|
+
documents:
|
|
101
|
+
- title: "概述"
|
|
102
|
+
description: "项目介绍"
|
|
103
|
+
path: "/overview.md"
|
|
104
|
+
sourcePaths:
|
|
105
|
+
- "README.md"
|
|
106
|
+
icon: "lucide:home"
|
|
107
|
+
|
|
108
|
+
- title: "核心功能"
|
|
109
|
+
description: "主要功能模块说明"
|
|
110
|
+
path: "/features.md"
|
|
111
|
+
sourcePaths:
|
|
112
|
+
- "src/core/"
|
|
113
|
+
icon: "lucide:box"
|
|
114
|
+
children:
|
|
115
|
+
- title: "子功能 A"
|
|
116
|
+
description: "子功能详细说明"
|
|
117
|
+
path: "/features/feature-a.md"
|
|
118
|
+
sourcePaths:
|
|
119
|
+
- "src/feature-a/"
|
|
120
|
+
|
|
121
|
+
- title: "子功能 B"
|
|
122
|
+
description: "子功能详细说明"
|
|
123
|
+
path: "/features/feature-b.md"
|
|
124
|
+
sourcePaths:
|
|
125
|
+
- "src/feature-b/"
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
**注意**:选择扁平还是嵌套结构应基于 SKILL.md 中的判断标准,而非模仿示例。
|
|
129
|
+
|
|
130
|
+
## 最佳实践
|
|
131
|
+
|
|
132
|
+
1. **基于实际内容决策**:根据实际的源文件内容量和独立性选择结构,参考 SKILL.md 中的判断标准
|
|
133
|
+
2. **避免内容重复**:如果子文档之间有重复内容,应该合并
|
|
134
|
+
3. **逻辑层次**:在父主题下组织相关文档
|
|
135
|
+
4. **清晰路径**:使用与文档标题匹配的描述性路径名称
|
|
136
|
+
5. **相关源文件**:包含所有为文档内容提供信息的文件
|
|
137
|
+
6. **合适的图标**:选择代表文档用途的图标(仅顶层文档需要)
|
|
138
|
+
7. **控制深度**:避免嵌套过深(建议最多 2 层)
|
|
139
|
+
8. **一致的描述**:保持描述简洁但信息丰富
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
# 文档更新执行指南
|
|
2
|
+
|
|
3
|
+
## 三种反馈类型识别
|
|
4
|
+
|
|
5
|
+
### 1. 全局语义修改(Global Semantic Changes)
|
|
6
|
+
|
|
7
|
+
**识别特征:** 跨多个文档的规则、术语、风格变更。
|
|
8
|
+
|
|
9
|
+
**处理方式:**
|
|
10
|
+
1. 提取所有全局修改
|
|
11
|
+
2. 遍历 `.aigne/doc-smith/docs/` 下所有文档
|
|
12
|
+
3. 对每个文档应用修改
|
|
13
|
+
4. 保持修改的一致性
|
|
14
|
+
|
|
15
|
+
**典型模式:**
|
|
16
|
+
- 术语替换:"blocklet" → "Blocklet"
|
|
17
|
+
- 风格调整:删除第一人称
|
|
18
|
+
- 格式统一:代码块添加语言标识
|
|
19
|
+
|
|
20
|
+
**来源:** 自然语言请求、Changeset 文件
|
|
21
|
+
|
|
22
|
+
### 2. 局部结构性重写(Structural Rewrite Requests)
|
|
23
|
+
|
|
24
|
+
**识别特征:** 需要补充、重写、重组特定章节。
|
|
25
|
+
|
|
26
|
+
**处理方式:**
|
|
27
|
+
1. 定位目标文档和章节
|
|
28
|
+
2. 读取相关源文件和上下文
|
|
29
|
+
3. 基于重写目标重新生成内容
|
|
30
|
+
4. 替换原有章节,确保前后衔接
|
|
31
|
+
|
|
32
|
+
**典型模式:**
|
|
33
|
+
- 补充内容:"添加环境要求章节"
|
|
34
|
+
- 重组结构:"合并分散的安装步骤"
|
|
35
|
+
- 增强说明:"补充错误码说明"
|
|
36
|
+
|
|
37
|
+
**来源:** 自然语言请求、Changeset 文件
|
|
38
|
+
|
|
39
|
+
### 3. 直接内容改写(PATCH)
|
|
40
|
+
|
|
41
|
+
**识别特征:** 文档内的 `:::PATCH` 标记。
|
|
42
|
+
|
|
43
|
+
**处理方式:**
|
|
44
|
+
1. 扫描所有文档查找 `:::PATCH` 标记
|
|
45
|
+
2. 读取 PATCH 内的修改指令
|
|
46
|
+
3. 执行精确替换
|
|
47
|
+
4. 删除整个 PATCH 标记
|
|
48
|
+
|
|
49
|
+
**PATCH 标记格式:**
|
|
50
|
+
```markdown
|
|
51
|
+
::: PATCH
|
|
52
|
+
修改说明或新内容
|
|
53
|
+
:::
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
**来源:** 仅通过文档内标记(不会出现在 Changeset 文件中)
|
|
57
|
+
|
|
58
|
+
## 三种输入方式处理
|
|
59
|
+
|
|
60
|
+
### 方式 1:自然语言修改请求
|
|
61
|
+
|
|
62
|
+
**检测:** 用户直接描述修改需求,无文件路径,无 PATCH 标记提及。
|
|
63
|
+
|
|
64
|
+
**执行步骤:**
|
|
65
|
+
1. 分析请求,识别反馈类型
|
|
66
|
+
2. 确定影响范围(单文档 vs 多文档)
|
|
67
|
+
3. 按识别的类型执行修改
|
|
68
|
+
4. 记录所有修改的文件
|
|
69
|
+
|
|
70
|
+
### 方式 2:Changeset 文件
|
|
71
|
+
|
|
72
|
+
**检测:** 用户提供文件路径(通常是 `.md` 文件)。
|
|
73
|
+
|
|
74
|
+
**执行步骤:**
|
|
75
|
+
1. 读取 changeset 文件
|
|
76
|
+
2. 理解所有修改请求
|
|
77
|
+
3. 分类为全局修改、结构重写
|
|
78
|
+
4. 按优先级执行:全局修改 → 结构重写
|
|
79
|
+
5. 记录所有修改
|
|
80
|
+
|
|
81
|
+
**重要:**
|
|
82
|
+
- 格式自由,自然语言描述
|
|
83
|
+
- 参见 `references\changeset_schema.md` 了解识别规则
|
|
84
|
+
|
|
85
|
+
### 方式 3:文档内 PATCH 标记
|
|
86
|
+
|
|
87
|
+
**检测:** 用户提到"PATCH 标记"或要求"应用 PATCH"。
|
|
88
|
+
|
|
89
|
+
**执行步骤:**
|
|
90
|
+
1. 扫描所有文档
|
|
91
|
+
|
|
92
|
+
2. 对每个标记:
|
|
93
|
+
- 读取 PATCH 内的修改指令
|
|
94
|
+
- 理解并执行修改
|
|
95
|
+
- 删除整个 `:::PATCH ... :::` 标记
|
|
96
|
+
- 保存文档
|
|
97
|
+
|
|
98
|
+
**PATCH 标记格式:**
|
|
99
|
+
```markdown
|
|
100
|
+
::: PATCH
|
|
101
|
+
修改说明或新内容
|
|
102
|
+
:::
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
## 更新执行流程
|
|
106
|
+
|
|
107
|
+
### 步骤 1:检测文档状态
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
ls -la .aigne/doc-smith/docs/
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
- 不存在 → 告知用户使用生成流程(步骤 1-6)
|
|
114
|
+
- 存在 → 继续更新流程
|
|
115
|
+
|
|
116
|
+
### 步骤 2:识别输入类型
|
|
117
|
+
|
|
118
|
+
根据用户消息判断:
|
|
119
|
+
- 包含文件路径 → Changeset
|
|
120
|
+
- 提到"PATCH 标记"或"应用 PATCH" → PATCH 方式
|
|
121
|
+
- 其他 → 自然语言
|
|
122
|
+
|
|
123
|
+
如果不确定,询问用户。
|
|
124
|
+
|
|
125
|
+
### 步骤 3:解析更新请求
|
|
126
|
+
|
|
127
|
+
- **自然语言:** 分析并分类为全局修改、结构重写或 PATCH
|
|
128
|
+
- **Changeset:** 读取文件,提取全局修改和结构重写
|
|
129
|
+
- **PATCH 标记:** 扫描文档,查找所有 `:::PATCH`
|
|
130
|
+
|
|
131
|
+
### 步骤 4:应用修改
|
|
132
|
+
|
|
133
|
+
**执行优先级:** 全局修改 → 结构重写 → PATCH
|
|
134
|
+
|
|
135
|
+
**全局修改:**
|
|
136
|
+
```bash
|
|
137
|
+
# 获取所有文档
|
|
138
|
+
find .aigne/doc-smith/docs/ -name "*.md"
|
|
139
|
+
```
|
|
140
|
+
对每个文档:
|
|
141
|
+
- 读取内容
|
|
142
|
+
- 应用规则(替换、删除、添加)
|
|
143
|
+
- 保存修改
|
|
144
|
+
|
|
145
|
+
**结构重写:**
|
|
146
|
+
- 定位目标章节(使用标题或位置描述)
|
|
147
|
+
- 读取相关源文件(如果需要)
|
|
148
|
+
- 重新生成内容
|
|
149
|
+
- 替换章节
|
|
150
|
+
|
|
151
|
+
**PATCH:**
|
|
152
|
+
- 精确定位
|
|
153
|
+
- 直接替换
|
|
154
|
+
- 删除标记
|
|
155
|
+
|
|
156
|
+
### 步骤 5:展示变更摘要
|
|
157
|
+
|
|
158
|
+
格式:
|
|
159
|
+
```
|
|
160
|
+
已完成文档更新:
|
|
161
|
+
|
|
162
|
+
✓ 全局语义修改:N条规则应用到 M 个文档
|
|
163
|
+
- 规则描述(N处修改)
|
|
164
|
+
|
|
165
|
+
✓ 结构重写:N个章节
|
|
166
|
+
- 文档名: 章节名
|
|
167
|
+
|
|
168
|
+
✓ PATCH 应用:N处精确修改
|
|
169
|
+
- 文档名: 修改描述
|
|
170
|
+
|
|
171
|
+
修改的文件:
|
|
172
|
+
- 文件路径
|
|
173
|
+
- ...
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
## 执行要点
|
|
177
|
+
|
|
178
|
+
1. **理解意图:** 仔细分析修改请求,确定类型和范围
|
|
179
|
+
2. **正确分类:** 准确识别是全局、重写还是 PATCH
|
|
180
|
+
3. **优先级:** 严格按"全局 → 重写 → PATCH"顺序,避免冲突
|
|
181
|
+
4. **一致性:** 全局修改必须应用到所有匹配位置
|
|
182
|
+
5. **批量执行:** 一次性处理,减少读写次数
|
|
183
|
+
6. **验证:** 修改后检查语法和链接
|
|
184
|
+
7. **清晰反馈:** 详细列出所有修改
|
|
185
|
+
8. **删除标记:** PATCH 应用后必须删除标记
|
|
186
|
+
|
|
187
|
+
## 错误处理
|
|
188
|
+
|
|
189
|
+
**位置不存在:** 展示最接近匹配,询问确认。
|
|
190
|
+
|
|
191
|
+
**修改冲突:** 说明冲突原因,询问优先级。
|
|
192
|
+
|
|
193
|
+
**结构不匹配:** 展示当前结构,询问如何处理。
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
# 文档结构确认指南
|
|
2
|
+
|
|
3
|
+
本文档提供如何向用户展示文档结构并处理反馈的详细指南。
|
|
4
|
+
|
|
5
|
+
## 目的
|
|
6
|
+
|
|
7
|
+
这是避免浪费资源的关键检查点。在生成文档内容前,必须确保规划的结构符合用户需求。
|
|
8
|
+
|
|
9
|
+
## 展示方式
|
|
10
|
+
|
|
11
|
+
以清晰、易读的方式向用户展示规划的文档结构。
|
|
12
|
+
|
|
13
|
+
### 必须包含的信息
|
|
14
|
+
|
|
15
|
+
1. **文档总数**:让用户快速了解规模
|
|
16
|
+
2. **文档层次结构**:顶层文档及其子文档
|
|
17
|
+
3. **每个文档的标题、描述**:让用户理解每个文档的内容
|
|
18
|
+
|
|
19
|
+
### 标准展示格式
|
|
20
|
+
|
|
21
|
+
使用 emoji、编号和缩进来增强可读性:
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
📋 文档结构规划完成
|
|
25
|
+
|
|
26
|
+
根据用户意图,我规划了以下 5 个文档:
|
|
27
|
+
|
|
28
|
+
1. 📘 概述 (/overview.md)
|
|
29
|
+
- 项目介绍和核心概念
|
|
30
|
+
|
|
31
|
+
2. 🚀 快速开始 (/getting-started.md)
|
|
32
|
+
- 安装、配置和第一个示例
|
|
33
|
+
|
|
34
|
+
3. 💻 API 参考 (/api.md)
|
|
35
|
+
- API 使用说明
|
|
36
|
+
- 源文件:src/api/
|
|
37
|
+
└── 3.1 认证 (/api/authentication.md)
|
|
38
|
+
- 认证方式和示例
|
|
39
|
+
└── 3.2 端点 (/api/endpoints.md)
|
|
40
|
+
- 所有 API 端点详情
|
|
41
|
+
|
|
42
|
+
4. ❓ FAQ (/faq.md)
|
|
43
|
+
- 常见问题解答
|
|
44
|
+
|
|
45
|
+
5. 🔧 故障排查 (/troubleshooting.md)
|
|
46
|
+
- 常见问题和解决方案
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
[使用 AskUserQuestion 工具]
|
|
51
|
+
问题:文档结构是否符合您的需求?
|
|
52
|
+
选项:✅ 确认,开始生成文档
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### 推荐的 Emoji 使用
|
|
56
|
+
|
|
57
|
+
- 📘 概述/介绍
|
|
58
|
+
- 🚀 快速开始
|
|
59
|
+
- 💻 API/代码
|
|
60
|
+
- 🔧 配置/工具
|
|
61
|
+
- 📖 指南/教程
|
|
62
|
+
- ❓ FAQ/帮助
|
|
63
|
+
- 🏗️ 架构/设计
|
|
64
|
+
- 🔍 故障排查
|
|
65
|
+
- 📊 示例/演示
|
|
66
|
+
- ⚙️ 配置/设置
|
|
67
|
+
|
|
68
|
+
## 处理用户反馈
|
|
69
|
+
|
|
70
|
+
识别用户意图并执行相应操作:
|
|
71
|
+
|
|
72
|
+
### 反馈类型
|
|
73
|
+
|
|
74
|
+
1. **删除文档**:从 document_structure.yaml 删除条目,如果是父文档则连同子文档一起删除
|
|
75
|
+
2. **添加文档**:确定位置、title、description、path、sourcePaths 和 icon(如果是顶层文档)
|
|
76
|
+
3. **调整层次**:合并/拆分子文档,或调整父子关系
|
|
77
|
+
4. **修改内容范围**:更新 description 和 sourcePaths
|
|
78
|
+
5. **确认无误**:进入步骤 6 生成文档内容
|
|
79
|
+
|
|
80
|
+
### 操作要点
|
|
81
|
+
|
|
82
|
+
- 每次修改后更新文档总数
|
|
83
|
+
- 重新展示完整结构
|
|
84
|
+
- 简要说明做了什么改动
|
|
85
|
+
- 询问用户是否确认
|
|
86
|
+
|
|
87
|
+
## 交互示例
|
|
88
|
+
|
|
89
|
+
```
|
|
90
|
+
Agent: 📋 文档结构规划完成
|
|
91
|
+
[展示 5 个文档的结构]
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
[Agent 使用 AskUserQuestion 工具]
|
|
96
|
+
问题:文档结构是否符合您的需求?
|
|
97
|
+
选项:✅ 确认,开始生成文档
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
User: [选择 ✏️ Other] FAQ 和故障排查合并,API 参考不要拆分
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
Agent: 好的,我将进行以下调整:
|
|
106
|
+
1. 合并 FAQ 和故障排查
|
|
107
|
+
2. 合并 API 参考的子文档
|
|
108
|
+
|
|
109
|
+
📋 更新后的文档结构
|
|
110
|
+
[展示 3 个文档的结构]
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
[Agent 使用 AskUserQuestion 工具]
|
|
115
|
+
问题:文档结构是否符合您的需求?
|
|
116
|
+
选项:✅ 确认,开始生成文档
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
User: ✅ 确认,开始生成文档
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
Agent: 收到确认,开始生成文档内容...
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
## 关键原则
|
|
128
|
+
|
|
129
|
+
1. **每次修改后都要重新展示完整结构** - 不要只说"已修改"
|
|
130
|
+
2. **支持多轮调整** - 耐心处理用户的每一次反馈
|
|
131
|
+
3. **用户确认后才进入步骤 6** - 绝对不要在确认前开始生成内容
|
|
132
|
+
4. **清晰传达变化** - 简要说明改动内容
|
|
133
|
+
5. **理解用户意图** - 反馈可能不够精确,需要确认理解是否正确
|