diff --git a/api/app/controllers/home_page_controller.py b/api/app/controllers/home_page_controller.py index 77db9d8f..0b758cd1 100644 --- a/api/app/controllers/home_page_controller.py +++ b/api/app/controllers/home_page_controller.py @@ -32,7 +32,6 @@ def get_workspace_list( @router.get("/version", response_model=ApiResponse) def get_system_version(): """获取系统版本号+说明""" - return success(data={ - "version": settings.SYSTEM_VERSION, - "introduction": settings.SYSTEM_INTRODUCTION - }, msg="系统版本获取成功") \ No newline at end of file + current_version = settings.SYSTEM_VERSION + version_introduction = HomePageService.load_version_introduction(current_version) + return success(data={"version": current_version, "introduction": version_introduction}, msg="系统版本获取成功") \ No newline at end of file diff --git a/api/app/core/config.py b/api/app/core/config.py index d9b9cea8..573c4283 100644 --- a/api/app/core/config.py +++ b/api/app/core/config.py @@ -167,7 +167,6 @@ class Settings: # official environment system version SYSTEM_VERSION: str = os.getenv("SYSTEM_VERSION", "v0.2.0") - SYSTEM_INTRODUCTION: str = os.getenv("SYSTEM_INTRODUCTION", "") def get_memory_output_path(self, filename: str = "") -> str: """ diff --git a/api/app/services/home_page_service.py b/api/app/services/home_page_service.py index 87419cb2..f5b7949e 100644 --- a/api/app/services/home_page_service.py +++ b/api/app/services/home_page_service.py @@ -1,6 +1,11 @@ +import json +from pathlib import Path from datetime import datetime, timedelta + +from fastapi import HTTPException from sqlalchemy.orm import Session from uuid import UUID +from typing import Dict, Any from app.repositories.home_page_repository import HomePageRepository from app.schemas.home_page_schema import HomeStatistics, WorkspaceInfo @@ -68,4 +73,69 @@ class HomePageService: ) workspace_list.append(workspace_info) - return workspace_list \ No newline at end of file + return workspace_list + + @staticmethod + def load_version_introduction(version: str) -> Dict[str, Any]: + """ + 从 JSON 文件加载对应版本的介绍 + :param version: 系统版本号(如 "0.2.0") + :return: 对应版本的详细介绍 + """ + # 1. 定义 JSON 文件路径(使用 Path 处理跨平台路径问题) + json_file_path = Path(__file__).parent.parent.parent / "version_info.json" + # 转换为绝对路径,便于调试 + json_abs_path = json_file_path.resolve() + + try: + # 2. 读取 JSON 文件 + if not json_abs_path.exists(): + return { + "message": f"版本介绍文件不存在:{json_abs_path}", + "codeName": "", + "releaseDate": "", + "upgradePosition": "", + "coreUpgrades": [] + } + + with open(json_abs_path, "r", encoding="utf-8") as f: + changelogs = json.load(f) + + # 3. 匹配对应版本的介绍,若版本不存在返回默认提示 + if version not in changelogs: + return { + "message": f"暂未查询到 {version} 版本的详细介绍", + "codeName": "", + "releaseDate": "", + "upgradePosition": "", + "coreUpgrades": [] + } + return changelogs[version] + + except FileNotFoundError as e: + # 处理文件不存在异常 + return { + "message": f"系统内部错误:{str(e)}", + "codeName": "", + "releaseDate": "", + "upgradePosition": "", + "coreUpgrades": [] + } + except json.JSONDecodeError: + # 处理 JSON 格式错误 + return { + "message": "版本介绍文件格式错误,无法解析 JSON", + "codeName": "", + "releaseDate": "", + "upgradePosition": "", + "coreUpgrades": [] + } + except Exception as e: + # 处理其他未知异常 + return { + "message": f"加载版本介绍失败:{str(e)}", + "codeName": "", + "releaseDate": "", + "upgradePosition": "", + "coreUpgrades": [] + } \ No newline at end of file diff --git a/api/version_info.json b/api/version_info.json new file mode 100644 index 00000000..87e313e4 --- /dev/null +++ b/api/version_info.json @@ -0,0 +1,33 @@ +{ + "v0.2.0": { + "codeName": "启知", + "releaseDate": "2026-1-16", + "upgradePosition": "本次为架构升级,核心目标是把“被动存储”升级为“主动认知”,让系统具备情绪感知、情景理解与类人记忆机制,为后续多智能体协作与专业场景落地奠定底座。", + "coreUpgrades": [ + "记忆详情:拟人记忆——情绪引擎、情景记忆、短期记忆、工作记忆、感知记忆、显性记忆、隐性记忆,并配套类脑遗忘机制,实现从感知→情绪→情景→长期沉淀的完整人类记忆闭环", + "可视化工作流:拖拽式节点编排(LLM、知识库、逻辑、工具),业务落地周期由天缩至小时。", + "多模态知识处理:PDF、PPT、MP3、MP4 一键解析,时间感知检索准确率 94.3%,问答对数据即插即用。", + "Agent集群内置“记忆-知识-工具-审核”四类角色模板,用户一键生成;主控Agent把复杂任务拆为子任务并行分发,再靠情景记忆统一消解冲突、校验一致性,输出完整报告。" + ] + }, + "v0.1.0": { + "codeName": "初心", + "releaseDate": "2025-12-01", + "upgradePosition": "这是一款专注于管理和利用AI记忆的工具,支持RAG和知识图谱两种主流存储方式,旨在为AI应用提供持久化、结构化的“记忆”能力。", + "coreUpgrades": [ + "记忆空间:用户可以创建独立的空间来隔离不同记忆,并灵活选择存储方式。", + "记忆配置:简化了配置流程,内置自动提取关键信息的“记忆萃取”和管理生命周期的\"遗忘\"引擎。", + "知识检索:提供语义、分词和混合三种检索模式,并支持多种参数微调和结果重排序,以提升召回效果。", + "全局管理:支持统一设置默认检索参数,并可一键应用到所有知识库。", + "测试与调试:内置\"召回测试\"功能,方便用户实时验证检索效果并调整参数,支持通过分享码与他人协作。", + "记忆洞察:可查看详细的对话记录、用户画像和分析报告,帮助理解AI的\"记忆\"内容。", + "集成与管理:提供API Key用于系统集成,并包含基本的用户管理功能。", + "界面与体验:采用现代化的卡片式布局和渐变色设计,注重交互的流畅性和视觉美感。", + "起步与使用:文档中提供了清晰的基础使用流程,引导用户从创建空间、配置记忆到测试检索快速上手。", + "版本说明与限制: 记忆熊 v0.1.0 版本\"初心\"囊括智能记忆管理的核心思路和基础能力,为后续开发奠定了基础。", + "文档资源:用户手册、API文档、FAQ", + "问题反馈:GitHub Issues、邮件支持", + "致谢:感谢所有参与测试和提供反馈的用户!" + ] + } +} \ No newline at end of file