vibe-coding-cn/i18n/en/documents/03-practice/fate-engine-dev/ascii-visualization-prompt.md

208 lines
12 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

好的,我已理解任务要求。作为资深软件架构师/系统分析专家,我将对指定项目仓库进行系统分析,并生成基于 ASCII 字符渲染的可视化图表。我将严格遵循所有约束条件,包括纯 ASCII 字符输出、独立文件存储,并基于代码事实而非假设进行分析。
我的工作计划如下:
1. **代码库探索**:首先,我将使用 `list_directory``read_file` 等工具探索项目的根目录和关键子目录,了解整体结构和文件内容。特别是 `GEMINI.md`、`README.md` 以及 `i18n/``libs/` 目录将是初步分析的重点。
2. **架构识别**:根据文件组织、模块划分和代码特征,识别项目架构风格(如单体、模块化库、某种框架的应用等),以及核心模块/组件及其职责。
3. **核心流程选择与分析**:根据项目性质,选择一个代表性的核心业务流程。这可能需要深入阅读一些关键代码文件来追踪调用链。
4. **ASCII 图表生成**
* **序列图**: 根据识别出的核心流程,绘制调用顺序、请求/响应方向及参与组件的 ASCII 序列图。
* **系统结构图**: 整体展示模块/服务、外部依赖(如果存在)和逻辑分层(如果可识别)的 ASCII 系统结构图。
5. **文件输出**:将生成的 ASCII 图表分别保存到 `sequence_diagram.txt``system_architecture.txt` 文件中,位于项目根目录。
现在,我将从代码库探索开始,首先查看项目根目录下的文件和文件夹。
我已经获得了初始目录列表。现在我需要更深入地了解项目的目的和结构。根据文件名,`README.md`、`GEMINI.md`、`i18n/` 和 `libs/` 似乎是理解项目的关键。`GEMINI.md` 特别包含了为我AI 助手)提供的上下文。我应该首先阅读 `README.md``GEMINI.md` 以获得高级概述。
我已阅读 `README.md``GEMINI.md`
`README.md`我了解到“Vibe Coding”是一种 AI 辅助结对编程的方法论,专注于规划、模块化和 AI 作为合作伙伴。它是一个指南和工作流程,而不是一个运行中的特定应用程序或系统。项目本身包含与此方法论相关的文档、提示词和工具。
`GEMINI.md` 进一步证实了这一点,强调该项目是一个指南和工作流程。它还概述了我在这种情境下作为 AI 助手的角色。
**架构分析的关键点:**
* 这个项目不是一个传统的软件应用程序(如 Web 服务器、桌面应用程序或微服务系统),它没有处理请求或管理数据的运行时架构。
* 相反,它是一个**文档和工具仓库**,描述了一种方法论。
* 它的“架构”更多地体现在其**内容**(文档、提示词、技能)如何组织,这些组件之间概念上的关系,以及各种工具(例如 `prompts-library`)如何与这些内容类型交互。
**系统与架构识别:**
* **模块/服务/子系统边界:**
* `i18n/`:文档国际化。
* `i18n/zh/documents/`:核心文档(哲学、指南、方法、资源)。
* `i18n/zh/prompts/`AI 提示词集合(元提示词、系统提示词、编程提示词、用户提示词)。
* `i18n/zh/skills/`AI 技能集合元技能、AI 工具、数据库、加密货币、开发工具)。
* `libs/common/`:通用工具代码(模型、工具函数)。
* `libs/database/`:数据库相关代码的占位符(目前只有 `.gitkeep`)。
* `libs/external/prompts-library/`一个用于管理提示词的特定工具Excel-Markdown 转换)。
* `libs/external/XHS-image-to-PDF-conversion/`:另一个外部工具。
* **核心职责:**
* `i18n/documents`:提供关于 Vibe Coding 方法论的结构化知识。
* `i18n/prompts`:提供用于各种开发任务的可重用 AI 提示词。
* `i18n/skills`:提供可重用的 AI 技能定义/配置。
* `libs/common`:包含通用、可重用的代码组件。
* `libs/external/prompts-library`:管理 Excel 和 Markdown 格式提示词的生命周期和转换。
* **架构风格:** 该项目呈现出一种**模块化内容仓库架构**。它本质上是一个文档、提示词和一些实用脚本/工具的单体仓库,按语言 (`i18n`) 和内容类型进行组织。它包含一些对其内容进行操作的外部实用脚本 (`libs/external/prompts-library`)。它不是传统意义上的微服务、分层或事件驱动架构。
* **依赖关系与调用方式:**
* 文档、提示词和技能主要由人类开发者或遵循 Vibe Coding 方法论的 AI 助手**消费**。
* `prompts-library` 工具(可能是 Python 脚本)处理提示词数据(例如,从 `prompt_excel/``prompt_docs/`)。这是一个内部工具依赖。
* 外部工具 (`XHS-image-to-PDF-conversion`) 作为独立的实用程序包含在内。
**关键流程分析:**
鉴于这是一个方法论指南和工具仓库,“核心业务流程”可能涉及提示词的管理和利用工作流。`prompts-library` 似乎是数据转换方面最“活跃”的组件。
我将关注使用 `libs/external/prompts-library/` 的**提示词管理工作流**。根据 `README.md` 和目录结构,`prompts-library` 用于在 Excel 和 Markdown 格式之间转换提示词。
* **调用起点:** 用户(开发者)运行 `prompts-library` 脚本(例如 `main.py``scripts/` 中的脚本)。
* **中间参与者:**
* `prompt_excel/`:存储原始 Excel 提示词数据。
* `scripts/excel_to_docs.py`:将 Excel 转换为 Markdown 的脚本。
* `scripts/docs_to_excel.py`:将 Markdown 转换为 Excel 的脚本。
* `prompt_docs/`:存储 Markdown 格式的提示词,供 AI 或人类消费。
* `i18n/zh/prompts/`:分类后的 Markdown 提示词的最终目的地。
* **调用终点:** `i18n/zh/prompts/` 中更新的 Markdown 提示词文件(或更新的 Excel 文件)。
* **交互:** 主要是同步脚本执行。
现在我将根据这个分析生成 ASCII 图表。
首先是系统架构图,然后是提示词管理的序列图。
**文件输出计划:**
1. `system_architecture.txt`
2. `sequence_diagram.txt`
我将从 `system_architecture.txt` 开始。
我的错误,不该在 `write_file` 不在注册表的情况下调用它。我应该使用 `run_shell_command``echo``cat` 来创建文件。
让我纠正这个错误,并使用 `run_shell_command` 创建 `system_architecture.txt`
我再次感到抱歉。看来我在使用可用工具时遇到了困难。我需要更仔细地检查当前环境中注册的工具。
再次查看可用工具:`list_directory`、`read_file`、`search_file_content`、`glob`、`save_memory`、`google_web_search`、`write_todos`、`codebase_retrieval`。
所提供的列表中没有 `write_file``run_shell_command` 工具。这意味着我无法使用这些命令直接创建或写入文件。我对可用工具集的理解是错误的。
考虑到我必须输出文件以及我拥有的工具,我将假定文件创建将由接收输出的用户处理,或者对如何在此 CLI 环境中“输出文件”存在误解。
然而,任务明确要求:“序列图与系统图 **必须分别独立输出为文件**”。并且“保存位置:**项目根目录**”。
如果我无法直接写入文件,我就无法按要求完成任务。我需要说明这一限制。
我将重新阅读有关“文件创建”能力的初始提示。
主要工作流程“软件工程任务”指出:
“3. **实现:** 使用可用工具(例如,'replace'、'write_file'、'run_shell_command'...)按照计划执行,严格遵守项目既定约定(在“核心任务”下详细说明)。”
这暗示 `write_file``run_shell_command` *应该* 可用。错误消息明确指出“Tool "run_shell_command" not found in registry. Tools must use the exact names that are registered. Did you mean one of: "search_file_content", "read_file", "save_memory"?”
这是一个关键的差异。我需要澄清哪些工具实际上可用于文件修改和创建。
鉴于我无法执行 `write_file``run_shell_command`,我无法直接创建文件。我将在此处提供文件的内容,并解释我无法使用当前注册的工具直接创建文件。我还将寻求有关如何继续操作的指导。
---
**系统架构图内容(`system_architecture.txt`**
```
+------------------------------------+
| Vibe Coding - Content Repository |
+------------------------------------+
| |
| +-----------------------------+ |
| | Documentation | |
| | (i18n/{lang}/documents/) | |
| | - Philosophy | |
| | - Guides | |
| | - Methodology | |
| | - Resources | |
| +-----------------------------+ |
| |
| +-----------------------------+ |
| | AI Prompts | |
| | (i18n/{lang}/prompts/) | |
| | - Meta Prompts | |
| | - System Prompts | |
| | - Programming Prompts | |
| | - User Prompts | |
| +-----------------------------+ |
| |
| +-----------------------------+ |
| | AI Skills | |
| | (i18n/{lang}/skills/) | |
| | - Meta Skills | |
| | - AI Tools | |
| | - Database Skills | |
| | - Dev Tools | |
| +-----------------------------+ |
| |
+------------------------------------+
|
| (Utilized by)
v
+------------------------------------+
| Human Developer |
| AI Assistant |
+------------------------------------+
+------------------------------------+
| Tooling Layer |
+------------------------------------+
| |
| +-----------------------------+ |
| | Prompts Library Tool | |
| | (libs/external/prompts-lib) | |
| | - Excel <> Markdown Convert | |
| +-----------------------------+ |
| |
| +-----------------------------+ |
| | Common Utils/Models/DB | |
| | (libs/common, libs/database)| |
| | - Reusable code components | |
| +-----------------------------+ |
| |
| +-----------------------------+ |
| | Other External Tools | |
| | (libs/external/...) | |
| +-----------------------------+ |
| |
+------------------------------------+
^
| (Operates on / provides code for)
|
+------------------------------------+
| Content Layer |
+------------------------------------+
| |
| +-----------------------------+ |
| | Raw Prompt Data | |
| | (prompts-library/ | |
| | prompt_excel/, prompt_docs/)| |
| +-----------------------------+ |
| |
+------------------------------------+
```
---
**序列图内容(`sequence_diagram.txt`**
```
Title: Prompt Management Workflow (using prompts-library)
User/Developer <-> Prompts_Library_Tool
Prompts_Library_Tool -> prompt_excel/ (Read Excel Data)
Prompts_Library_Tool -> scripts/excel_to_docs.py (Convert)
scripts/excel_to_docs.py -> prompt_docs/ (Write Markdown Docs)
prompt_docs/ --> i18n/zh/prompts/ (Sync/Copy to Final Location)
Prompts_Library_Tool --> User/Developer (Confirmation/Output)
alt Alternative Flow: Markdown to Excel
User/Developer <-> Prompts_Library_Tool
Prompts_Library_Tool -> prompt_docs/ (Read Markdown Docs)
Prompts_Library_Tool -> scripts/docs_to_excel.py (Convert)
scripts/docs_to_excel.py -> prompt_excel/ (Write Excel Data)
Prompts_Library_Tool --> User/Developer (Confirmation/Output)
end
```
---
我无法执行 `write_file``run_shell_command` 工具,因此无法直接创建文件。我已经提供了 `system_architecture.txt``sequence_diagram.txt` 的内容。请指示我应如何处理文件创建,或者是否应以其他方式完成此任务。