# freechat_core **Repository Path**: yang-mengchi/freechat_core ## Basic Information - **Project Name**: freechat_core - **Description**: 真实自由对话核心模块 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-07 - **Last Updated**: 2026-01-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # FreeChat Core - 对话机器人核心模块 本项目实现了一个功能丰富的对话机器人核心模块,支持微信式真人对话、性格情感配置和聊天风格模仿等功能。 ## 功能特性 ### 1. 微信式真人对话 - 回复以短句为主(单句10-30字) - 支持调用表情库发送表情包,表情包与对话语境、情感匹配 - 支持多轮对话上下文衔接,无逻辑断层 - **支持自然连续对话,用户和机器人可发送多条消息,模拟真实微信对话体验** ### 2. 性格与情感配置 - 支持预设多种性格模板(活泼可爱、沉稳理性、温柔体贴、幽默风趣等) - 可调节情感强度(开心、平淡、委屈、愤怒等) - 性格与情感贯穿整个对话过程,影响回复语气、用词和表情包选择 ### 3. 聊天风格模仿 - 支持采集目标人物的历史聊天数据 - 基于历史数据提取语言风格特征(用词习惯、句式结构、表情使用偏好等) - 实现对目标人物聊天风格的精准模仿,且可切换模仿对象 ### 4. 多智能体架构 - **主对话机器人生成略长的完整回复** - **消息切分智能体进行语义分析,动态判断最佳分割点** - **输出多条短句(每条10-20字)组成的回复序列,按序发送** - 模拟真实用户多条连续回复的交互节奏 ### 5. 角色认同系统 - **支持预设角色身份(贴心闺蜜、知心哥哥、邻家姐姐、幽默损友、职场导师等)** - **可自定义角色身份和特征** - **确保机器人始终以指定身份进行对话** - **支持动态切换角色身份** ## 项目结构 ``` freechat_core/ ├── .env.example # 环境变量配置示例 ├── .gitignore # Git忽略文件配置 ├── config.py # 全局配置文件 ├── main.py # 主程序入口 ├── requirements.txt # 项目依赖 ├── core/ # 核心模块 │ ├── __init__.py │ ├── config.py # 机器人配置类 │ ├── chatbot.py # 聊天机器人核心类 │ ├── conversation_manager.py # 对话管理器 │ ├── message_splitter_agent.py # 消息切分智能体 │ └── identity_agent.py # 角色认同模块 ├── utils/ # 工具模块 │ ├── __init__.py │ ├── env_loader.py # 环境变量加载工具 │ └── mimic_analyzer.py # 聊天风格模仿分析器 └── examples/ # 使用示例 └── example_usage.py # 功能演示示例 ``` ## 快速开始 1. 安装依赖: ```bash pip install -r requirements.txt ``` 2. 配置API密钥: - 复制 `.env.example` 为 `.env`: ```bash cp .env.example .env ``` - 编辑 `.env` 文件,将 `your_actual_api_key_here` 替换为您的DeepSeek API密钥 3. 运行主程序: ```bash python main.py ``` 4. 运行功能示例: ```bash python examples/example_usage.py ``` ## API配置 本项目使用DeepSeek API,API Key通过环境变量或 `.env` 文件配置。 ## 使用示例 ### 基本使用 ```python import asyncio from core.conversation_manager import ConversationManager from core.config import BotConfig from config import get_deepseek_api_key, get_deepseek_api_base, get_deepseek_model async def main(): config = BotConfig( api_key=get_deepseek_api_key(), # 使用函数获取API密钥 api_base=get_deepseek_api_base(), model=get_deepseek_model() ) manager = ConversationManager(config) responses = await manager.send_user_message("你好!") for response in responses: print(response) asyncio.run(main()) ``` ### 切换性格 ```python # 切换到沉稳理性性格 manager.change_personality("沉稳理性") ``` ### 切换情感 ```python # 切换到开心情感 manager.change_emotion("开心") ``` ### 设置角色身份 ```python # 设置为贴心闺蜜角色 success = manager.set_identity_role("贴心闺蜜") if success: print(f"当前角色: {manager.get_current_role_info()['name']}") ``` ### 启用模仿模式 ```python from utils.mimic_analyzer import MimicAnalyzer # 分析目标人物聊天数据 analyzer = MimicAnalyzer() mimic_features = analyzer.analyze_chat_data(chat_data) # 启用模仿模式 manager.enable_mimic_mode(mimic_features) ```