feat(config): telegram frontend as home of master and branch

This commit is contained in:
hh
2026-08-28 17:57:24 +02:00
parent 28ba2df526
commit 9f47460053
2 changed files with 54 additions and 2 deletions
+17 -2
View File
@@ -15,6 +15,7 @@ from beaver_gateway.frontends.api import ApiFrontend
from beaver_gateway.frontends.base import Frontend
from beaver_gateway.frontends.markdown import MarkdownFrontend
from beaver_gateway.frontends.mcp_server import McpServerFrontend
from beaver_gateway.frontends.telegram import TelegramFrontend
from beaver_gateway.mcp.types import HttpMcp, McpServer, McpServerT
VAULT = Path("/vault")
@@ -216,14 +217,28 @@ def _public(suffix: str) -> str | None:
return f"{PUBLIC_BASE_URL}{suffix}" if PUBLIC_BASE_URL else None
# §3.8: личка с ботом - домашний фронтенд мастера и веток (General и топики).
# Токен и id - секреты gateway, в env процесса модели они не попадают.
TELEGRAM = (
TelegramFrontend(
token=os.environ["TELEGRAM_BOT_TOKEN"],
user_id=int(os.environ["TELEGRAM_USER_ID"]),
master_agent="beaver-dispatcher",
branch_agent="beaver-dispatcher",
)
if os.environ.get("TELEGRAM_BOT_TOKEN")
else None
)
frontends: list[Frontend] = [
*([TELEGRAM] if TELEGRAM is not None else []),
AnthropicMessagesFrontend(
host="0.0.0.0", port=62990, public_base_url=_public("/anthropic")
),
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")),
# §3.9: /api показывает всё; домашний фронтенд мастера/ветки до S5 - он же,
# поэтому дефолтный агент на master/branch живёт здесь, deep - у markdown.
# §3.9: /api показывает всё; дефолт master/branch здесь - запасной на случай
# gateway без телеграма, deep - у markdown.
ApiFrontend(
host="0.0.0.0",
port=62994,