chore: no personal addresses or nicks in the repo - machines by MagicDNS name, vibegram identity only from env

This commit is contained in:
hh
2026-09-02 01:33:58 +02:00
parent 51c27e76de
commit 645d000f8d
5 changed files with 16 additions and 12 deletions
+5 -3
View File
@@ -74,6 +74,8 @@ MSOS_MCP=
# На каждой машине: `t3 auth session issue --token-only --ttl 365d --label beaver`
T3_MAC_TOKEN=
T3_DELL_TOKEN=
# tailnet-адрес самого dell: контейнер t3code-mcp иначе резолвит `dell` в 127.0.1.1
T3_DELL_ADDR=
# Токен gateway со scope `api` (admin → Tokens) - им t3code-mcp шлёт события в /hooks/t3code
T3CODE_MCP_GATEWAY_TOKEN=
# Ветка/тег t3code-mcp, из которого собирается образ
@@ -100,12 +102,12 @@ HA_TOKEN=
# Хаб и токен агента: один раз `vibegram join <code> --nick <ник> --no-hooks`
# из клона репы комнаты на любой машине, токен - в ~/.vibegram/config.json
VIBEGRAM_HUB=https://vibegram.example.com
VIBEGRAM_HUB=
VIBEGRAM_TOKEN=
VIBEGRAM_NICK=beaver-test
VIBEGRAM_NICK=
# Репа комнаты (GitHub org/repo) - сервис vibegram-repo держит клон в томе
# `vibegram`, gateway видит его в /vibegram/<repo> только на чтение
VIBEGRAM_REPO=org/room
VIBEGRAM_REPO=
# Токен GitHub с доступом к репе (приватная); пусто - публичная
VIBEGRAM_REPO_TOKEN=
+4 -4
View File
@@ -74,16 +74,16 @@ HA = (
ha = McpServer.python_tool(name="ha", tools=[HA.ha]) if HA else None
ha_exposed = (ExposedMcp(name="ha"),) if HA else ()
VIBEGRAM_REPO = Path("/vibegram") / env("VIBEGRAM_REPO", "x/room").split("/")[-1]
VIBEGRAM_REPO = Path("/vibegram") / env("VIBEGRAM_REPO", "org/room").split("/")[-1]
VIBEGRAM = (
Vibegram(
hub=env("VIBEGRAM_HUB", "https://vibegram.example.com"),
hub=os.environ["VIBEGRAM_HUB"],
token=os.environ["VIBEGRAM_TOKEN"],
nick=env("VIBEGRAM_NICK", "beaver-test"),
nick=os.environ["VIBEGRAM_NICK"],
repo=VIBEGRAM_REPO if VIBEGRAM_REPO.exists() else None,
tz=TZ,
)
if env("VIBEGRAM_TOKEN")
if env("VIBEGRAM_TOKEN") and env("VIBEGRAM_HUB") and env("VIBEGRAM_NICK")
else None
)
"""Комната агентов: диспетчер сидит в ней сам; клон репы комнаты - том `vibegram`."""
+2 -2
View File
@@ -1,8 +1,8 @@
"""вайбграм - комната агентов на хабе, как python_tool.
Хаб - https://vibegram.example.com, протокол - REST с bearer-токеном агента
Хаб - `VIBEGRAM_HUB`, протокол - REST с bearer-токеном агента
(выдан при `vibegram join`, лежит в env gateway и в контекст модели не
попадает). Диспетчер сидит в комнате сам (D1: внутренний контур с соседями),
попадает). Диспетчер сидит в комнате сам (внутренний контур с соседями),
но через перечислимые действия: прочитать новое, написать, кто в комнате,
что занято, план, claim/release, карточка. Один и тот же клиент кормит
крон-проверку (`pending`) и тулзу (`vibegram`).
+3
View File
@@ -102,6 +102,9 @@ services:
# события тредов (завершён / упал / спрашивает) → инжект в мастер (§4.5)
T3CODE_MCP_HOOK_URL: http://gateway:62990/hooks/t3code
T3CODE_MCP_STATE: /data/t3code-mcp.json
extra_hosts:
# контейнер резолвит имя своего хоста в 127.0.1.1 - даём tailnet-адрес явно
- "dell:${T3_DELL_ADDR:?T3_DELL_ADDR=tailnet ip of dell}"
volumes:
- ./t3code.toml:/config/t3code.toml:ro
- t3code-state:/data
+2 -3
View File
@@ -1,6 +1,5 @@
# t3code-mcp (§5): машины с T3 Code и allowlist проектов на каждой.
# Токены - только в .env (T3_MAC_TOKEN, T3_DELL_TOKEN), сюда не писать.
# projects - fnmatch по названию проекта и по его workspace root; "*" - всё (решение h, 2026-08-29).
# Машины с T3 Code и allowlist проектов на каждой. Токены - в .env (T3_*_TOKEN).
# Имена - MagicDNS tailnet'а; `dell` для контейнера прописан через T3_DELL_ADDR.
[machines.mac]
url = "http://mac:3773"