From ed7ffd4461e0e0b450f9248cc3f8b99d14dabc45 Mon Sep 17 00:00:00 2001 From: Simbiot Harness Date: Thu, 1 Oct 2026 08:17:41 +0000 Subject: [PATCH] =?UTF-8?q?docs(keys):=20=D1=80=D0=B5=D0=B5=D1=81=D1=82?= =?UTF-8?q?=D1=80=20=E2=80=94=20push=20=D1=85=D0=B0=D1=80=D0=BD=D0=B5?= =?UTF-8?q?=D1=81=D0=B0=20=D0=B2=20git.cil.by=20(=D0=B0=D1=83=D0=B4=D0=B8?= =?UTF-8?q?=D1=82=20=D0=B8=D1=81=D1=82=D0=BE=D1=80=D0=B8=D0=B8=20=D1=87?= =?UTF-8?q?=D0=B8=D1=81=D1=82),=20FORGEJO=5FPULL=5FTOKEN=20=D0=B2=20/root/?= =?UTF-8?q?coop/.alfa=5Fenv?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/KEYS-REGISTRY.md | 3 +- docs/PORTAL-STRUCTURE.md | 63 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 65 insertions(+), 1 deletion(-) create mode 100644 docs/PORTAL-STRUCTURE.md diff --git a/docs/KEYS-REGISTRY.md b/docs/KEYS-REGISTRY.md index 376b760..adb38d8 100644 --- a/docs/KEYS-REGISTRY.md +++ b/docs/KEYS-REGISTRY.md @@ -9,7 +9,7 @@ |---|---|---|---|---| | `/root/simbiot-harness/.env` | ROUTER_KEY, OPENROUTER_KEY, SIMBIOT_TG_TOKEN, SIMBIOT_TG_ALLOWED, ROUTER/OPENROUTER_BASE_URL | 600 | да (см. §6) | ROUTER_KEY — по политике 9router; TG-токен — при подозрении | | `/etc/simbiot/dashboard.env` | SIMBIOT_DASH_TOKEN (страница + /api/state, порт 8765 **открыт наружу 0.0.0.0**) | 600 | да | при демобилизации дашборда | -| git-история `/root/simbiot-harness` | `.env` с ROUTER_KEY (коммит 6236044) и SIMBIOT_TG_TOKEN (2f758bb) лежит в истории; убран в e6a99ce | — | n/a | **remote нет** → наружу не утёк; перед любым push: purge истории (`git filter-repo`) или ротация ключей | +| git-история `/root/simbiot-harness` | `.env` убран из трекинга (e6a99ce); **01.10 push в приватный репо https://git.cil.by/symbiot/simbiot-harness (3361b67..d39f60f)**: аудит — `.env` в истории отсутствует (0 коммитов), скан sk-/bot/rsh/Bearer по git log -p --all чист. Утечки не было. | — | n/a | токен Forgejo symbiot (9f29709…) — admin-скоп, ротация при компрометации; в репо не хранить | ## 2. Наследие агента Гермес (живое, сервисы active) @@ -32,6 +32,7 @@ | Путь | Что | Права | Примечание | |---|---|---|---| | `/root/coop/.env` | HETZNER_API_TOKEN, STRIPE_(LIVE/TEST)_KEY, STRIPE_WEBHOOK_SECRET, RESEND_API_KEY, HARNESS_TOKEN, TIME_REPORT_TOKEN, SALARY_CRON_TOKEN, STUDIO_ADMIN_KEY, LIVE_MONITOR_TOKEN, MAGIC_SEND_SECRET, GOOGLE_AI_KEY | 600 | ядро биллинга коопа | +| `/root/coop/.alfa_env` (EnvironmentFile coop-portal.service) | FORGEJO_PULL_TOKEN — scoped read-токен Forgejo (simbiot-agent-pull, read:repository): им simbiot-агенты клонируют /root/simbiot-harness с git.cil.by при деплое (simbiot_harness.py) | 600 | ротация: Forgejo → Settings → Applications → удалить и перевыпустить, обновить .alfa_env, рестарт coop-portal | | `/root/rag/.env` | RAG_API_KEY (публичный сервис RAG) | 600 | | | `/root/litellm/.env` | LITELLM_MASTER_KEY, ZAI/KIMI/OLLAMA_API_KEY ×4, POSTGRES_PASSWORD | 600 | | | `/root/9router/.env` | JWT_SECRET, INITIAL_PASSWORD, API_KEY_SECRET, MACHINE_ID_SALT, OLLAMA_CLOUD_API_KEY | 600 (было 644 — исправлено) | сервис слушает **0.0.0.0:20128** | diff --git a/docs/PORTAL-STRUCTURE.md b/docs/PORTAL-STRUCTURE.md new file mode 100644 index 0000000..d611892 --- /dev/null +++ b/docs/PORTAL-STRUCTURE.md @@ -0,0 +1,63 @@ +# Структура портала Simbiot Harness + + +Быстрый структурированный обзор репозитория харнеса: что где лежит, чем живёт, +куда смотреть. Для себя, для новых агентов и для Alex — в текстовом виде, +без диаграмм. + +## Топ-уровень + +| Путь | Что это | +|---|---| +| `cli.py` | CLI харнеса: доска задач, лестница, TG-триаж, эскалации, события | +| `README.md` | Назначение, главная цель (AUM), лестница уровней, события, структура | +| `architecture.html` | HTML-страница архитектуры портала (обзор модулей и связей) | +| `lab42-conditions.html` | HTML с условиями кооператива Lab42 (наполним завтра по тексту задачи) | +| `simbiot-presentation.html` | Слайды о продукте Simbiot | +| `docs/KEYS-REGISTRY.md` | Реестр ключей и секретов хоста (S-таск 30.09) | +| `docs/PORTAL-STRUCTURE.md` | Этот файл — текстовый обзор структуры репо | +| `harness.db`, `events.db`, `simbiot.db`, `tg_inbox.db` | Локальные SQLite-сторы, в git НЕ входят (.gitignore) | +| `.env` | Ключи/секреты локально (0600), в git не входит | + +## harness/ — исполнительное ядро + +| Модуль | Роль | +|---|| +| `es.py` | Event store + проекции (checkpoint + replay), append-only спина | +| `levels.py` | Конфиг уровней: sec/min/hour/day, интервалы, контекст, модели | +| `scheduler.py` | Планировщик тиков, батч-задачи, занятость уровней | +| `_llm_worker.py` | Рабочий LLM-тик уровня, бюджеты (токены/время/шаги) | +| `isolated_runner.py` | Изоляция запуска тиков уровня | +| `runtime.py` | Runtime-конфиг, пути, загрузка .env | +| `commands.py` | Разбор команд чата/CLI | +| `tg_inbox.py` | Входящие TG-сообщения (inbox), батч-триаж | +| `tg_commands.py` | Команды бота (setMyCommands) | +| `dashboard.py` | Веб-дашборд задач (статусы, детали по клику) | +| `voice.py` + `_fw_asr_worker.py` | Транскрипция голосовых | +| `rag_lookup.py` | Семантический поиск по базе кооператива (/root/rag) | +| `proactive.py` | Инициативные реплики в чат | +| `harness.db` | Главный стор харнеса | + +## tests/ — pytest-покрытие + +`test_task_batch` · `test_gate` · `test_inbox_batch` · `test_delivery_idempotency` +· `test_proactive` · `test_rag_lookup` · `test_tg_commands` · `test_tool_budget` · +`test_voice` (см. `tests/`). + +## scripts/ + +`safe-restart.sh` — безопасный рестарт харнеса. + +## git + +Репо ведётся на git.cil.by (Forgejo). В git НЕ входят: `venv/`, `*.db`, +`.env`; `.git` ≈ 60МБ (в т.ч. большие бинарные артефакты в истории — можно +почистить отдельно). + +## Заметки из последних тиков + +- `git log` (последние): + `05555bb` feat(levels): day ctx 1M как у hour — симметрия уровней (Alex) + `e623a10` docs: фиксация главной цели — максимизация долгосрочной AUM (Alex) + `7efe845` feat(levels): часовой контекст ~1M +- Статус git: чисто, один untracked — `lab42-conditions.html`. \ No newline at end of file