41 lines
1.2 KiB
Python
41 lines
1.2 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 = "qwen3.6-35b-a3b-mtp@iq4_nl"
|
|
agent_max_retries: int = 2
|
|
agent_usernames: list[str] = ["agent-bot"]
|
|
gitea_org_filter: str = "meeks"
|
|
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
|
|
AGENT_USERNAMES: list[str] = _agent_settings.agent_usernames
|
|
GITEA_ORG_FILTER: str = _agent_settings.gitea_org_filter
|
|
SEARXNG_URL: str = _agent_settings.searxng_url
|
|
SEARXNG_USERNAME: str = _agent_settings.searxng_username
|
|
SEARXNG_PASSWORD: str = _agent_settings.searxng_password
|