# 平台与配置 功能映射草案

## 说明

本文档用于沉淀 `功能清单_分类版.md` 中“平台与配置”分类的源码取证结果，作为后续拆分为单功能用户手册文档的基线。

- 文档范围：`/home/skyfire/code/Jarvis/功能清单_分类版.md` 第 84-127 行
- 当前确认功能数：44
- 文档目标：记录“功能点 → 源码依据 → 用户可见行为”，避免后续重复分析
- 注意：本文件是分析草案，不直接面向最终用户；正式用户手册需进一步改写为使用场景、操作步骤、效果与注意事项

## 代码来源

### 主要源码文件

- `src/jarvis/jarvis_utils/quick_config.py`
- `src/jarvis/jarvis_platform_manager/main.py`
- `src/jarvis/jarvis_config/cli.py`
- `src/jarvis/jarvis_utils/config.py`
- `src/jarvis/jarvis_platform/registry.py`
- `src/jarvis/jarvis_agent/rules_manager.py`
- `src/jarvis/jarvis_tools/registry.py`
- `src/jarvis/jarvis_utils/methodology.py`
- `src/jarvis/jarvis_agent/jarvis.py`
- `src/jarvis/jarvis_agent/__init__.py`
- `src/jarvis/jarvis_platform/base.py`
- `src/jarvis/jarvis_agent/agent_manager.py`

## 功能映射草案

### 1. 如何快速配置 OpenAI 或 Claude 平台

- 源码依据：`quick_config.py`
- 行为摘要：提供交互式快速配置流程，可输入平台类型、API 地址与密钥，并写入 Jarvis 配置文件。

### 2. 如何自动拉取可用模型列表并选择要配置的模型

- 源码依据：`quick_config.py`
- 行为摘要：配置过程中会尝试读取平台可用模型列表，并允许用户从列表中选择要启用的模型。

### 3. 如何在快速配置失败时手动录入模型名称

- 源码依据：`quick_config.py`
- 行为摘要：当模型列表获取失败或列表不满足需要时，支持手动输入模型名称继续配置。

### 4. 如何为模型组选择 normal、smart 和 cheap 模型

- 源码依据：`quick_config.py`、`config.py`
- 行为摘要：用户可分别为常规、智能和低成本场景指定模型，并保存为模型组。

### 5. 如何测试模型 API 连通性后再保存配置

- 源码依据：`quick_config.py`
- 行为摘要：保存前会先验证模型 API 可用性；测试失败时，用户仍可选择是否强制保存。

### 6. 如何在平台管理器中查看、新增、更新和删除 LLM 配置

- 源码依据：`jarvis_platform_manager/main.py`
- 行为摘要：平台管理器提供 LLM 配置的列出、查看、添加、修改和删除功能。

### 7. 如何在平台管理器中查看、新增、更新、删除和切换模型组

- 源码依据：`jarvis_platform_manager/main.py`
- 行为摘要：支持维护模型组，并可将某个模型组切换为当前默认组。

### 8. 如何查看当前平台与模型信息

- 源码依据：`jarvis_platform_manager/main.py`、`config.py`
- 行为摘要：可查看当前默认或指定模型组所对应的平台、模型和候选模型列表。

### 9. 如何直接与当前模型聊天

- 源码依据：`jarvis_platform_manager/main.py`
- 行为摘要：平台管理器支持直接进入聊天模式，快速验证当前平台和模型是否可正常工作。

### 10. 如何启动 OpenAI 兼容的 API 服务

- 源码依据：`jarvis_platform_manager/main.py`
- 行为摘要：可把当前平台能力以兼容 OpenAI 的服务形式启动，供外部程序访问。

### 11. 如何加载角色配置并按角色开始对话

- 源码依据：`jarvis_platform_manager/main.py`
- 行为摘要：可从角色配置文件中选择角色，并以对应系统设定启动对话。

### 12. 如何启动基于 JSON Schema 的 Web 配置界面

- 源码依据：`jarvis_config/cli.py`
- 行为摘要：可根据 JSON Schema 启动网页配置界面，在浏览器中编辑并保存配置。

### 13. 如何自定义 Git 提交信息生成模板

- 源码依据：`config.py`
- 行为摘要：支持通过配置指定提交信息生成模板，以影响自动生成的提交文案风格。

### 14. 如何配置自定义输入标签与文本替换规则

- 源码依据：`config.py`
- 行为摘要：支持配置输入替换映射，在输入处理阶段把常用标签或短语替换成预定义文本。

### 15. 如何配置多行输入的提交快捷键

- 源码依据：`config.py`
- 行为摘要：支持配置多行输入界面的提交快捷键，适配不同终端使用习惯。

### 16. 如何配置默认自动加载的规则

- 源码依据：`config.py`、`agent_manager.py`
- 行为摘要：可设置默认规则列表，在启动 Agent 时自动合并并加载这些规则。

### 17. 如何配置额外的规则加载目录

- 源码依据：`config.py`、`rules_manager.py`
- 行为摘要：支持增加额外规则目录，让系统在更多位置发现可用规则文件。

### 18. 如何配置中心规则仓库

- 源码依据：`config.py`、`rules_manager.py`
- 行为摘要：可指定中心规则仓库，本地不存在时会自动拉取，并纳入规则来源。

### 19. 如何配置额外的工具加载目录

- 源码依据：`config.py`、`jarvis_tools/registry.py`
- 行为摘要：支持增加工具加载目录，使系统可识别额外的自定义工具。

### 20. 如何通过工具白名单和黑名单限制可用工具

- 源码依据：`config.py`、`jarvis_tools/registry.py`
- 行为摘要：可以通过使用列表和禁用列表控制当前会话允许使用哪些工具。

### 21. 如何配置中心工具仓库

- 源码依据：`config.py`、`jarvis_tools/registry.py`
- 行为摘要：支持通过中心仓库集中管理工具来源，并将其接入当前工具系统。

### 22. 如何通过 MCP 配置接入外部工具

- 源码依据：`config.py`、`jarvis_tools/registry.py`
- 行为摘要：可通过 MCP 配置接入外部能力，并让这些能力以工具形式出现在系统中。

### 23. 如何配置额外的方法论加载目录

- 源码依据：`config.py`、`methodology.py`
- 行为摘要：支持为方法论知识库增加额外目录，从多个来源加载方法论条目。

### 24. 如何配置中心方法论仓库

- 源码依据：`config.py`、`methodology.py`
- 行为摘要：可指定中心方法论仓库，本地缺失时自动拉取，并作为方法论来源之一。

### 25. 如何配置额外的 Agent 定义目录

- 源码依据：`config.py`、`jarvis_agent/jarvis.py`
- 行为摘要：支持扩展 Agent 定义目录，使系统能够发现额外的 Agent 定义。

### 26. 如何配置额外的角色目录

- 源码依据：`config.py`、`jarvis_agent/jarvis.py`
- 行为摘要：支持扩展角色配置目录，便于引入更多角色设定文件。

### 27. 如何配置工具调用后的自定义回调目录

- 源码依据：`config.py`、`jarvis_agent/__init__.py`
- 行为摘要：支持指定工具调用后回调目录，用于接入自定义的后置处理逻辑。

### 28. 如何跳过启动时的预定义任务选择

- 源码依据：`config.py`、`agent_manager.py`
- 行为摘要：可关闭启动时的预定义任务选择步骤，直接进入手动输入流程。

### 29. 如何开启 CodeAgent 自动恢复历史会话

- 源码依据：`config.py`
- 行为摘要：支持启用 CodeAgent 自动恢复历史会话，减少重复上下文输入。

### 30. 如何启用或禁用代码修改后的构建验证

- 源码依据：`config.py`、`code_agent_build.py`
- 行为摘要：支持控制代码变更后是否自动执行构建验证。

### 31. 如何调整构建验证超时时间

- 源码依据：`config.py`、`code_agent_build.py`
- 行为摘要：可配置构建验证的超时时间，适配不同项目的构建耗时。

### 32. 如何启用或禁用代码变更影响分析

- 源码依据：`config.py`、`code_agent_impact.py`
- 行为摘要：支持控制代码变更后是否进行影响范围分析。

### 33. 如何调整代码 diff 的展示模式

- 源码依据：`config.py`、`code_agent_diff.py`
- 行为摘要：支持切换 diff 的可视化模式，以适配不同阅读偏好。

### 34. 如何控制 diff 是否显示行号

- 源码依据：`config.py`、`code_agent_diff.py`
- 行为摘要：支持控制 diff 预览中是否显示行号。

### 35. 如何调整大文件 diff 的展示阈值

- 源码依据：`config.py`、`code_agent_diff.py`
- 行为摘要：可设置大文件变更在何种规模下改用摘要展示而非完整预览。

### 36. 如何配置网关认证密码与未设置密码时的访问策略

- 源码依据：`config.py`
- 行为摘要：可设置网关访问密码，并控制未设置密码时是否允许访问；环境变量可覆盖密码配置。

### 37. 如何启用执行工具前确认

- 源码依据：`config.py`、`jarvis_agent/__init__.py`
- 行为摘要：支持在执行工具前启用确认步骤，降低误操作风险。

### 38. 如何启用任务完成后的自动方法论提取

- 源码依据：`config.py`
- 行为摘要：可在任务结束后自动提取可复用的方法论内容并保存下来。

### 39. 如何启用自动记忆整理

- 源码依据：`config.py`、`jarvis_agent/__init__.py`
- 行为摘要：支持在合适时机自动整理记忆，减少冗余并提升后续检索质量。

### 40. 如何启用智能增强能力（如主动交互与歧义处理）

- 源码依据：`config.py`
- 行为摘要：可开启智能增强能力，让系统在歧义、对话管理和主动交互方面更积极。

### 41. 如何开启会话历史保存

- 源码依据：`config.py`、`jarvis_platform/base.py`
- 行为摘要：支持保存模型会话历史，便于后续追溯与延续使用。

### 42. 如何扩展可用平台实现并让系统自动发现

- 源码依据：`jarvis_platform/registry.py`
- 行为摘要：系统会从内置目录和用户平台目录加载平台实现，并检查其是否满足必要接口。

### 43. 如何查看启动时可用资源统计（方法论、工具、记忆）

- 源码依据：`jarvis_agent/__init__.py`
- 行为摘要：系统启动时会展示方法论、工具和记忆数量等资源概览，帮助用户了解当前环境。

### 44. 如何基于当前需求自动筛选相关方法论

- 源码依据：`methodology.py`
- 行为摘要：系统会从本地与扩展来源加载方法论，并根据当前需求自动筛选更相关的内容供后续使用。

## 风险与写作注意事项

- 本分类同时覆盖“平台管理”和“系统级配置项”，正式文档写作时要区分“交互式操作入口”和“配置文件字段效果”。
- `config.py` 中不少 getter 当前返回固定默认值或简单布尔值，正式文档必须按“当前实现行为”描述，不能过度承诺动态配置能力。
- 默认规则、工具过滤、MCP、中心仓库、扩展目录等内容都涉及前置目录或外部资源，正式文档必须补充准备条件。
- 平台管理器中的聊天、服务、角色对话都依赖已配置的默认模型组；正式文档需要先说明前置要求。
- 本文件为第一轮映射草案，正式拆文前仍应按具体功能补读更细代码片段，特别是与 Web Gateway、回调目录、中心工具仓库相关的边界行为。
