# 环境配置功能说明

## 功能概述

新增了可视化的环境配置管理界面，用户可以通过UI界面配置系统的所有环境变量，无需手动编辑 `.env` 文件。

## 访问方式

在侧栏的"快捷导航"区域，点击 **⚙️ 环境配置** 按钮即可进入配置界面。

## 配置项说明

### 1. 基本配置（必需）

#### DeepSeek API配置
- **API密钥** (必填)
  - 描述：DeepSeek AI引擎的API密钥
  - 获取方式：访问 https://platform.deepseek.com
  - 注意：这是系统核心功能，必须配置才能使用AI分析

- **API地址** (可选)
  - 描述：DeepSeek API服务器地址
  - 默认值：`https://api.deepseek.com/v1`
  - 注意：一般无需修改

### 2. 数据源配置（可选）

#### Tushare数据接口
- **Token** (可选)
  - 描述：Tushare数据接口令牌
  - 获取方式：访问 https://tushare.pro
  - 作用：提供更丰富的A股财务数据
  - 注意：未配置时系统使用其他数据源

### 3. 量化交易配置（可选）

#### MiniQMT量化交易
- **启用开关**
  - 描述：是否启用MiniQMT量化交易功能
  - 默认：关闭

- **账户ID**
  - 描述：MiniQMT交易账户ID
  - 注意：仅在启用时需要配置

- **服务器地址**
  - 描述：MiniQMT服务器地址
  - 默认：`127.0.0.1`

- **服务器端口**
  - 描述：MiniQMT服务器端口
  - 默认：`58610`

- **⚠️ 警告**：量化交易涉及真实资金操作，请谨慎配置和使用！

### 4. 通知配置（可选）⭐新增

#### 📧 邮件通知
- **启用开关**
  - 描述：是否启用邮件通知功能
  - 默认：关闭
  - 适用：实时监测和智策定时分析

- **SMTP服务器地址**
  - 描述：邮件服务器地址
  - 示例：`smtp.qq.com`、`smtp.163.com`

- **SMTP端口**
  - 描述：邮件服务器端口
  - 默认：`587` (TLS) 或 `465` (SSL)

- **发件人邮箱**
  - 描述：发送通知的邮箱地址
  - 示例：`your-email@qq.com`

- **邮箱授权码**
  - 描述：SMTP服务授权码（不是登录密码）
  - 获取：邮箱设置 → SMTP服务 → 生成授权码

- **收件人邮箱**
  - 描述：接收通知的邮箱地址
  - 示例：`recipient@qq.com`

#### 📱 Webhook通知
- **启用开关**
  - 描述：是否启用Webhook通知功能
  - 默认：关闭
  - 适用：实时监测和智策定时分析

- **Webhook类型**
  - 描述：选择Webhook平台
  - 选项：钉钉 (`dingtalk`) 或 飞书 (`feishu`)

- **Webhook地址**
  - 描述：机器人Webhook URL
  - 钉钉示例：`https://oapi.dingtalk.com/robot/send?access_token=xxxxx`
  - 飞书示例：`https://open.feishu.cn/open-apis/bot/v2/hook/xxxxx`
  - 获取：群设置 → 群机器人 → 添加自定义机器人

**💡 提示**：
- 邮件和Webhook可以同时启用
- 配置后建议使用测试功能验证
- 详见《Webhook通知配置指南.md》

## 使用流程

1. **进入配置页面**
   - 点击侧栏的"⚙️ 环境配置"按钮

2. **修改配置**
   - 在相应标签页中填写或修改配置项
   - 必填项会有 `*` 标记
   - 密码类型的配置会以 `****` 显示

3. **保存配置**
   - 点击"💾 保存配置"按钮
   - 系统会验证配置的有效性
   - 验证通过后保存到 `.env` 文件

4. **生效配置**
   - 配置保存后会自动尝试重新加载
   - 建议重启应用以确保所有配置生效

## 功能特性

### ✅ 可视化配置
- 友好的UI界面
- 分类标签页组织
- 字段说明和帮助信息

### ✅ 安全性
- 密码字段自动隐藏
- API密钥部分隐藏显示
- 配置验证功能

### ✅ 便捷操作
- 实时配置预览
- 一键保存
- 一键重置
- 查看当前配置文件

### ✅ 智能提示
- 配置状态实时显示
- 获取API密钥的详细步骤
- 字段帮助信息

## 配置文件位置

配置保存在项目根目录的 `.env` 文件中：
```
D:\web\agentsstock1\.env
```

## 配置示例

```bash
# AI股票分析系统环境配置
# 由系统自动生成和管理

# ========== DeepSeek API配置 ==========
DEEPSEEK_API_KEY="sk-xxxxxxxxxxxxxxxxxxxxxxxx"
DEEPSEEK_BASE_URL="https://api.deepseek.com/v1"

# ========== Tushare数据接口（可选）==========
TUSHARE_TOKEN=""

# ========== MiniQMT量化交易配置（可选）==========
MINIQMT_ENABLED="false"
MINIQMT_ACCOUNT_ID=""
MINIQMT_HOST="127.0.0.1"
MINIQMT_PORT="58610"
```

## 注意事项

1. **API密钥安全**
   - 不要将 `.env` 文件提交到Git仓库
   - 不要分享你的API密钥给他人
   - 定期更换API密钥

2. **配置生效**
   - 修改配置后建议重启应用
   - 某些配置可能需要重新加载才能生效

3. **必填项**
   - DeepSeek API密钥是必填项
   - 其他配置项都是可选的

4. **量化交易**
   - 量化交易功能涉及真实资金
   - 使用前请充分测试
   - 谨慎配置交易参数

## 故障排查

### 问题1：保存配置失败

**解决方案**：
- 检查文件权限
- 确保项目目录可写
- 检查配置格式是否正确

### 问题2：配置不生效

**解决方案**：
- 重启应用
- 检查 `.env` 文件是否存在
- 查看控制台错误信息

### 问题3：API密钥验证失败

**解决方案**：
- 确认API密钥正确
- 检查API密钥是否过期
- 确认网络连接正常

## 技术实现

### 核心文件

1. **config_manager.py**
   - 配置管理器
   - 读取/保存 `.env` 文件
   - 配置验证

2. **app.py**
   - 配置界面
   - 用户交互
   - 状态管理

3. **config.py**
   - 加载环境变量
   - 提供配置访问接口

## 更新日期

2025年10月6日

## 作者

AI股票分析系统开发团队

