Skip to content

Config

freeact.config.PersistentConfig pydantic-model

Bases: BaseModel

Base class for JSON-persisted configuration models.

Subclasses set _config_filename to their JSON filename and override model_post_init / _save_sync for domain-specific logic.

Config:

  • extra: forbid
  • validate_assignment: True
  • frozen: True

Fields:

  • working_dir (Path)

init async classmethod

init(working_dir: Path | None = None) -> Self

Load config when present, otherwise save defaults.

load async classmethod

load(working_dir: Path | None = None) -> Self

Load persisted config if present, otherwise return defaults.

save async

save() -> None

Persist config to the .freeact/ directory.

freeact.agent.config.Config pydantic-model

Bases: PersistentConfig

Agent configuration.

Config:

  • arbitrary_types_allowed: True

Fields:

freeact.agent.config.SkillMetadata pydantic-model

Bases: BaseModel

Metadata parsed from a skill's SKILL.md frontmatter.

Config:

  • frozen: True

Fields:

freeact.agent.config.DEFAULT_MODEL_NAME module-attribute

DEFAULT_MODEL_NAME = 'google-gla:gemini-3-flash-preview'

freeact.agent.config.DEFAULT_MODEL_SETTINGS module-attribute

DEFAULT_MODEL_SETTINGS: dict[str, Any] = {
    "google_thinking_config": {
        "thinking_level": "high",
        "include_thoughts": True,
    }
}

freeact.agent.config.BASIC_SEARCH_MCP_SERVER_CONFIG module-attribute

BASIC_SEARCH_MCP_SERVER_CONFIG: dict[str, Any] = {
    "command": "python",
    "args": ["-m", "freeact.tools.pytools.search.basic"],
    "env": {"PYTOOLS_DIR": "${PYTOOLS_DIR}"},
}

freeact.agent.config.HYBRID_SEARCH_MCP_SERVER_CONFIG module-attribute

HYBRID_SEARCH_MCP_SERVER_CONFIG: dict[str, Any] = {
    "command": "python",
    "args": ["-m", "freeact.tools.pytools.search.hybrid"],
    "env": {
        "GEMINI_API_KEY": "${GEMINI_API_KEY}",
        "PYTOOLS_DIR": "${PYTOOLS_DIR}",
        "PYTOOLS_DB_PATH": "${PYTOOLS_DB_PATH}",
        "PYTOOLS_EMBEDDING_MODEL": "${PYTOOLS_EMBEDDING_MODEL}",
        "PYTOOLS_EMBEDDING_DIM": "${PYTOOLS_EMBEDDING_DIM}",
        "PYTOOLS_SYNC": "${PYTOOLS_SYNC}",
        "PYTOOLS_WATCH": "${PYTOOLS_WATCH}",
        "PYTOOLS_BM25_WEIGHT": "${PYTOOLS_BM25_WEIGHT}",
        "PYTOOLS_VEC_WEIGHT": "${PYTOOLS_VEC_WEIGHT}",
    },
}

freeact.agent.config.GOOGLE_SEARCH_MCP_SERVER_CONFIG module-attribute

GOOGLE_SEARCH_MCP_SERVER_CONFIG: dict[str, Any] = {
    "command": "python",
    "args": [
        "-m",
        "freeact.tools.gsearch",
        "--thinking-level",
        "medium",
    ],
    "env": {"GEMINI_API_KEY": "${GEMINI_API_KEY}"},
}

freeact.agent.config.FILESYSTEM_MCP_SERVER_CONFIG module-attribute

FILESYSTEM_MCP_SERVER_CONFIG: dict[str, Any] = {
    "command": "python",
    "args": ["-m", "freeact.tools.filesystem"],
}

freeact.agent.config.FETCH_MCP_SERVER_CONFIG module-attribute

FETCH_MCP_SERVER_CONFIG: dict[str, Any] = {
    "command": "python",
    "args": ["-m", "freeact.tools.fetch"],
    "env": {},
}