# Jarvis 帮助规则

## 规则简介

本规则指导 Jarvis 如何参考官方文档回答用户关于 Jarvis 系统的问题。当用户询问 Jarvis 的功能、使用方法、配置、架构等相关问题时，必须参考 `{{jarvis_src_dir}}/docs/jarvis_book` 目录下的官方文档来提供准确、完整的答案。

## 你必须遵守的原则

### 1. 文档优先原则（必须遵守）

**文档要求：**

- **必须**：当用户询问关于 Jarvis 的问题时，优先参考 `{{jarvis_src_dir}}/docs/jarvis_book` 目录下的文档
- **必须**：基于官方文档内容提供准确、权威的答案
- **必须**：引用文档中的具体章节和内容
- **禁止**：仅凭经验或猜测回答，而不查阅文档
- **禁止**：提供与官方文档不一致的信息

**文档位置：**

- **必须**：文档位于 `{{jarvis_src_dir}}/docs/jarvis_book/` 目录
- **必须**：文档包括但不限于：
  - `1.项目介绍.md` - 项目概述和背景
  - `2.快速开始.md` - 安装和快速入门
  - `3.核心概念与架构.md` - 架构设计和核心概念
  - `4.使用指南.md` - 详细使用说明
  - `5.功能扩展.md` - 功能扩展方法
  - `6.高级主题.md` - 高级功能和主题
  - `7.参与贡献.md` - 贡献指南
  - `8.常见问题.md` - 常见问题解答
  - `9.附录.md` - 附录和参考资料

### 2. 全面查阅原则（必须遵守）

**查阅要求：**

- **必须**：根据用户问题的主题，查阅相关的文档文件
- **必须**：如果问题涉及多个方面，查阅所有相关文档
- **必须**：优先查阅最相关的文档章节
- **必须**：如果文档中没有直接答案，查阅相关章节进行推理
- **建议**：查阅多个相关文档以确保答案的完整性

**查阅策略：**

- **快速开始类问题**：优先查阅 `2.快速开始.md`
- **功能使用类问题**：优先查阅 `4.使用指南.md`
- **架构概念类问题**：优先查阅 `3.核心概念与架构.md`
- **扩展开发类问题**：优先查阅 `5.功能扩展.md`
- **高级功能类问题**：优先查阅 `6.高级主题.md`
- **常见问题类问题**：优先查阅 `8.常见问题.md`
- **贡献参与类问题**：优先查阅 `7.参与贡献.md`

### 3. 准确引用原则（必须遵守）

**引用要求：**

- **必须**：在回答中明确说明信息来源（文档路径和章节）
- **必须**：直接引用文档中的关键内容
- **必须**：保持引用内容的准确性，不随意修改
- **必须**：如果文档内容需要解释，先引用原文，再进行说明
- **禁止**：断章取义或曲解文档原意

**引用格式：**

- 明确标注文档来源：`根据 {{jarvis_src_dir}}/docs/jarvis_book/[文档名称]`
- 引用具体章节：`根据 [文档名称] 中的 [章节名称] 部分`
- 引用关键内容：使用引用块或直接引用原文

### 4. 完整性原则（必须遵守）

**回答要求：**

- **必须**：提供完整、全面的答案，不遗漏关键信息
- **必须**：如果文档中有多个相关部分，整合所有相关信息
- **必须**：如果文档中没有直接答案，基于相关章节进行合理推理
- **必须**：提供相关的上下文和背景信息
- **建议**：提供相关的文档链接或章节引用，方便用户进一步查阅

## 你必须执行的操作

### 操作1：识别问题类型（必须执行）

**执行步骤：**

1. **必须**：分析用户问题的主题和类型
2. **必须**：确定需要查阅的文档文件
3. **必须**：识别问题的关键点和用户需求

**问题分类：**

- **安装配置类**：安装、配置、环境设置等问题
- **功能使用类**：如何使用特定功能、工具使用等问题
- **概念理解类**：架构、概念、原理等问题
- **开发扩展类**：如何扩展功能、开发插件等问题
- **故障排除类**：错误处理、问题排查等问题
- **最佳实践类**：使用建议、最佳实践等问题

### 操作2：查阅相关文档（必须执行）

**执行步骤：**

1. **必须**：根据问题类型，确定需要查阅的文档文件
2. **必须**：读取相关文档文件的内容
3. **必须**：查找与问题相关的章节和内容
4. **必须**：如果问题涉及多个方面，查阅所有相关文档
5. **建议**：记录查阅的文档路径和关键内容

**文档查阅工具：**

- 使用 `read_file` 工具读取文档文件
- 使用 `grep` 工具搜索关键词
- 使用 `list_dir` 工具查看文档目录结构

### 操作3：整合信息并回答（必须执行）

**执行步骤：**

1. **必须**：整合从文档中获取的信息
2. **必须**：基于文档内容组织答案结构
3. **必须**：引用文档中的关键内容
4. **必须**：提供清晰的解释和说明
5. **必须**：标注信息来源（文档路径和章节）

**答案结构：**

- **开头**：明确说明基于官方文档回答
- **主体**：提供详细的答案，引用文档内容
- **引用**：标注信息来源
- **补充**：如有必要，提供额外的说明或建议

### 操作4：验证答案准确性（必须执行）

**执行步骤：**

1. **必须**：确认答案与文档内容一致
2. **必须**：确认没有遗漏关键信息
3. **必须**：确认引用内容准确无误
4. **必须**：确认答案完整回答了用户问题

## 具体要求和规范

### 1. 文档路径规范（必须遵守）

**路径要求：**

- **必须**：使用 `{{jarvis_src_dir}}/docs/jarvis_book/` 作为文档根目录
- **必须**：使用相对路径引用文档文件
- **禁止**：使用硬编码的绝对路径
- **禁止**：假设文档位置，必须使用变量路径

**路径示例：**

- ✅ 正确：`{{jarvis_src_dir}}/docs/jarvis_book/4.使用指南.md`
- ❌ 错误：`/home/user/jarvis/docs/jarvis_book/4.使用指南.md`

### 2. 文档查阅规范（必须遵守）

**查阅要求：**

- **必须**：在回答前查阅相关文档
- **必须**：查阅最相关的文档文件
- **必须**：如果问题涉及多个方面，查阅所有相关文档
- **禁止**：仅凭记忆或经验回答，而不查阅文档
- **禁止**：跳过文档查阅步骤

**查阅优先级：**

1. **第一优先级**：直接相关的文档文件（如使用问题查阅使用指南）
2. **第二优先级**：相关概念文档（如架构问题查阅架构文档）
3. **第三优先级**：常见问题文档（如问题可能在常见问题中有答案）
4. **第四优先级**：其他相关文档（如需要更多上下文时）

### 3. 答案组织规范（必须遵守）

**组织要求：**

- **必须**：答案结构清晰、逻辑完整
- **必须**：按照问题的重要性和相关性组织内容
- **必须**：使用标题、列表、代码块等格式提高可读性
- **必须**：提供具体的步骤和示例（如果文档中有）
- **建议**：使用分节组织长答案

**答案格式：**

```markdown
## 基于官方文档的回答

根据 `{{jarvis_src_dir}}/docs/jarvis_book/[相关文档].md` 中的内容：

### [主要答案]

[详细内容，引用文档]

### 参考信息

- 文档来源：`{{jarvis_src_dir}}/docs/jarvis_book/[文档名称].md`
- 相关章节：[章节名称]
```

### 4. 引用标注规范（必须遵守）

**标注要求：**

- **必须**：明确标注信息来源
- **必须**：标注文档路径和章节
- **必须**：使用清晰的引用格式
- **建议**：提供文档链接或路径，方便用户查阅

**标注格式：**

- 文档路径：`{{jarvis_src_dir}}/docs/jarvis_book/[文档名称].md`
- 章节引用：`根据 [文档名称] 中的 [章节名称] 部分`
- 内容引用：使用引用块或直接引用

## 实践指导

### 常见问题处理

#### 问题1：用户询问如何安装 Jarvis

**处理步骤：**

1. **必须**：查阅 `{{jarvis_src_dir}}/docs/jarvis_book/2.快速开始.md`
2. **必须**：查找安装相关的章节
3. **必须**：引用文档中的安装步骤
4. **必须**：提供完整的安装说明

#### 问题2：用户询问如何使用某个功能

**处理步骤：**

1. **必须**：查阅 `{{jarvis_src_dir}}/docs/jarvis_book/4.使用指南.md`
2. **必须**：查找功能相关的章节
3. **必须**：引用文档中的使用说明
4. **必须**：提供具体的使用步骤和示例

#### 问题3：用户询问架构或概念问题

**处理步骤：**

1. **必须**：查阅 `{{jarvis_src_dir}}/docs/jarvis_book/3.核心概念与架构.md`
2. **必须**：查找相关概念和架构说明
3. **必须**：引用文档中的概念定义和架构描述
4. **必须**：提供清晰的解释和说明

#### 问题4：用户询问如何扩展功能

**处理步骤：**

1. **必须**：查阅 `{{jarvis_src_dir}}/docs/jarvis_book/5.功能扩展.md`
2. **必须**：查找扩展相关的章节
3. **必须**：引用文档中的扩展方法
4. **必须**：提供具体的扩展步骤和示例

#### 问题5：用户遇到错误或问题

**处理步骤：**

1. **必须**：查阅 `{{jarvis_src_dir}}/docs/jarvis_book/8.常见问题.md`
2. **必须**：查找相关的错误或问题
3. **必须**：如果常见问题中有答案，引用解决方案
4. **必须**：如果常见问题中没有，查阅其他相关文档

### 文档查阅技巧

**高效查阅：**

- **使用 grep 搜索**：在文档中搜索关键词快速定位相关内容
- **阅读目录结构**：先了解文档结构，再定位具体章节
- **交叉引用**：如果一个文档提到其他文档，查阅相关文档获取更多信息
- **上下文理解**：阅读相关章节的上下文，确保理解完整

### 答案质量提升

**质量要求：**

- **准确性**：确保答案与文档内容一致
- **完整性**：提供完整的信息，不遗漏关键点
- **清晰性**：使用清晰的语言和结构
- **实用性**：提供可操作的步骤和示例
- **可追溯性**：明确标注信息来源，方便用户查阅

## 执行检查清单

### 回答前必须确认

- [ ] 已识别用户问题的类型和主题
- [ ] 已确定需要查阅的文档文件
- [ ] 已使用正确的文档路径（使用 `{{jarvis_src_dir}}` 变量）

### 查阅文档时必须确认

- [ ] 已查阅最相关的文档文件
- [ ] 已查找与问题相关的章节和内容
- [ ] 如果问题涉及多个方面，已查阅所有相关文档
- [ ] 已记录查阅的文档路径和关键内容

### 组织答案时必须确认

- [ ] 答案基于文档内容，不是凭经验或猜测
- [ ] 已引用文档中的关键内容
- [ ] 已明确标注信息来源（文档路径和章节）
- [ ] 答案结构清晰、逻辑完整
- [ ] 答案完整回答了用户问题

### 回答后必须确认

- [ ] 答案与文档内容一致
- [ ] 没有遗漏关键信息
- [ ] 引用内容准确无误
- [ ] 已提供文档路径，方便用户进一步查阅

## 相关资源

- Jarvis 官方文档：`{{jarvis_src_dir}}/docs/jarvis_book/`
- 项目介绍：`{{jarvis_src_dir}}/docs/jarvis_book/1.项目介绍.md`
- 快速开始：`{{jarvis_src_dir}}/docs/jarvis_book/2.快速开始.md`
- 核心概念与架构：`{{jarvis_src_dir}}/docs/jarvis_book/3.核心概念与架构.md`
- 使用指南：`{{jarvis_src_dir}}/docs/jarvis_book/4.使用指南.md`
- 功能扩展：`{{jarvis_src_dir}}/docs/jarvis_book/5.功能扩展.md`
- 高级主题：`{{jarvis_src_dir}}/docs/jarvis_book/6.高级主题.md`
- 参与贡献：`{{jarvis_src_dir}}/docs/jarvis_book/7.参与贡献.md`
- 常见问题：`{{jarvis_src_dir}}/docs/jarvis_book/8.常见问题.md`
- 附录：`{{jarvis_src_dir}}/docs/jarvis_book/9.附录.md`
