754 lines
36 KiB
JSON
754 lines
36 KiB
JSON
{
|
||
"version": 1,
|
||
"updatedAt": "2026-05-05T05:03:32.115Z",
|
||
"entries": {
|
||
"memory:memory/2026-04-05.md:29:55": {
|
||
"key": "memory:memory/2026-04-05.md:29:55",
|
||
"path": "memory/2026-04-05.md",
|
||
"startLine": 29,
|
||
"endLine": 55,
|
||
"source": "memory",
|
||
"snippet": "- Оба сервиса в systemd, восстанавливаются после ребута ## Wi-Fi homenet-vpn для телевизора — статус (05.04.2026, не завершено) ### Что сделано - Создан сегмент `Homenet_vpn` в Keenetic: 192.168.4.0/24, шлюз 192.168.4.1 - VM получила второй NIC `ens19` через Proxmox (VLAN tag 4, vmbr0 с VLAN aware) - `ens19` настроен с IP `192.168.4.1/24` - iptables tproxy правила настроены (перехват трафика из 192.168.4.0/24 → Xray порт 12345) - Xray конфиг обновлён с tproxy inbound ### Проблема: iptables сбрасываются при ребуте Правила не сохранены постоянно! После следующего ребута VM нужно восстановить вручную или настроить iptables-persistent. ### Что нужно проверить на следующей неделе 1. Подключит",
|
||
"recallCount": 1,
|
||
"dailyCount": 0,
|
||
"groundedCount": 0,
|
||
"totalScore": 0.408840736746788,
|
||
"maxScore": 0.408840736746788,
|
||
"firstRecalledAt": "2026-04-10T10:44:01.610Z",
|
||
"lastRecalledAt": "2026-04-10T10:44:01.610Z",
|
||
"queryHashes": [
|
||
"2813a89b3343"
|
||
],
|
||
"recallDays": [
|
||
"2026-04-10"
|
||
],
|
||
"conceptTags": [
|
||
"vlan",
|
||
"wi-fi",
|
||
"homenet-vpn",
|
||
"05.04.2026",
|
||
"192.168.4.0/24",
|
||
"192.168.4.1",
|
||
"192.168.4.1/24",
|
||
"iptables-persistent"
|
||
]
|
||
},
|
||
"memory:memory/2026-04-04.md:10:13": {
|
||
"key": "memory:memory/2026-04-04.md:10:13",
|
||
"path": "memory/2026-04-04.md",
|
||
"startLine": 10,
|
||
"endLine": 13,
|
||
"source": "memory",
|
||
"snippet": "@@ -10,4 @@ (9 before, 53 after) ### Telegram бот в HA - Интеграция `telegram_bot` уже есть, называется **ha542**, состояние `setup_retry` - Проблема: Telegram заблокирован РКН, HA не может достучаться до api.telegram.org",
|
||
"recallCount": 1,
|
||
"dailyCount": 0,
|
||
"groundedCount": 0,
|
||
"totalScore": 0.9,
|
||
"maxScore": 0.9,
|
||
"firstRecalledAt": "2026-04-10T15:37:22.308Z",
|
||
"lastRecalledAt": "2026-04-10T15:37:22.308Z",
|
||
"queryHashes": [
|
||
"e4bf9132fac4"
|
||
],
|
||
"recallDays": [
|
||
"2026-04-10"
|
||
],
|
||
"conceptTags": [
|
||
"telegram-bot",
|
||
"setup-retry",
|
||
"api.telegram.org",
|
||
"10,4",
|
||
"telegram",
|
||
"бот",
|
||
"интеграция",
|
||
"уже"
|
||
]
|
||
},
|
||
"memory:memory/2026-04-10.md:178:181": {
|
||
"key": "memory:memory/2026-04-10.md:178:181",
|
||
"path": "memory/2026-04-10.md",
|
||
"startLine": 178,
|
||
"endLine": 181,
|
||
"source": "memory",
|
||
"snippet": "@@ -178,4 @@ (177 before, 60 after) ### Задача #2: HA Telegram через SOCKS5 прокси **HA:** `ha.homenet542.keenetic.pro`, IP 192.168.2.139, HAOS 17.1, gateway → Keenetic (192.168.2.1)",
|
||
"recallCount": 1,
|
||
"dailyCount": 0,
|
||
"groundedCount": 0,
|
||
"totalScore": 0.88,
|
||
"maxScore": 0.88,
|
||
"firstRecalledAt": "2026-04-10T15:37:22.308Z",
|
||
"lastRecalledAt": "2026-04-10T15:37:22.308Z",
|
||
"queryHashes": [
|
||
"e4bf9132fac4"
|
||
],
|
||
"recallDays": [
|
||
"2026-04-10"
|
||
],
|
||
"conceptTags": [
|
||
"gateway",
|
||
"ha.homenet542.keenetic.pro",
|
||
"192.168.2.139",
|
||
"17.1",
|
||
"192.168.2.1",
|
||
"178,4",
|
||
"задача",
|
||
"telegram"
|
||
]
|
||
},
|
||
"memory:memory/2026-04-11.md:58:61": {
|
||
"key": "memory:memory/2026-04-11.md:58:61",
|
||
"path": "memory/2026-04-11.md",
|
||
"startLine": 58,
|
||
"endLine": 61,
|
||
"source": "memory",
|
||
"snippet": "@@ -58,4 @@ (57 before, 10 after) ## Installer Skill (скилл инсталляции) — 15:09 UTC - **Создан:** `~/.openclaw/skills/installer/` — 12 файлов, полный набор - **Автор:** Dev agent (subagent, gpt-5.4)",
|
||
"recallCount": 1,
|
||
"dailyCount": 0,
|
||
"groundedCount": 0,
|
||
"totalScore": 0.85,
|
||
"maxScore": 0.85,
|
||
"firstRecalledAt": "2026-04-11T22:01:45.557Z",
|
||
"lastRecalledAt": "2026-04-11T22:01:45.557Z",
|
||
"queryHashes": [
|
||
"5f1d60cb2076"
|
||
],
|
||
"recallDays": [
|
||
"2026-04-11"
|
||
],
|
||
"conceptTags": [
|
||
"gpt",
|
||
"openclaw/skills/installer",
|
||
"gpt-5.4",
|
||
"58,4",
|
||
"installer",
|
||
"skill",
|
||
"скилл",
|
||
"инсталляции"
|
||
]
|
||
},
|
||
"memory:memory/2026-04-05.md:30:33": {
|
||
"key": "memory:memory/2026-04-05.md:30:33",
|
||
"path": "memory/2026-04-05.md",
|
||
"startLine": 30,
|
||
"endLine": 33,
|
||
"source": "memory",
|
||
"snippet": "@@ -30,4 @@ (29 before, 22 after) ## Wi-Fi homenet-vpn для телевизора — статус (05.04.2026, не завершено) ### Что сделано",
|
||
"recallCount": 1,
|
||
"dailyCount": 0,
|
||
"groundedCount": 0,
|
||
"totalScore": 0.91,
|
||
"maxScore": 0.91,
|
||
"firstRecalledAt": "2026-04-12T07:34:44.965Z",
|
||
"lastRecalledAt": "2026-04-12T07:34:44.965Z",
|
||
"queryHashes": [
|
||
"0d00d980c05e"
|
||
],
|
||
"recallDays": [
|
||
"2026-04-12"
|
||
],
|
||
"conceptTags": [
|
||
"wi-fi",
|
||
"homenet-vpn",
|
||
"05.04.2026",
|
||
"30,4",
|
||
"homenet",
|
||
"vpn",
|
||
"для",
|
||
"телевизора"
|
||
]
|
||
},
|
||
"memory:memory/2026-04-10.md:1:3": {
|
||
"key": "memory:memory/2026-04-10.md:1:3",
|
||
"path": "memory/2026-04-10.md",
|
||
"startLine": 1,
|
||
"endLine": 3,
|
||
"source": "memory",
|
||
"snippet": "@@ -1,3 @@ (0 before, 369 after) # 2026-04-10 — Настройка Memory Wiki + QMD ## Что делали",
|
||
"recallCount": 1,
|
||
"dailyCount": 0,
|
||
"groundedCount": 0,
|
||
"totalScore": 0.95,
|
||
"maxScore": 0.95,
|
||
"firstRecalledAt": "2026-04-12T15:22:02.828Z",
|
||
"lastRecalledAt": "2026-04-12T15:22:02.828Z",
|
||
"queryHashes": [
|
||
"7913125527de"
|
||
],
|
||
"recallDays": [
|
||
"2026-04-12"
|
||
],
|
||
"conceptTags": [
|
||
"qmd",
|
||
"1,3",
|
||
"настройка",
|
||
"wiki",
|
||
"что",
|
||
"делали"
|
||
]
|
||
},
|
||
"memory:memory/2026-04-09.md:41:44": {
|
||
"key": "memory:memory/2026-04-09.md:41:44",
|
||
"path": "memory/2026-04-09.md",
|
||
"startLine": 41,
|
||
"endLine": 44,
|
||
"source": "memory",
|
||
"snippet": "@@ -41,4 @@ (40 before, 31 after) ## Онтология — RULES.md и правила ведения Создан файл `memory/ontology/RULES.md` — правила ведения онтологии: - Когда использовать (обязательно для проектов/задач)",
|
||
"recallCount": 1,
|
||
"dailyCount": 0,
|
||
"groundedCount": 0,
|
||
"totalScore": 0.91,
|
||
"maxScore": 0.91,
|
||
"firstRecalledAt": "2026-04-16T20:09:33.263Z",
|
||
"lastRecalledAt": "2026-04-16T20:09:33.263Z",
|
||
"queryHashes": [
|
||
"779a3b252d1a"
|
||
],
|
||
"recallDays": [
|
||
"2026-04-16"
|
||
],
|
||
"conceptTags": [
|
||
"rules.md",
|
||
"memory/ontology/rules.md",
|
||
"проектов/задач",
|
||
"41,4",
|
||
"онтология",
|
||
"правила",
|
||
"ведения",
|
||
"создан"
|
||
]
|
||
},
|
||
"memory:memory/2026-04-11.md:34:63": {
|
||
"key": "memory:memory/2026-04-11.md:34:63",
|
||
"path": "memory/2026-04-11.md",
|
||
"startLine": 34,
|
||
"endLine": 63,
|
||
"source": "memory",
|
||
"snippet": "- `Терраса. Освещение 2` — `0xa4c138067335c877/1`, target 59105 - `Дом. Освещение внешнее` — `0xa4c138f3593859ae/1`, target 49383 - `Дом. Обогрев водопровода` — `0xa4c138c65bc3b2f1/1`, target 47271 ### HA логи: - `home-assistant.log.1` — только Dec 2025 (устаревший, после ротации) - `home-assistant.log.fault` — пустой (0 байт) - Актуальные HA логи за апрель 2026 недоступны в текстовых файлах (HAOS — нет journalctl в SSH-шелл) ### Статус анализа: - Задача выполнена частично: Z2M логи проанализированы, HA логи недоступны - Сводный отчёт отправлен Славе в сессии ## Dev agent model update (этот день) - Dev по умолчанию переключён на `anthropic/claude-sonnet-4-6` (вместо `nekocode/gpt-5.4`) -",
|
||
"recallCount": 1,
|
||
"dailyCount": 0,
|
||
"groundedCount": 0,
|
||
"totalScore": 0.5356921090851123,
|
||
"maxScore": 0.5356921090851123,
|
||
"firstRecalledAt": "2026-04-17T04:59:56.267Z",
|
||
"lastRecalledAt": "2026-04-17T04:59:56.267Z",
|
||
"queryHashes": [
|
||
"311572b0121c"
|
||
],
|
||
"recallDays": [
|
||
"2026-04-17"
|
||
],
|
||
"conceptTags": [
|
||
"gpt",
|
||
"0xa4c138067335c877/1",
|
||
"0xa4c138f3593859ae/1",
|
||
"0xa4c138c65bc3b2f1/1",
|
||
"home-assistant.log.1",
|
||
"home-assistant.log.fault",
|
||
"ssh-шелл",
|
||
"anthropic/claude-sonnet-4-6"
|
||
]
|
||
},
|
||
"memory:memory/2026-04-05.md:20:23": {
|
||
"key": "memory:memory/2026-04-05.md:20:23",
|
||
"path": "memory/2026-04-05.md",
|
||
"startLine": 20,
|
||
"endLine": 23,
|
||
"source": "memory",
|
||
"snippet": "@@ -20,4 @@ (19 before, 32 after) ### Доступ к VM vpn-srv - **Команда:** `ssh -i /home/node/.openclaw/ha_ssh_key -p 3322 vpn@185.130.212.192` - **Больше не нужен** reverse SSH туннель вручную!",
|
||
"recallCount": 1,
|
||
"dailyCount": 0,
|
||
"groundedCount": 0,
|
||
"totalScore": 0.93,
|
||
"maxScore": 0.93,
|
||
"firstRecalledAt": "2026-04-17T06:32:00.564Z",
|
||
"lastRecalledAt": "2026-04-17T06:32:00.564Z",
|
||
"queryHashes": [
|
||
"403e75eb0fbf"
|
||
],
|
||
"recallDays": [
|
||
"2026-04-17"
|
||
],
|
||
"conceptTags": [
|
||
"vpn-srv",
|
||
"home/node",
|
||
"openclaw/ha-ssh-key",
|
||
"185.130.212.192",
|
||
"20,4",
|
||
"доступ",
|
||
"vpn",
|
||
"srv"
|
||
]
|
||
},
|
||
"memory:memory/2026-04-14.md:1:28": {
|
||
"key": "memory:memory/2026-04-14.md:1:28",
|
||
"path": "memory/2026-04-14.md",
|
||
"startLine": 1,
|
||
"endLine": 28,
|
||
"source": "memory",
|
||
"snippet": "# Дневник — 2026-04-14 ## Проект BYTIK — создание агента ### Обсуждение со Славой - Слава попросил создать детского помощника \"Байтик\" для Егора (8 лет) - Архитектура: OpenClaw-агент с отдельным workspace, не standalone-приложение - LLM: Qwen 3.6-Plus (OpenRouter) ### Что сделано - Создан агент `bytik` в openclaw.json (id, workspace, модель, tools) - Добавлен binding: `agentId: bytik` → `accountId: bytik` - Настроен Telegram account `bytik` в channels.telegram.accounts - Создан workspace `~/.openclaw/workspace-bytik/`: - `SOUL.md` — личность и границы - `AGENTS.md` — инструкции, whitelist, cron - `IDENTITY.md` — имя, emoji, пол - `USER.md` — про Егора - `MEMOR.md` — долгосрочная",
|
||
"recallCount": 1,
|
||
"dailyCount": 0,
|
||
"groundedCount": 0,
|
||
"totalScore": 0.6130283911988113,
|
||
"maxScore": 0.6130283911988113,
|
||
"firstRecalledAt": "2026-04-25T05:50:55.453Z",
|
||
"lastRecalledAt": "2026-04-25T05:50:55.453Z",
|
||
"queryHashes": [
|
||
"0f60b8d8cec8"
|
||
],
|
||
"recallDays": [
|
||
"2026-04-25"
|
||
],
|
||
"conceptTags": [
|
||
"router",
|
||
"openclaw-агент",
|
||
"standalone-приложение",
|
||
"3.6-plus",
|
||
"openclaw.json",
|
||
"channels.telegram.accounts",
|
||
"openclaw/workspace-bytik",
|
||
"soul.md"
|
||
]
|
||
},
|
||
"memory:memory/2026-04-24.md:21:43": {
|
||
"key": "memory:memory/2026-04-24.md:21:43",
|
||
"path": "memory/2026-04-24.md",
|
||
"startLine": 21,
|
||
"endLine": 43,
|
||
"source": "memory",
|
||
"snippet": "- Фикс `decimal.Decimal / float` → `float(alt_m)` в шумовой модели - Витрина 19.04: 99 рейсов с треком (rtlsdr=92, fa=3, fr24=2) - Создана таблица `fr24_ext.flight_actual` (DDL-миграция на VM) - `FR24_API_KEY=MVM0hi4S7RRh7Dm4EOl1ShpDPc8CrmITXT2LY5y4dd84a62a` добавлен в `.env` на VM - Пагинация flight-summary/full: цикл offset += 20 - UI enrichment: `schedule.html` (13 колонок), `schedule.js`, `main.py` (LEFT JOIN на flight_actual) - DDL-миграция schedule: `fr24_id`, `actual_takeoff`, `actual_landed`, `delay_*`, `flight_category`, `registration` - Задеплоено через `docker cp` → fr24-api, fr24-tracks-fr24, fr24-mart ### In Progress / Pending - Загрузка FR24 flight-summary/full за 2026-04-20 (",
|
||
"recallCount": 2,
|
||
"dailyCount": 0,
|
||
"groundedCount": 0,
|
||
"totalScore": 0.7627217918634415,
|
||
"maxScore": 0.3955423265695572,
|
||
"firstRecalledAt": "2026-04-25T09:55:48.033Z",
|
||
"lastRecalledAt": "2026-04-25T09:57:24.355Z",
|
||
"queryHashes": [
|
||
"3093ccbb7ccc",
|
||
"494104edf81c"
|
||
],
|
||
"recallDays": [
|
||
"2026-04-25"
|
||
],
|
||
"conceptTags": [
|
||
"decimal.decimal",
|
||
"alt-m",
|
||
"19.04",
|
||
"fr24-ext.flight-actual",
|
||
"ddl-миграция",
|
||
"fr24-api-key",
|
||
"flight-summary/full",
|
||
"schedule.html"
|
||
]
|
||
},
|
||
"memory:memory/2026-04-24.md:1:25": {
|
||
"key": "memory:memory/2026-04-24.md:1:25",
|
||
"path": "memory/2026-04-24.md",
|
||
"startLine": 1,
|
||
"endLine": 25,
|
||
"source": "memory",
|
||
"snippet": "# 2026-04-24 — Memory Flush (pre-compaction) ## Урок: как я спалила кредиты FR24 (разбор ошибок) Перед запуском FR24 API на боевых кредитах нужно было: 1. **Проверить total** — многие API возвращают `total` или `X-Total-Count`. У FR24 не проверила, не знала сколько записей ожидать 2. **Тест с одним аэропортом** — `departure:SVO` вместо `both:SVO,both:DME,both:VKO,both:ZIA`. Посмотреть сколько страниц, умножить на кредиты 3. **Понять что значит `both:`** — включает коммерческое + частное + грузовое + военное по всем 4 аэропортам. Я предположила ~1500 рейсов как у Яндекса, но не проверила 4. **Посчитать бюджет заранее** — 44 800 ÷ 3 = ~14 900 рейсов максимум. Можно было поставить `MAX_PAGES",
|
||
"recallCount": 1,
|
||
"dailyCount": 0,
|
||
"groundedCount": 0,
|
||
"totalScore": 0.3846299439668655,
|
||
"maxScore": 0.3846299439668655,
|
||
"firstRecalledAt": "2026-04-25T09:55:48.033Z",
|
||
"lastRecalledAt": "2026-04-25T09:55:48.033Z",
|
||
"queryHashes": [
|
||
"3093ccbb7ccc"
|
||
],
|
||
"recallDays": [
|
||
"2026-04-25"
|
||
],
|
||
"conceptTags": [
|
||
"pre-compaction",
|
||
"x-total-count",
|
||
"max-pages",
|
||
"flush",
|
||
"pre",
|
||
"compaction",
|
||
"урок",
|
||
"как"
|
||
]
|
||
},
|
||
"memory:memory/2026-04-20.md:1:30": {
|
||
"key": "memory:memory/2026-04-20.md:1:30",
|
||
"path": "memory/2026-04-20.md",
|
||
"startLine": 1,
|
||
"endLine": 30,
|
||
"source": "memory",
|
||
"snippet": "# 2026-04-20 — Дневник ## Проект: FR24 / Noisemap — Фаза 2, Шаг 2 ### БТ финализировано - Файл: `tasks/flightradar24/docs/PHASE2_STEP2_DATA_MART.md` - FR24 API: `Flight tracks`, 40 кредитов/рейс, только по команде, T-1, SVO/DME/VKO/ZIA - FlightAware AeroAPI: только треки, ключ `7qMijd3b3gVudezng3eVhKtup8iKFr75` сохранён в `.env` как `FLIGHTAWARE_API_KEY` - Витрина `fr24_mart`: приоритет RTL-SDR > FR24 > FlightAware, источник в каждой записи - Шумовая модель: из прототипа, зоны 2/5/7/9 км (граница \"Низкий\" изменена 11→9 км) - Отложено: цена FlightAware Standard, глубина исторической загрузки FR24 ### FlightAware — тестирование ключа - Ключ `7qMijd3b3gVudezng3eVhKtup8iKFr75` протестирован и",
|
||
"recallCount": 1,
|
||
"dailyCount": 0,
|
||
"groundedCount": 0,
|
||
"totalScore": 0.38251920640468595,
|
||
"maxScore": 0.38251920640468595,
|
||
"firstRecalledAt": "2026-04-25T09:55:48.033Z",
|
||
"lastRecalledAt": "2026-04-25T09:55:48.033Z",
|
||
"queryHashes": [
|
||
"3093ccbb7ccc"
|
||
],
|
||
"recallDays": [
|
||
"2026-04-25"
|
||
],
|
||
"conceptTags": [
|
||
"кредитов/рейс",
|
||
"t-1",
|
||
"svo/dme/vko/zia",
|
||
"flightaware-api-key",
|
||
"fr24-mart",
|
||
"rtl-sdr",
|
||
"2/5/7/9",
|
||
"дневник"
|
||
]
|
||
},
|
||
"memory:memory/2026-04-20.md:24:41": {
|
||
"key": "memory:memory/2026-04-20.md:24:41",
|
||
"path": "memory/2026-04-20.md",
|
||
"startLine": 24,
|
||
"endLine": 41,
|
||
"source": "memory",
|
||
"snippet": "- `ingest/tracks_fa/` — воркер FlightAware треков (порт 8002) - `ingest/mart/` — воркер витрины + шумовая модель, noise_grid по round(lat,2) - `frontend/static/data_sources.html` + `data_sources.js` - `docker-compose.yml` — 3 новых сервиса - `frontend/main.py` — `/data-sources` + 5 API эндпоинтов ### Деплой на VM (fr24, 192.168.2.67) - DDL `005_schema_tracks.sql` применён через `docker exec fr24-postgres psql` - Контейнеры `fr24-tracks-fr24` (8001), `fr24-tracks-fa` (8002), `fr24-mart` — собраны и запущены, все healthy - Обнаружена ошибка в `main.py` (frontend): колонка `flight_date` vs `coverage_date` в `fr24_mart.source_coverage` - Фикс задеплоен, api пересобран ### Открытые задачи на за",
|
||
"recallCount": 1,
|
||
"dailyCount": 0,
|
||
"groundedCount": 0,
|
||
"totalScore": 0.3795589625835418,
|
||
"maxScore": 0.3795589625835418,
|
||
"firstRecalledAt": "2026-04-25T09:55:48.033Z",
|
||
"lastRecalledAt": "2026-04-25T09:55:48.033Z",
|
||
"queryHashes": [
|
||
"3093ccbb7ccc"
|
||
],
|
||
"recallDays": [
|
||
"2026-04-25"
|
||
],
|
||
"conceptTags": [
|
||
"ingest/tracks-fa",
|
||
"ingest/mart",
|
||
"noise-grid",
|
||
"data-sources.js",
|
||
"docker-compose.yml",
|
||
"frontend/main.py",
|
||
"data-sources",
|
||
"192.168.2.67"
|
||
]
|
||
},
|
||
"memory:memory/2026-04-21.md:63:93": {
|
||
"key": "memory:memory/2026-04-21.md:63:93",
|
||
"path": "memory/2026-04-21.md",
|
||
"startLine": 63,
|
||
"endLine": 93,
|
||
"source": "memory",
|
||
"snippet": "1. **DDL fix**: `origin_icao`/`destination_icao` VARCHAR(5)→VARCHAR(20) — FA API возвращает координаты (`L 55.61740 39.72253`) вместо ICAO; применена миграция на VM 2. **fa_worker.py**: добавлена функция `_icao_or_none()` — фильтрует нестандартные значения 3. **build_mart.py**: - Добавлен словарь `AIRLINE_IATA_TO_ICAO` + конвертация callsign из flight_number - Добавлен числовой матч по `ident_iata` для FA рейсов - Расширен словарь `ICAO_TO_IATA` аэропортов - Фикс `decimal.Decimal / float` → `float(alt_m)` в шумовой модели ### Результат витрины 19.04.2026: - ✅ **91 рейс с RTL-SDR треком** (было 0) - 9 042 точек трека - 167 ячеек шумовой сетки - Покрытие: **11.7%** от расписания -",
|
||
"recallCount": 2,
|
||
"dailyCount": 0,
|
||
"groundedCount": 0,
|
||
"totalScore": 0.6824049293994903,
|
||
"maxScore": 0.36978600025177,
|
||
"firstRecalledAt": "2026-04-25T09:55:48.033Z",
|
||
"lastRecalledAt": "2026-04-26T07:04:02.188Z",
|
||
"queryHashes": [
|
||
"3093ccbb7ccc",
|
||
"f224f6a02885"
|
||
],
|
||
"recallDays": [
|
||
"2026-04-25",
|
||
"2026-04-26"
|
||
],
|
||
"conceptTags": [
|
||
"origin-icao",
|
||
"destination-icao",
|
||
"55.61740",
|
||
"39.72253",
|
||
"fa-worker.py",
|
||
"icao-or-none",
|
||
"build-mart.py",
|
||
"airline-iata-to-icao"
|
||
]
|
||
},
|
||
"memory:memory/2026-04-21.md:32:66": {
|
||
"key": "memory:memory/2026-04-21.md:32:66",
|
||
"path": "memory/2026-04-21.md",
|
||
"startLine": 32,
|
||
"endLine": 66,
|
||
"source": "memory",
|
||
"snippet": "- Остаток: **50 486** из 120 000 (промо Explorer) - Потрачено: ~69 514 за прошлые загрузки - Стоимость загрузки трека: ~2 кредиты за summaries, потом per-track - Хватит на ~1 260 рейсов (40 кредитов/рейс) ## FR24 Track — первый тест загрузки - Рейс: **SU6807 / FV6807 (SDM6807)** от 01.04.2026 - fr24_id: `3f0161d3`, борт SU95 RA-89131 - Маршрут: UUEE (Шереметьево) → ULLI (Пулково) - Взлёт: 31.03 21:16:27 UTC, посадка: 31.03 22:13:01 UTC - **1056 точек трека** загружено (ADSB: 17, MLAT: 1039) - Высоты: 0 – 34 025 ft - Загружено вручную через API + SQL INSERT в `fr24_ext.fr24_tracks` + `fr24_mart.flight_tracks` - Важно: сервис `fr24-tracks-fr24` загружает ВСЕ рейсы за дату через `iter_flight_s",
|
||
"recallCount": 2,
|
||
"dailyCount": 0,
|
||
"groundedCount": 0,
|
||
"totalScore": 0.7031851530075073,
|
||
"maxScore": 0.36804868578910827,
|
||
"firstRecalledAt": "2026-04-25T09:55:48.033Z",
|
||
"lastRecalledAt": "2026-04-26T07:04:02.188Z",
|
||
"queryHashes": [
|
||
"3093ccbb7ccc",
|
||
"f224f6a02885"
|
||
],
|
||
"recallDays": [
|
||
"2026-04-25",
|
||
"2026-04-26"
|
||
],
|
||
"conceptTags": [
|
||
"per-track",
|
||
"кредитов/рейс",
|
||
"01.04.2026",
|
||
"fr24-id",
|
||
"ra-89131",
|
||
"31.03",
|
||
"fr24-ext.fr24-tracks",
|
||
"fr24-mart.flight-tracks"
|
||
]
|
||
},
|
||
"memory:memory/2026-03-30.md:26:61": {
|
||
"key": "memory:memory/2026-03-30.md:26:61",
|
||
"path": "memory/2026-03-30.md",
|
||
"startLine": 26,
|
||
"endLine": 61,
|
||
"source": "memory",
|
||
"snippet": "- Модель должна быть В allowlist `agents.defaults.models` ПЕРЕД установкой в primary - Формат ключа: полный ID с префиксом провайдера (`claudeapi/claude-sonnet-4-6`) - После изменений — перезапуск контейнера: `docker restart openclaw-gateway` --- ## Проект RTL-SDR ADS-B (POC) ### Статус - RTL-SDR Blog V4 работает на Windows машине Славы - Создан POC-скрипт `decode.py` (лежит на Windows: `C:\\Users\\mva15\\Downloads\\Release radar\\x64\\`) - Стек: `rtl_adsb.exe` → Python pyModeS → HTTP сервер → OpenLayers 10 карта - URL локально: `http://localhost:8080/` ### Что работает - ✅ Приём ADS-B на 1090 МГц через RTL-SDR Blog V4 - ✅ Декодирование позиций: `position_with_ref` (основной) + глобальный CPR",
|
||
"recallCount": 1,
|
||
"dailyCount": 0,
|
||
"groundedCount": 0,
|
||
"totalScore": 0.33961203694343567,
|
||
"maxScore": 0.33961203694343567,
|
||
"firstRecalledAt": "2026-04-26T07:04:02.188Z",
|
||
"lastRecalledAt": "2026-04-26T07:04:02.188Z",
|
||
"queryHashes": [
|
||
"f224f6a02885"
|
||
],
|
||
"recallDays": [
|
||
"2026-04-26"
|
||
],
|
||
"conceptTags": [
|
||
"gateway",
|
||
"agents.defaults.models",
|
||
"claudeapi/claude-sonnet-4-6",
|
||
"openclaw-gateway",
|
||
"rtl-sdr",
|
||
"ads-b",
|
||
"poc-скрипт",
|
||
"decode.py"
|
||
]
|
||
},
|
||
"memory:memory/2026-04-19.md:135:145": {
|
||
"key": "memory:memory/2026-04-19.md:135:145",
|
||
"path": "memory/2026-04-19.md",
|
||
"startLine": 135,
|
||
"endLine": 145,
|
||
"source": "memory",
|
||
"snippet": "- `pgrep` нет в python:3.11-slim → healthcheck только через файлы (`test -f /tmp/ready`) или Python urllib - Dev-агент запускается без явного `model` параметра — берёт из своего конфига ### Статус проекта FR24 - ✅ Step 1: стек + PostgreSQL - ✅ Step 2: реальный ADS-B через dump1090 - ✅ Step 3: Leaflet карта - ✅ Step 4: мониторинг + backup - ✅ Step 5: мониторинг дашборд (monitoring.html) - 🔜 Step 6: кластеризация маркеров (Leaflet.markercluster)",
|
||
"recallCount": 1,
|
||
"dailyCount": 0,
|
||
"groundedCount": 0,
|
||
"totalScore": 0.32212974429130553,
|
||
"maxScore": 0.32212974429130553,
|
||
"firstRecalledAt": "2026-04-26T07:04:02.188Z",
|
||
"lastRecalledAt": "2026-04-26T07:04:02.188Z",
|
||
"queryHashes": [
|
||
"f224f6a02885"
|
||
],
|
||
"recallDays": [
|
||
"2026-04-26"
|
||
],
|
||
"conceptTags": [
|
||
"backup",
|
||
"3.11-slim",
|
||
"tmp/ready",
|
||
"dev-агент",
|
||
"ads-b",
|
||
"monitoring.html",
|
||
"leaflet.markercluster",
|
||
"pgrep"
|
||
]
|
||
},
|
||
"memory:memory/2026-03-30.md:53:83": {
|
||
"key": "memory:memory/2026-03-30.md:53:83",
|
||
"path": "memory/2026-03-30.md",
|
||
"startLine": 53,
|
||
"endLine": 83,
|
||
"source": "memory",
|
||
"snippet": "- Аэропортовый трафик (низкие высоты) ловится плохо без внешней антенны - msgs: 1 у большинства → на краю зоны приёма ### Антенна - Оптимальная длина для 1090 МГц: **6.9 см** каждое плечо диполя - RTL-SDR Blog V4 поставил у окна - Для пром-решения нужна специализированная ADS-B антенна (FA или RTL-SDR Blog ADS-B) ### Технические нюансы - dump1090 из Dump1090-windows-exe-main НЕ работает с V4 напрямую (`modeS_init_RTLSDR(): rc: 1`) - `rtl_tcp.exe` из RTL-SDR Blog release — работает с V4 - Флаг `-g 49.6` ломает `rtl_adsb.exe` (0 бортов) - Правильный запуск: `rtl_adsb.exe` без флагов (автогейн) ### Бэклог нойзмэп (обновлён) - [ ] **RTL-SDR Blog V4 — пром решение** (новый пункт) — купить ADS-",
|
||
"recallCount": 1,
|
||
"dailyCount": 0,
|
||
"groundedCount": 0,
|
||
"totalScore": 0.3143289566040039,
|
||
"maxScore": 0.3143289566040039,
|
||
"firstRecalledAt": "2026-04-26T07:04:02.188Z",
|
||
"lastRecalledAt": "2026-04-26T07:04:02.188Z",
|
||
"queryHashes": [
|
||
"f224f6a02885"
|
||
],
|
||
"recallDays": [
|
||
"2026-04-26"
|
||
],
|
||
"conceptTags": [
|
||
"6.9",
|
||
"rtl-sdr",
|
||
"пром-решения",
|
||
"ads-b",
|
||
"dump1090-windows-exe-main",
|
||
"modes-init-rtlsdr",
|
||
"rtl-tcp.exe",
|
||
"49.6"
|
||
]
|
||
},
|
||
"memory:memory/2026-04-11.md:62:71": {
|
||
"key": "memory:memory/2026-04-11.md:62:71",
|
||
"path": "memory/2026-04-11.md",
|
||
"startLine": 62,
|
||
"endLine": 71,
|
||
"source": "memory",
|
||
"snippet": "- **Скрипты:** backup.sh, checker.sh, lib.sh, manager.sh, rollback.sh, session.sh, ssh_exec.sh, verify.sh + yaml_get.js - **Проверка Стрим (15:15 UTC):** ✅ синтаксис всех 8 bash-скриптов чистый, параметры.yaml читается, ключевые механизмы (force_lock, jq_compact через node, ssh_exec таймауты, checker 5 уровней) — всё корректно - **checker.sh выдаёт ошибки по секретам** — это нормально, `.env` ещё не заполнен (нужны MVA154_PASSWORD, RUVPN_SSH_KEY, HA_SSH_KEY, LOCALHOST_SUDO_PASS) ### Хосты в parameters.yaml: - `mva154` — по паролю (ssh key + sudo password) - `ruvpn-srv` — по SSH-ключу - `ha` — по SSH-ключу - `localhost` — localhost (sudo: false)",
|
||
"recallCount": 1,
|
||
"dailyCount": 0,
|
||
"groundedCount": 0,
|
||
"totalScore": 0.3638544976711273,
|
||
"maxScore": 0.3638544976711273,
|
||
"firstRecalledAt": "2026-04-26T10:54:35.677Z",
|
||
"lastRecalledAt": "2026-04-26T10:54:35.677Z",
|
||
"queryHashes": [
|
||
"b59ab7ef7777"
|
||
],
|
||
"recallDays": [
|
||
"2026-04-26"
|
||
],
|
||
"conceptTags": [
|
||
"backup",
|
||
"backup.sh",
|
||
"checker.sh",
|
||
"lib.sh",
|
||
"manager.sh",
|
||
"rollback.sh",
|
||
"session.sh",
|
||
"ssh-exec.sh"
|
||
]
|
||
},
|
||
"memory:memory/2026-05-02.md:107:142": {
|
||
"key": "memory:memory/2026-05-02.md:107:142",
|
||
"path": "memory/2026-05-02.md",
|
||
"startLine": 107,
|
||
"endLine": 142,
|
||
"source": "memory",
|
||
"snippet": "- [ ] Обновить онтологию для проекта enduro-trails ## Enduro Trails — ревью прототипа (12:53 UTC) - Слава попросил ревью — после серии горячих фиксов (clip_by_rect, y_coord_down, swap lat/lon) код запутан - TODO: провести полное ревью app.py и index.html # 2026-05-02 — Дневник ## Enduro Trails — отладка прототипа (утро) ### Что делали Долгая отладка карты грунтовок ЦФО на http://82.22.50.71:5558 ### Проблемы и решения #### 1. style.json не грузился (404 на /static/style.json) - Путь в index.html был `/static/style.json`, а сервер отдаёт `/style.json` - Исправлено: путь исправлен на `/style.json` #### 2. Шрифты — demotiles.maplibre.org отдавал 404 - MapLibre зависал при инициализации -",
|
||
"recallCount": 1,
|
||
"dailyCount": 0,
|
||
"groundedCount": 0,
|
||
"totalScore": 0.375397714972496,
|
||
"maxScore": 0.375397714972496,
|
||
"firstRecalledAt": "2026-05-04T06:57:05.721Z",
|
||
"lastRecalledAt": "2026-05-04T06:57:05.721Z",
|
||
"queryHashes": [
|
||
"af0cb8f00b60"
|
||
],
|
||
"recallDays": [
|
||
"2026-05-04"
|
||
],
|
||
"conceptTags": [
|
||
"enduro-trails",
|
||
"clip-by-rect",
|
||
"y-coord-down",
|
||
"lat/lon",
|
||
"app.py",
|
||
"index.html",
|
||
"82.22.50.71",
|
||
"style.json"
|
||
]
|
||
},
|
||
"memory:memory/2026-05-02.md:86:117": {
|
||
"key": "memory:memory/2026-05-02.md:86:117",
|
||
"path": "memory/2026-05-02.md",
|
||
"startLine": 86,
|
||
"endLine": 117,
|
||
"source": "memory",
|
||
"snippet": "- \"Опять пляшут\" / \"Ещё как прыгают!!!\" — подтверждение что проблема не решена - Ключевое наблюдение Славы: **\"Треки же отражают дорогу, почему они смещаются\"** — треки из OSM должны идеально ложиться на OSM подложку ### Диагностика - Удаление `clip_by_rect` НЕ помогло — треки продолжали прыгать - Причина: без клиппинга геометрия выходит за `quantize_bounds`, координаты >4096 ломают MapLibre - **Найден корневой баг**: в WKB геометрии из БД координаты хранятся как `(lat, lon)`, а `wkb_to_coords()` читала их как `(lon, lat)`. Широта и долгота были перепутаны! ### Фикс (12:07 UTC) - В `wkb_to_coords()`: `lat, lon = struct.unpack_from('<dd', data, offset)` → `coords.append((lon, lat))` - Раньш",
|
||
"recallCount": 1,
|
||
"dailyCount": 0,
|
||
"groundedCount": 0,
|
||
"totalScore": 0.3636188447475433,
|
||
"maxScore": 0.3636188447475433,
|
||
"firstRecalledAt": "2026-05-04T06:57:05.721Z",
|
||
"lastRecalledAt": "2026-05-04T06:57:05.721Z",
|
||
"queryHashes": [
|
||
"af0cb8f00b60"
|
||
],
|
||
"recallDays": [
|
||
"2026-05-04"
|
||
],
|
||
"conceptTags": [
|
||
"clip-by-rect",
|
||
"quantize-bounds",
|
||
"wkb-to-coords",
|
||
"struct.unpack-from",
|
||
"coords.append",
|
||
"опять",
|
||
"пляшут",
|
||
"ещё"
|
||
]
|
||
},
|
||
"memory:memory/2026-05-03.md:1:36": {
|
||
"key": "memory:memory/2026-05-03.md:1:36",
|
||
"path": "memory/2026-05-03.md",
|
||
"startLine": 1,
|
||
"endLine": 36,
|
||
"source": "memory",
|
||
"snippet": "# 2026-05-03 — Дневник Стрим ## Enduro Trails — большой день ### Что сделали сегодня **Фикс путей и деплой:** - Исправлены абсолютные пути `/app.css`, `/app.js` → относительные в `index.html` - Карта заработала через HTTPS `https://openclaw.mva154.duckdns.org/enduro/` - Геолокация работает **Стиль карты:** - Тропы (path/footway/bridleway) → красный пунктир `#cc0000` - Слой `trails-asphalt` скрыт (visibility: none, opacity: 0) - Легенда обновлена: Lev1-2 / Lev3-5 / Тропа (асфальт убран) - Порядок легенды: Lev1-2 → Lev3-5 → Тропа - Раскраска треков: Lev1-2 жёлтый (#FFD700), Lev3-5 красный (#FF4400), толщина одинаковая - Подложка: raster-saturation -0.3, raster-contrast 0.2 (лучше читаются",
|
||
"recallCount": 1,
|
||
"dailyCount": 0,
|
||
"groundedCount": 0,
|
||
"totalScore": 0.3552299261093139,
|
||
"maxScore": 0.3552299261093139,
|
||
"firstRecalledAt": "2026-05-04T06:57:05.721Z",
|
||
"lastRecalledAt": "2026-05-04T06:57:05.721Z",
|
||
"queryHashes": [
|
||
"af0cb8f00b60"
|
||
],
|
||
"recallDays": [
|
||
"2026-05-04"
|
||
],
|
||
"conceptTags": [
|
||
"app.css",
|
||
"app.js",
|
||
"index.html",
|
||
"path/footway/bridleway",
|
||
"trails-asphalt",
|
||
"lev1-2",
|
||
"lev3-5",
|
||
"raster-saturation"
|
||
]
|
||
},
|
||
"memory:memory/2026-05-04.md:1:30": {
|
||
"key": "memory:memory/2026-05-04.md:1:30",
|
||
"path": "memory/2026-05-04.md",
|
||
"startLine": 1,
|
||
"endLine": 30,
|
||
"source": "memory",
|
||
"snippet": "# 2026-05-04 — Дневник Стрим ## Enduro Trails — Фаза 3 «Умный маршрут» ### Что делали Полная реализация Фазы 3: BRD, тест-кейсы, реализация, тестирование, баг-фиксы. ### Документы созданы - `tasks/enduro-trails/BRD_PHASE3.md` — бизнес-требования (6 фич, согласовано со Славой) - `tasks/enduro-trails/TEST_CASES_PHASE3.md` — 56 тест-кейсов - `tasks/enduro-trails/DEV_TASK_PHASE3.md` — ТЗ для Dev-агента - `tasks/ui-testing/PROJECT.md` — проект UI-тестирования (Playwright/Puppeteer на mva154) - `tasks/ui-testing/README.md` — как запустить - `tasks/ui-testing/tests/enduro-phase3.js` — 56 TC в Playwright-скрипте - `tasks/ui-testing/tests/template.js` — шаблон для новых проектов - `tasks/ui-testin",
|
||
"recallCount": 1,
|
||
"dailyCount": 0,
|
||
"groundedCount": 0,
|
||
"totalScore": 0.40014922022819516,
|
||
"maxScore": 0.40014922022819516,
|
||
"firstRecalledAt": "2026-05-05T05:03:32.115Z",
|
||
"lastRecalledAt": "2026-05-05T05:03:32.115Z",
|
||
"queryHashes": [
|
||
"14db74d1ec5d"
|
||
],
|
||
"recallDays": [
|
||
"2026-05-05"
|
||
],
|
||
"conceptTags": [
|
||
"тест-кейсы",
|
||
"баг-фиксы",
|
||
"бизнес-требования",
|
||
"тест-кейсов",
|
||
"dev-агента",
|
||
"tasks/ui-testing/project.md",
|
||
"ui-тестирования",
|
||
"playwright/puppeteer"
|
||
]
|
||
}
|
||
}
|
||
}
|