diff --git a/config.py b/config.py index 14bc436..5ea0997 100644 --- a/config.py +++ b/config.py @@ -8,7 +8,7 @@ from beaver_gateway.agents.raycast import RaycastAgent, RemoteTool, UserPreferen from beaver_gateway.core.conversations import ConversationTexts, SeedContext from beaver_gateway.core.prompt import assemble from beaver_gateway.core.registry import Gateway -from beaver_gateway.core.turn_record import TurnRecord, slugify +from beaver_gateway.core.turn_record import slugify from beaver_gateway.frontends.admin import AdminFrontend from beaver_gateway.frontends.anthropic import AnthropicMessagesFrontend from beaver_gateway.frontends.api import ApiFrontend @@ -89,15 +89,12 @@ DEEP_SKILLS = (SKILLS / "общие", SKILLS / "vault") DISPATCHER_SKILLS = (SKILLS / "общие", SKILLS / "диспетчер", SKILLS / "vault") -def chat_log_path(record: TurnRecord, vault: Path) -> Path: +def chat_path(title: str, agent: str, vault: Path) -> Path: # noqa: ARG001 + """Новый файл чата в `💬 чаты/`: помесячная папка, дата и тема.""" today = date.today() - topic = slugify(record.first_user_text, maxlen=60) - rel = ( - CHATS_DIR.relative_to(vault) - / f"{today:%Y-%m}" - / f"{today:%Y-%m-%d} - {topic}.md" + return ( + vault / f"{today:%Y-%m}" / f"{today:%Y-%m-%d} - {slugify(title, maxlen=60)}.md" ) - return vault / rel def _calendar_mcps() -> list[HttpMcp]: @@ -241,14 +238,21 @@ frontends: list[Frontend] = [ ), McpServerFrontend(host="0.0.0.0", port=62991, public_base_url=_public("/mcp")), AdminFrontend(host="0.0.0.0", port=62992, public_base_url=_public("/admin")), - ApiFrontend(host="0.0.0.0", port=62994, public_base_url=_public("/api")), + # §3.9: /api показывает всё; домашний фронтенд мастера/ветки до S5 - он же, + # поэтому дефолтный агент на master/branch живёт здесь, deep - у markdown. + ApiFrontend( + host="0.0.0.0", + port=62994, + public_base_url=_public("/api"), + default_agents={"master": "beaver-dispatcher", "branch": "beaver-dispatcher"}, + ), MarkdownFrontend( host="0.0.0.0", port=62993, vault_path=CHATS_DIR, default_agent="beaver-opus-high", log_all_chats=True, - log_path=chat_log_path, + chat_path=chat_path, public_base_url=_public("/md"), ), ]