mirror of
https://github.com/bytedance/deer-flow.git
synced 2026-05-22 07:56:48 +00:00
edf345cd72
- Freeze all config models (AppConfig + 15 sub-configs) with frozen=True - Purify from_file() — remove 9 load_*_from_dict() side-effect calls - Replace mtime/reload/push/pop machinery with single ContextVar + init_app_config() - Delete 10 sub-module globals and their getters/setters/loaders - Migrate 50+ consumers from get_*_config() to get_app_config().xxx - Expand DeerFlowContext: app_config + thread_id + agent_name (frozen dataclass) - Wire into Gateway runtime (worker.py) and DeerFlowClient via context= parameter - Remove sandbox_id from runtime.context — flows through ThreadState.sandbox only - Middleware/tools access runtime.context directly via Runtime[DeerFlowContext] generic - resolve_context() retained at server entry points for LangGraph Server fallback
24 lines
1.2 KiB
Python
24 lines
1.2 KiB
Python
"""ACP (Agent Client Protocol) agent configuration loaded from config.yaml."""
|
|
|
|
from pydantic import BaseModel, ConfigDict, Field
|
|
|
|
|
|
class ACPAgentConfig(BaseModel):
|
|
"""Configuration for a single ACP-compatible agent."""
|
|
|
|
model_config = ConfigDict(frozen=True)
|
|
|
|
command: str = Field(description="Command to launch the ACP agent subprocess")
|
|
args: list[str] = Field(default_factory=list, description="Additional command arguments")
|
|
env: dict[str, str] = Field(default_factory=dict, description="Environment variables to inject into the agent subprocess. Values starting with $ are resolved from host environment variables.")
|
|
description: str = Field(description="Description of the agent's capabilities (shown in tool description)")
|
|
model: str | None = Field(default=None, description="Model hint passed to the agent (optional)")
|
|
auto_approve_permissions: bool = Field(
|
|
default=False,
|
|
description=(
|
|
"When True, DeerFlow automatically approves all ACP permission requests from this agent "
|
|
"(allow_once preferred over allow_always). When False (default), all permission requests "
|
|
"are denied — the agent must be configured to operate without requesting permissions."
|
|
),
|
|
)
|