46 lines
1.3 KiB
Python
46 lines
1.3 KiB
Python
"""Configuration for the coding agent."""
|
|
|
|
from dotenv import load_dotenv
|
|
from pydantic import Field
|
|
from pydantic_settings import BaseSettings
|
|
|
|
load_dotenv()
|
|
|
|
|
|
class AgentSettings(BaseSettings):
|
|
gitea_url: str = ""
|
|
gitea_token: str = ""
|
|
gitea_repos_root: str = ""
|
|
agent_model_id: str = "qwen/qwen3.6-35b-a3b"
|
|
agent_max_retries: int = 2
|
|
searxng_url: str = ""
|
|
searxng_username: str = ""
|
|
searxng_password: str = ""
|
|
|
|
|
|
def get_settings() -> AgentSettings:
|
|
return AgentSettings()
|
|
|
|
|
|
# Module-level singleton instance
|
|
_agent_settings: AgentSettings = AgentSettings()
|
|
|
|
# Backwards-compatible exports
|
|
GITEA_URL: str = _agent_settings.gitea_url
|
|
GITEA_TOKEN: str = _agent_settings.gitea_token
|
|
GITEA_REPOS_ROOT: str = _agent_settings.gitea_repos_root
|
|
AGENT_MODEL_ID: str = _agent_settings.agent_model_id
|
|
AGENT_MAX_RETRIES: int = _agent_settings.agent_max_retries
|
|
SEARXNG_URL: str = _agent_settings.searxng_url
|
|
SEARXNG_USERNAME: str = _agent_settings.searxng_username
|
|
SEARXNG_PASSWORD: str = _agent_settings.searxng_password
|
|
|
|
import os
|
|
os.environ["GITEA_SERVER_URL"] = GITEA_URL
|
|
os.environ["GITEA_SERVER_TOKEN"] = GITEA_TOKEN
|
|
os.environ["SEARXNG_URL"] = SEARXNG_URL
|
|
os.environ["SEARXNG_USERNAME"] = SEARXNG_USERNAME
|
|
os.environ["SEARXNG_PASSWORD"] = SEARXNG_PASSWORD
|
|
|
|
|