feat(config): chat_path hook and default agents per kind
This commit is contained in:
@@ -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"),
|
||||
),
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user