From 371f717881a717c061d8a095d376e914d57832e2 Mon Sep 17 00:00:00 2001 From: Wenjie Zhang Date: Fri, 10 Oct 2025 18:07:06 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=9B=B4=E6=96=B0=E7=8E=AF=E5=A2=83?= =?UTF-8?q?=E5=8F=98=E9=87=8F=E9=85=8D=E7=BD=AE=E8=B7=AF=E5=BE=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增 .env.template 文件,提供环境变量配置示例 - 更新 docker-compose.yml 和相关文档,调整 .env 文件路径至项目根目录 - 修正文档中对环境变量配置的引用,确保一致性 --- src/.env.template => .env.template | 0 docker-compose.yml | 2 +- docs/.vitepress/config.mts | 3 +- docs/changelog/0.3-release-notes.md | 56 +++++++++++++++++++ docs/changelog/roadmap.md | 1 - docs/intro/knowledge-base.md | 4 +- docs/intro/model-config.md | 6 +- docs/intro/quick-start.md | 11 ++-- src/__init__.py | 2 +- src/config/app.py | 2 +- test/test_mysql_connection.py | 2 +- .../components/ModelProvidersComponent.vue | 4 +- web/src/views/SettingView.vue | 2 +- 13 files changed, 75 insertions(+), 20 deletions(-) rename src/.env.template => .env.template (100%) create mode 100644 docs/changelog/0.3-release-notes.md diff --git a/src/.env.template b/.env.template similarity index 100% rename from src/.env.template rename to .env.template diff --git a/docker-compose.yml b/docker-compose.yml index df5cbe8a..79ab3203 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -22,7 +22,7 @@ services: extra_hosts: - "host.docker.internal:host-gateway" env_file: - - src/.env + - .env # region api_envs environment: - HOST_IP=${HOST_IP:-} diff --git a/docs/.vitepress/config.mts b/docs/.vitepress/config.mts index 764e6b34..29b6aa2b 100644 --- a/docs/.vitepress/config.mts +++ b/docs/.vitepress/config.mts @@ -44,7 +44,8 @@ export default defineConfig({ items: [ { text: '路线图', link: '/changelog/roadmap' }, { text: '参与贡献', link: '/changelog/contributing' }, - { text: '常见问题', link: '/changelog/faq' } + { text: '常见问题', link: '/changelog/faq' }, + { text: '版本说明 v0.3', link: '/changelog/0.3-release-notes' } ] } ], diff --git a/docs/changelog/0.3-release-notes.md b/docs/changelog/0.3-release-notes.md new file mode 100644 index 00000000..0d0ed235 --- /dev/null +++ b/docs/changelog/0.3-release-notes.md @@ -0,0 +1,56 @@ +# Yuxi-Know v0.3 更新说明 + +## 概览 + +Yuxi-Know v0.3 是一个重要的里程碑版本,包含了多项架构重构、功能增强和用户体验改进。本版本重点关注了系统架构的优化、数据存储的统一管理以及用户界面的现代化改进。 + +## 🔄 重大变更 (Breaking Changes) + +### 环境配置文件位置调整 +- **变更内容**: 将 `.env` 文件从 `src/.env` 移动到项目根目录 `.env` +- **影响**: 需要更新配置文件的复制命令和所有相关的文档引用 +- **迁移指南**: + ```bash + # 旧版本 + cp src/.env.template src/.env + + # 新版本 + cp .env.template .env + ``` + +### 数据库存储架构重构 +- **变更内容**: 重新实现了对话管理的存储与管理,不再依赖于 MemorySaver +- **影响**: 使用新的存储结构,之前存储的历史记录无法直接迁移 +- **改进**: 所有对话记录统一保存到 `server.db` 中,提供更好的数据一致性和查询性能 + +### 自定义模型支持移除 +- **变更内容**: 完全移除自定义模型支持功能 +- **替代方案**: 使用自定义 provider + +## ✨ 新增功能 + +### 1. Dashboard 统计面板 +- **用户活跃度统计**: 提供用户使用情况的详细分析 +- **工具调用统计**: 实时监控各种工具的使用频率和效果 +- **知识库分析**: 展示知识库的使用情况和性能指标 +- **智能体分析**: 统计智能体的调用次数和成功率 +- **时间序列数据**: 支持历史趋势分析和可视化展示 + +### 2. 消息反馈系统 +- **点赞点踩功能**: 用户可以对 AI 回复进行质量评价 +- **反馈数据收集**: 为模型优化提供有价值的数据支持 +- **管理员视图**: 管理员可以查看整体的反馈统计情况 + +### 3. 用户资料增强 +- **用户名更新**: 支持用户修改显示名称 +- **头像管理**: 完善用户头像上传和管理功能 +- **账户安全**: 增强账户登录失败次数限制和锁定机制 + +### 4. 文档系统 +- **VitePress 集成**: 添加完整的官方文档站点 +- **快速开始指南**: 优化新用户的上手体验 +- **配置文档**: 详细的环境配置和功能说明 +- **GitHub Actions**: 实现文档的自动部署 + + +**注意**: v0.3 版本包含多项重大变更,建议在升级前仔细阅读本文档并做好数据备份。如有问题,请通过 GitHub Issues 反馈。 \ No newline at end of file diff --git a/docs/changelog/roadmap.md b/docs/changelog/roadmap.md index 1200e772..273557db 100644 --- a/docs/changelog/roadmap.md +++ b/docs/changelog/roadmap.md @@ -22,7 +22,6 @@ - [ ] 开发与生产环境隔离 - [x] 添加统计信息 - [ ] 支持 MinerU 2.5 的解析方法 -- [ ] Options 中添加网络搜索和绘制图片的选项,分别是用来调用工具 - [x] 移除自定义模型,同时将模型的 env 修改为单环境变量的形式,移除 models.yaml 的私有共有双配置模式,除非配置了环境变量 `OVERRIDE_DEFAULT_MODELS_CONFIG_WITH` 然后指向一个变量。 📝 **Base** diff --git a/docs/intro/knowledge-base.md b/docs/intro/knowledge-base.md index 0c7beb0b..91fca87a 100644 --- a/docs/intro/knowledge-base.md +++ b/docs/intro/knowledge-base.md @@ -28,7 +28,7 @@ LightRAG 知识库可在知识库详情中可视化,但不支持在侧边栏 系统默认使用 `siliconflow` 的 `Qwen/Qwen3-30B-A3B-Instruct-2507` 模型进行图谱构建。可通过环境变量自定义图谱构建模型: -<<< @/../src/.env.template#lightrag{bash} +<<< @/../.env.template#lightrag{bash} ## 文档管理 @@ -71,7 +71,7 @@ Neo4j 访问信息可以参考 `docker-compose.yml` 中配置对应的环境变 如需接入已有的 Neo4j 实例,可修改 `.env` 中的配置: -<<< @/../src/.env.template#neo4j{bash} +<<< @/../.env.template#neo4j{bash} 同时记得注释掉下面的 neo4j 服务: diff --git a/docs/intro/model-config.md b/docs/intro/model-config.md index a0ca7156..e06decc6 100644 --- a/docs/intro/model-config.md +++ b/docs/intro/model-config.md @@ -17,9 +17,9 @@ ### 配置方法 -在 `src/.env` 文件中添加对应的环境变量: +在 `.env` 文件中添加对应的环境变量: -<<< @/../src/.env.template#model_provider{bash 2} +<<< @/../.env.template#model_provider{bash 2} ::: tip 免费获取 API Key @@ -92,7 +92,7 @@ local-vllm: ### 3. 配置环境变量 -在 `src/.env` 文件中添加对应的环境变量: +在 `.env` 文件中添加对应的环境变量: ```env CUSTOM_API_KEY_ENV_NAME=your_api_key_here ``` diff --git a/docs/intro/quick-start.md b/docs/intro/quick-start.md index 9778d107..30cd3117 100644 --- a/docs/intro/quick-start.md +++ b/docs/intro/quick-start.md @@ -29,15 +29,14 @@ cd Yuxi-Know 复制环境变量模板并编辑: ```bash -cp src/.env.template src/.env +cp .env.template .env ``` -编辑 `src/.env` 文件,配置必需的 API 密钥: +编辑 `.env` 文件,配置必需的 API 密钥: + + +<<< @/../.env.template#model_provider{bash 2} -```env -# 必需配置 - 推荐使用硅基流动免费服务 -SILICONFLOW_API_KEY=sk-270ea********8bfa97.e3XOMd****Q1Sk -``` ::: tip 免费获取 API Key [硅基流动](https://cloud.siliconflow.cn/i/Eo5yTHGJ) 注册即送 14 元额度,支持多种开源模型。 diff --git a/src/__init__.py b/src/__init__.py index 727a9a61..1ed71cb4 100644 --- a/src/__init__.py +++ b/src/__init__.py @@ -1,6 +1,6 @@ from dotenv import load_dotenv -load_dotenv("src/.env", override=True) +load_dotenv(".env", override=True) from concurrent.futures import ThreadPoolExecutor # noqa: E402 diff --git a/src/config/app.py b/src/config/app.py index ea8fe7ea..b92649b0 100644 --- a/src/config/app.py +++ b/src/config/app.py @@ -57,7 +57,7 @@ class Config(SimpleConfig): self.add_item("default_agent_id", default="", des="默认智能体ID") # 模型配置 ## 注意这里是模型名,而不是具体的模型路径,默认使用 HuggingFace 的路径 - ## 如果需要自定义本地模型路径,则在 src/.env 中配置 MODEL_DIR + ## 如果需要自定义本地模型路径,则在 .env 中配置 MODEL_DIR self.add_item("model_provider", default="siliconflow", des="模型提供商", choices=list(self.model_names.keys())) self.add_item("model_name", default="zai-org/GLM-4.5", des="模型名称") self.add_item( diff --git a/test/test_mysql_connection.py b/test/test_mysql_connection.py index 7a0285e6..0893c9b1 100644 --- a/test/test_mysql_connection.py +++ b/test/test_mysql_connection.py @@ -9,7 +9,7 @@ import os # sys.path.insert(0, str(Path(__file__).parent.parent.parent.parent.parent.parent)) -def load_env_file(env_file="src/.env"): +def load_env_file(env_file=".env"): """加载 .env 文件""" env_vars = {} if os.path.exists(env_file): diff --git a/web/src/components/ModelProvidersComponent.vue b/web/src/components/ModelProvidersComponent.vue index 97fed2f4..77858e44 100644 --- a/web/src/components/ModelProvidersComponent.vue +++ b/web/src/components/ModelProvidersComponent.vue @@ -116,7 +116,7 @@