48 lines
1.9 KiB
Python
48 lines
1.9 KiB
Python
"""Сборка gateway для Бобра. Что где: пакет `beaver_agent/`.
|
|
|
|
- vault.py - пути и зона агента; prompts.py - как из гранул собирается промпт роли;
|
|
- skills.py - наборы скиллов по окнам; policy.py - что можно трогать в vault;
|
|
- hands/ - MCP-руки и кому какая выдана; agents.py - роли и их экземпляры;
|
|
- frontends.py - окна; voice/ - голосовые точки по квартире и их ветка;
|
|
- texts.py - всё, что gateway говорит, по-русски;
|
|
- memory/ - справка, реплики, хендауты, вотчер, куратор; jobs/ - кроны и вебхуки.
|
|
"""
|
|
|
|
import os
|
|
|
|
from beaver_gateway.config import Gateway
|
|
from beaver_gateway.conversations.distill import Distiller
|
|
from beaver_gateway.conversations.rotation import RotationPolicy
|
|
from beaver_gateway.jobs.scheduler import Budget
|
|
|
|
from beaver_agent import texts
|
|
from beaver_agent.agents import agents
|
|
from beaver_agent.frontends import frontends
|
|
from beaver_agent.hands import mcps
|
|
from beaver_agent.jobs import jobs
|
|
from beaver_agent.memory.watch import recall, replies, watch
|
|
from beaver_agent.vault import DIGESTS, INDEX, TZ
|
|
|
|
gateway = Gateway(
|
|
agents=agents,
|
|
mcps=mcps,
|
|
frontends=frontends,
|
|
texts=texts.CONVERSATIONS,
|
|
jobs=jobs,
|
|
rotation=RotationPolicy(tz=TZ, max_context_tokens=500_000),
|
|
watch=watch,
|
|
recall=recall.block,
|
|
user_sink=replies.write,
|
|
budget=Budget(threshold=0.7),
|
|
distiller=Distiller(
|
|
agent="beaver-distiller",
|
|
dir=DIGESTS,
|
|
index=INDEX,
|
|
type="выжимка",
|
|
index_header="# индекс\n\nстрока на выжимку: чат → его выжимка.\n",
|
|
),
|
|
tz=TZ,
|
|
port=62990,
|
|
public_url=os.environ.get("PUBLIC_BASE_URL", "").rstrip("/") or None,
|
|
)
|