---
name: jarvis_help
description: 当需要查询Jarvis系统帮助、使用指南或了解系统功能时使用此规则——Jarvis帮助规则，Jarvis系统帮助信息和使用指南。包括：提供Jarvis系统功能介绍和使用方法；解答关于Jarvis的技术问题；指导用户使用Jarvis的各种功能；解释Jarvis的架构和核心概念；提供配置和部署指导；回答最佳实践相关问题；参考官方文档给出权威答案；解释工具使用方法和参数配置；解决用户在使用Jarvis时的疑问。每当用户提及"Jarvis帮助"、"使用指南"、"功能介绍"、"如何使用"、"Jarvis教程"、"系统文档"、"帮助文档"或需要Jarvis帮助、使用指导、功能了解时触发，无论问题的具体类型是什么。如果需要查询Jarvis系统帮助或获取使用指南，请使用此规则。
---

# Jarvis 帮助规则

## 规则简介

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

**重要原则**：当文档与代码实现不一致时，以代码实现为准。文档可能滞后于代码更新，源码才是系统的真实行为。

## 你必须遵守的原则

### 1. 代码优先原则（必须遵守）

**核心原则：**

- **必须**：当用户询问关于 Jarvis 的问题时，以源码实现为准
- **必须**：文档可能滞后于代码更新，源码才是系统的真实行为
- **必须**：当文档与代码不一致时，以代码实现为准
- **禁止**：仅凭文档回答而不验证代码实现
- **禁止**：提供与代码实现不一致的信息

**查阅要求：**

- **必须**：优先查阅 `{{jarvis_src_dir}}/src/jarvis` 目录下的源码
- **必须**：参考 `{{jarvis_src_dir}}/docs/jarvis_book` 目录下的文档作为辅助
- **必须**：基于代码实现提供准确、权威的答案
- **必须**：引用代码中的具体实现和文档中的相关章节

**文档和源码位置：**

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

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

**查阅要求：**

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

**查阅策略：**

- **快速开始类问题**：优先查阅 `2.快速开始.md`，同时查阅 `src/jarvis/jarvis_platform/` 等相关源码
- **功能使用类问题**：优先查阅 `4.使用指南.md`，同时查阅对应功能的源码实现
- **架构概念类问题**：优先查阅 `3.核心概念与架构.md`，同时查阅核心模块源码
- **扩展开发类问题**：优先查阅 `5.功能扩展.md`，同时查阅扩展接口源码
- **高级功能类问题**：优先查阅 `6.高级主题.md`，同时查阅高级功能源码
- **常见问题类问题**：优先查阅 `8.常见问题.md`，同时查阅相关源码验证
- **贡献参与类问题**：优先查阅 `7.参与贡献.md`

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

**引用要求：**

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

**引用格式：**

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

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

**回答要求：**

- **必须**：提供完整、全面的答案，不遗漏关键信息
- **必须**：如果源码和文档中有多个相关部分，整合所有相关信息
- **必须**：如果文档中没有直接答案，基于源码实现进行合理推理
- **必须**：提供相关的上下文和背景信息
- **必须**：当文档与代码不一致时，明确说明以代码为准
- **建议**：提供相关的源码路径和文档链接，方便用户进一步查阅

## 你必须执行的操作

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

**执行步骤：**

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

**问题分类：**

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

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

**执行步骤：**

1. **必须**：根据问题类型，确定需要查阅的源码文件和文档
2. **必须**：优先查阅相关源码文件，确认实际实现
3. **必须**：读取相关文档文件的内容作为辅助参考
4. **必须**：查找与问题相关的源码实现和文档章节
5. **必须**：如果问题涉及多个方面，查阅所有相关源码和文档
6. **必须**：对比文档与代码实现，确认一致性
7. **建议**：记录查阅的源码路径、文档路径和关键内容

**源码和文档查阅工具：**

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

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

**执行步骤：**

1. **必须**：整合从源码和文档中获取的信息
2. **必须**：基于代码实现组织答案结构
3. **必须**：引用源码中的关键实现和文档中的关键内容
4. **必须**：提供清晰的解释和说明
5. **必须**：标注信息来源（源码路径和文档章节）
6. **必须**：如果文档与代码不一致，明确说明以代码为准

**答案结构：**

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

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

**执行步骤：**

1. **必须**：确认答案与代码实现一致
2. **必须**：确认答案与文档内容一致（如有文档）
3. **必须**：确认没有遗漏关键信息
4. **必须**：确认引用内容准确无误
5. **必须**：确认答案完整回答了用户问题
6. **必须**：如果文档与代码不一致，已明确说明以代码为准

## 具体要求和规范

### 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. **第四优先级**：常见问题文档和相关源码（如问题可能在常见问题中有答案）
5. **第五优先级**：其他相关源码和文档（如需要更多上下文时）

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

**组织要求：**

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

**答案格式：**

```markdown
## 基于源码实现和官方文档的回答

根据 `{{jarvis_src_dir}}/src/jarvis/[相关源码].py` 和 `{{jarvis_src_dir}}/docs/jarvis_book/[相关文档].md` 中的内容：

### [主要答案]

[详细内容，引用源码实现和文档]

### 参考信息

- 源码来源：`{{jarvis_src_dir}}/src/jarvis/[模块路径]/[文件名]`
- 文档来源：`{{jarvis_src_dir}}/docs/jarvis_book/[文档名称].md`
- 相关章节：[章节名称]
```

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

**标注要求：**

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

**标注格式：**

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

## 实践指导

### 常见问题处理

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

**处理步骤：**

1. **必须**：查阅 `{{jarvis_src_dir}}/src/jarvis/jarvis_platform/` 等相关源码，确认安装流程
2. **必须**：查阅 `{{jarvis_src_dir}}/docs/jarvis_book/2.快速开始.md`
3. **必须**：查找安装相关的章节
4. **必须**：对比文档与代码实现，确认一致性
5. **必须**：引用源码中的安装逻辑和文档中的安装步骤
6. **必须**：提供完整的安装说明

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

**处理步骤：**

1. **必须**：查阅 `{{jarvis_src_dir}}/src/jarvis/` 中对应功能的源码实现
2. **必须**：查阅 `{{jarvis_src_dir}}/docs/jarvis_book/4.使用指南.md`
3. **必须**：查找功能相关的章节
4. **必须**：对比文档与代码实现，确认一致性
5. **必须**：引用源码中的功能实现和文档中的使用说明
6. **必须**：提供具体的使用步骤和示例

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

**处理步骤：**

1. **必须**：查阅 `{{jarvis_src_dir}}/src/jarvis/` 中核心模块的源码实现
2. **必须**：查阅 `{{jarvis_src_dir}}/docs/jarvis_book/3.核心概念与架构.md`
3. **必须**：查找相关概念和架构说明
4. **必须**：对比文档与代码实现，确认一致性
5. **必须**：引用源码中的架构实现和文档中的概念定义
6. **必须**：提供清晰的解释和说明

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

**处理步骤：**

1. **必须**：查阅 `{{jarvis_src_dir}}/src/jarvis/` 中扩展接口的源码实现
2. **必须**：查阅 `{{jarvis_src_dir}}/docs/jarvis_book/5.功能扩展.md`
3. **必须**：查找扩展相关的章节
4. **必须**：对比文档与代码实现，确认一致性
5. **必须**：引用源码中的扩展接口和文档中的扩展方法
6. **必须**：提供具体的扩展步骤和示例

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

**处理步骤：**

1. **必须**：查阅 `{{jarvis_src_dir}}/src/jarvis/` 中相关模块的源码实现
2. **必须**：查阅 `{{jarvis_src_dir}}/docs/jarvis_book/8.常见问题.md`
3. **必须**：查找相关的错误或问题
4. **必须**：如果常见问题中有答案，对比文档与代码实现，引用解决方案
5. **必须**：如果常见问题中没有，查阅源码实现和其他相关文档

### 源码和文档查阅技巧

**高效查阅：**

- **使用 rg 或 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`
