feat(config): telegram frontend as home of master and branch
This commit is contained in:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user