Files
18xchat/assets/Scripts/chat18x
2025-08-16 16:14:24 +08:00
..
2025-08-15 14:50:44 +08:00
2025-08-16 16:14:24 +08:00
2025-08-15 16:19:31 +08:00
2025-08-15 15:24:31 +08:00
2025-08-16 01:07:50 +08:00
2025-08-15 18:17:12 +08:00
2025-08-15 13:55:26 +08:00
2025-08-13 16:53:27 +08:00
2025-08-15 14:30:09 +08:00
2025-08-11 16:08:59 +08:00
2025-08-15 16:19:31 +08:00
2025-08-11 16:08:59 +08:00
2025-08-11 16:08:59 +08:00
2025-08-11 16:08:59 +08:00
2025-08-15 00:36:54 +08:00
2025-08-11 16:08:59 +08:00
2025-08-11 16:08:59 +08:00
2025-08-11 16:08:59 +08:00
2025-08-11 16:08:59 +08:00
2025-08-11 16:08:59 +08:00
2025-08-11 16:08:59 +08:00
2025-08-11 16:08:59 +08:00
2025-08-11 16:08:59 +08:00
2025-08-11 16:08:59 +08:00
2025-08-11 16:08:59 +08:00
2025-08-11 16:08:59 +08:00
2025-08-11 16:08:59 +08:00

Chat AI System - 重构后的目录结构说明

概述

这是一个基于 Google Gemini API 的多角色 AI 聊天系统,支持不同性格的虚拟角色对话。

目录结构

Scripts/test/
├── core/                    # 核心服务层
│   ├── ChatAIService.ts    # AI聊天服务,管理Gemini API调用
│   ├── ChatHistoryManager.ts # 聊天历史管理器
│   └── RoleConfig.ts        # 角色配置映射
├── ui/                      # 用户界面层
│   ├── panels/             # UI面板
│   │   ├── ChatPanel.ts    # 聊天界面面板
│   │   ├── GirlDetailPanel.ts # 角色详情面板  
│   │   └── GirlListPanel.ts # 角色列表面板
│   ├── components/         # UI组件
│   │   ├── DialogBubble.ts # 对话气泡组件
│   │   ├── ChatContentsLayout.ts # 聊天内容布局
│   │   └── ImagePopup.ts   # 图片弹窗组件
│   └── items/              # 列表项组件
├── config/                  # 配置文件
│   ├── ApiConfig.ts        # API配置管理
│   └── SystemPrompts.ts    # 系统提示词配置
├── manager/                 # 管理器层
│   └── DemoManager.ts      # 场景和导航管理器
└── utils/                   # 工具类
    ├── tools.ts            # 通用工具函数
    └── DemoData.ts         # 演示数据管理

主要改进

1. 安全性改进

  • 将API配置提取到独立文件(config/ApiConfig.ts
  • ⚠️ API密钥仍在代码中(待改进:使用环境变量)
  • 添加输入验证和错误处理

2. 代码组织优化

  • 按功能分层组织文件结构
  • 修复拼写错误(GPTResquest → GPTRequest
  • 清理废弃代码并添加@deprecated标记
  • 改进导入路径的一致性

3. 文档完善

  • 添加详细的JSDoc注释
  • 提供使用示例
  • 创建结构说明文档

4. 类型安全

  • 完善TypeScript类型定义
  • 添加接口文档说明

核心功能

ChatAIService (核心AI服务)

  • 管理多个独立的聊天实例
  • 支持角色切换和上下文保持
  • 自动保存和加载聊天历史
  • 基于Gemini API的消息处理

ChatHistoryManager (历史管理)

  • 本地存储聊天记录
  • 支持历史记录的增删改查
  • 自动限制历史长度(100条消息)
  • 预留远程同步接口

RoleConfig (角色配置)

  • 角色ID与系统提示词的映射
  • 支持动态角色配置
  • 预定义三种角色性格

使用示例

// 初始化聊天服务
const chatService = ChatAIService.Instance;

// 设置当前角色
chatService.setCurrentRole(10001);

// 发送消息并获取回复
const response = await chatService.sendMessage(10001, "你好");
console.log(response);

// 清除聊天历史
chatService.clearChatHistory(10001);

待优化项目

  1. 安全性:将API密钥移至环境变量
  2. 性能:实现消息分页加载
  3. 功能:添加消息搜索和导出功能
  4. 监控:增加API调用统计和限流
  5. 测试:添加单元测试和集成测试

兼容性说明

为了保持向后兼容性,保留了一些废弃的接口:

  • GPTResquest 类型别名(建议使用 GPTRequest
  • Post() 方法(建议使用 sendMessage()

这些接口会在控制台输出警告信息,建议尽快迁移到新的API。