feat: 新增xbot agent核心代码
新增agent/app/xbot模块,包含: - agent.py: agent核心逻辑 - config.py: 配置管理 - session.py: 会话管理 - memory.py: 记忆管理 - loop.py: 循环任务 - adapter.py: 适配器 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
74
agent/app/xbot/config.py
Normal file
74
agent/app/xbot/config.py
Normal file
@@ -0,0 +1,74 @@
|
||||
"""
|
||||
XBot 配置文件
|
||||
"""
|
||||
|
||||
# ==================== LLM 配置 ====================
|
||||
|
||||
# 默认 LLM 提供商
|
||||
DEFAULT_PROVIDER = "openai"
|
||||
|
||||
# 默认模型
|
||||
DEFAULT_MODEL = "gpt-4"
|
||||
|
||||
# API Key(建议使用环境变量)
|
||||
import os
|
||||
API_KEY = os.getenv("OPENAI_API_KEY", "")
|
||||
|
||||
# Base URL
|
||||
BASE_URL = os.getenv("OPENAI_BASE_URL", "https://api.openai.com/v1")
|
||||
|
||||
|
||||
# ==================== SimpleMem 记忆配置 ====================
|
||||
|
||||
# 是否启用 SimpleMem
|
||||
ENABLE_SIMPLEMEM = True
|
||||
|
||||
# Embedding 模型
|
||||
# 推荐: text-embedding-3-small, text-embedding-3-large, text-embedding-ada-002
|
||||
# 或使用 Qwen: Qwen/Qwen3-Embedding-0.6B
|
||||
EMBEDDING_MODEL = os.getenv("EMBEDDING_MODEL", "text-embedding-3-small")
|
||||
|
||||
# Embedding 服务的 Base URL(可选,默认使用 BASE_URL)
|
||||
EMBEDDING_BASE_URL = os.getenv("EMBEDDING_BASE_URL", "")
|
||||
|
||||
|
||||
# ==================== 并行处理配置 ====================
|
||||
|
||||
# 是否启用并行处理
|
||||
ENABLE_PARALLEL_PROCESSING = True
|
||||
MAX_PARALLEL_WORKERS = 8
|
||||
|
||||
# 是否启用并行检索
|
||||
ENABLE_PARALLEL_RETRIEVAL = True
|
||||
MAX_RETRIEVAL_WORKERS = 4
|
||||
|
||||
# 是否启用规划
|
||||
ENABLE_PLANNING = True
|
||||
|
||||
# 是否启用反思
|
||||
ENABLE_REFLECTION = True
|
||||
MAX_REFLECTION_ROUNDS = 2
|
||||
|
||||
|
||||
# ==================== 工作目录 ====================
|
||||
|
||||
# 工作目录(用于存储会话和记忆)
|
||||
WORKSPACE = os.getenv("XAGENT_WORKSPACE", "./xbot_workspace")
|
||||
|
||||
# 上下文窗口大小
|
||||
CONTEXT_WINDOW_TOKENS = 200000
|
||||
|
||||
|
||||
# ==================== Agent 配置 ====================
|
||||
|
||||
# 默认 Agent 配置
|
||||
DEFAULT_AGENTS = {
|
||||
1: {
|
||||
"name": "数据分析助手",
|
||||
"role_description": "你是一个专业的数据分析助手,擅长分析数据、生成报告。",
|
||||
},
|
||||
2: {
|
||||
"name": "代码审查助手",
|
||||
"role_description": "你是一个专业的代码审查助手,擅长审查代码、发现bug。",
|
||||
},
|
||||
}
|
||||
Reference in New Issue
Block a user