feat: 新增 core/agents 模块和 nanobot
- 新增 agents 模块,包含 agent、api、skills 等子模块 - 新增 nanobot 项目,支持多渠道集成 - 添加启动脚本 start-all.bat 和 start-all.sh Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
56
core/agents/config.py
Normal file
56
core/agents/config.py
Normal file
@@ -0,0 +1,56 @@
|
||||
"""Configuration for X-Agents."""
|
||||
|
||||
import os
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
# 尝试加载 .env 文件
|
||||
try:
|
||||
from dotenv import load_dotenv
|
||||
# 查找 .env 文件:从当前目录向上查找
|
||||
env_paths = [
|
||||
Path(__file__).parent.parent.parent / ".env", # X-Agents/.env
|
||||
Path(__file__).parent.parent / ".env", # core/.env
|
||||
Path(__file__).parent / ".env", # agents/.env
|
||||
]
|
||||
for env_path in env_paths:
|
||||
if env_path.exists():
|
||||
load_dotenv(env_path)
|
||||
break
|
||||
except ImportError:
|
||||
pass # python-dotenv 未安装时跳过
|
||||
|
||||
|
||||
class Config:
|
||||
"""X-Agents configuration."""
|
||||
|
||||
# API settings
|
||||
API_HOST: str = os.getenv("PYTHON_HOST", os.getenv("API_HOST", "0.0.0.0"))
|
||||
API_PORT: int = int(os.getenv("PYTHON_PORT", os.getenv("API_PORT", "8001")))
|
||||
|
||||
# LLM settings
|
||||
LLM_PROVIDER: str = os.getenv("PYTHON_LLM_PROVIDER", os.getenv("LLM_PROVIDER", "openai"))
|
||||
LLM_MODEL: str = os.getenv("PYTHON_LLM_MODEL", os.getenv("LLM_MODEL", "gpt-4o"))
|
||||
LLM_API_KEY: str = os.getenv("PYTHON_LLM_API_KEY", os.getenv("LLM_API_KEY", ""))
|
||||
LLM_BASE_URL: str | None = os.getenv("PYTHON_LLM_BASE_URL", os.getenv("LLM_BASE_URL", None))
|
||||
|
||||
# Workspace
|
||||
WORKSPACE: Path = Path(os.getenv("PYTHON_WORKSPACE", os.getenv("WORKSPACE", "./workspace")))
|
||||
|
||||
# Agent settings
|
||||
MAX_ITERATIONS: int = int(os.getenv("PYTHON_MAX_ITERATIONS", os.getenv("MAX_ITERATIONS", "10")))
|
||||
TEMPERATURE: float = float(os.getenv("PYTHON_TEMPERATURE", os.getenv("TEMPERATURE", "0.7")))
|
||||
|
||||
def __init__(self, **kwargs: Any):
|
||||
"""Initialize config with overrides.
|
||||
|
||||
Args:
|
||||
**kwargs: Configuration overrides
|
||||
"""
|
||||
for key, value in kwargs.items():
|
||||
if hasattr(self, key):
|
||||
setattr(self, key, value)
|
||||
|
||||
|
||||
# Default config instance
|
||||
config = Config()
|
||||
Reference in New Issue
Block a user