整活项目,作为美利坚懂王的秘密上线,体验 gal game 般的地下党联络。以第二人称视角,了解懂王如何为了中华民族伟大复兴而奋斗。
支持命令行对话、telegram bot部署
支持简单的记忆管理
项目地址:https://github.com/SunnyPh/chatBotAgent
演示
这是一个基于 LangChain 框架构建的智能对话 Agent 项目,集成了 Moonshot AI (Kimi) 模型,旨在打造一个具有深度角色扮演能力的 AI 伴侣。项目支持通过命令行或 Telegram Bot 进行交互,并具备联网搜索、文件操作等实用功能。
✨ 功能特性
- 多重角色扮演:
- 🕵️ 潜龙 (Trump)(默认):表面是美国总统 Donald J. Trump,实则是来自中国、代号“潜龙”的卧底特工。
- 👩❤️👨 夏星羽(可选):19岁哈尔滨工业大学大二学生,性格活泼依赖,是你的“女朋友”。
- 多工具集成:
- 🌐 联网搜索:使用 DuckDuckGo 获取实时信息。
- 🧮 数学计算:处理复杂的数学运算。
- 📂 文件管理:支持读取、写入本地文件及列出目录。
- ⏰ 时间获取:获取当前准确时间。
- 多平台支持:
- 🖥️ 命令行界面 (CLI):支持基础对话及带记忆管理的高级交互。
- 📱 Telegram Bot:完整的 Telegram 聊天机器人集成。
- 记忆管理:支持对话记忆的查看、保存(持久化到 JSON)、读取和清除。
- Deep Think 适配:针对推理模型(如 Kimi k2.5)的深度思考模式支持。
🛠️ 环境依赖
- Python 3.12+
- 核心库:
langchain,langchain-openai,langchain-communitypython-telegram-botduckduckgo-searchnumexprPillow(图像处理)python-dotenv
🚀 快速开始
1. 配置环境
在项目根目录下创建 .env 文件,并配置以下环境变量:
# 模型配置
OPENAI_API_KEY=your_moonshot_api_key
OPENAI_BASE_URL=https://api.moonshot.cn/v1
MODEL_NAME=kimi-k2.5
ENABLE_DEEP_THINK=false # 是否开启深度思考模式
TEMPERATURE=0.6 # 思考模式建议设为 1.0
# Telegram Bot 配置
TELEGRAM_TOKEN=your_telegram_bot_token
2. 运行项目
方式一:命令行交互(CLI)
包含完整的记忆管理功能。
python run_cli.py
可用指令:
/show_memories: 查看当前对话记忆(过滤工具调用细节)/save_memories: 将记忆保存到agent_memory.json/read_memories: 从文件加载记忆/clean_memories: 清空当前记忆exit/quit: 退出程序
方式二:Telegram Bot
从telegram的botFather处获取自己的机器人以及token,配置到.env文件中。
启动 Telegram 机器人服务。
python run_telegram.py
Bot 指令:
/start: 唤醒机器人/show_memories: 查看记忆/save_memories: 保存记忆/read_memories: 读取记忆/clean_memories: 清除记忆- 直接在telegram任意客户端发送消息即可对话
📂 项目结构
本项目采用了规范化的模块分层结构。详细说明请参阅 STRUCTURE.md。
langchain_agent_project/
├── langchain_agent/ # 核心源码包
│ ├── core/ # 核心配置与Agent定义
│ ├── tools/ # 工具函数定义
│ ├── services/ # 业务逻辑服务
│ └── interfaces/ # CLI与Telegram接口
├── run_cli.py # CLI 启动入口
├── run_telegram.py # Telegram Bot 启动入口
├── .env # 配置文件
└── STRUCTURE.md # 结构说明文档
📝 注意事项
- 角色切换:默认角色为 Trump。若要切换为 夏星羽,请在
langchain_agent/core/agent.py的create_agent_executor函数中将默认参数system_prompt修改为girl_friend。 - 安全性:文件操作工具已限制在当前目录下,防止访问系统关键文件。