Synaplan
開源 AI 平台,供企業使用:自行託管的 AI 代理、符合 GDPR 的聊天機器人小工具、RAG 知識庫、WhatsApp 與 Outlook AI、MCP、多模型路由。Docker、Kubernetes 或託管於 Germ
AI 翻譯
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗Источник витрины — bare-репозиторий /volume1/Gromoz/CargoLogSite/Git/CargoLogSite.git на NAS, рабочий клон — /volume1/Gromoz/CargoLogSite/work.
Любое устройство клонирует оттуда (ssh://[email protected]/volume1/Gromoz/CargoLogSite/Git/CargoLogSite.git, ПК — F:\CargoLogSite,
мак — ~/dev/cargologsite) и пушит в main обратно. Хук post-receive на NAS подтягивает рабочий клон и Y:\CargoLog\Site (копия для
просмотра) и отправляет main на GitHub Pages (germormdev/germormdev.github.io, домен vecturabook.com) ключом, который лежит только
на NAS (/volume1/secrets/github). Не ушло на GitHub — пуш в NAS всё равно принят, причина в CargoLogSite/github-push.log, повтор:
sh /volume1/Gromoz/CargoLogSite/Git/push-to-github.sh. Напрямую на GitHub с устройств больше не пушат.
GitHub Pages, ветка main, домен vecturabook.com (репозиторий germormdev.github.io; старый адрес github.io мёртв и только перекидывает).
Пять страниц: index.html (EN), ru.html, he.html, privacy.html, versions.html.
python site_check.py
Когда: в начале каждой сессии и после каждой ручной вставки German в админку. Плюс перед любой правкой витрины — чтобы отличить своё от чужого.
«Смотрел, нового нет» — тоже строка отчёта. Сторож печатает строку на каждую проверку, включая зелёные: молчание при беде выглядит ровно как молчание при чистоте. Код возврата 0 — чисто, 2 — красное с перечнем. Ничего не правит.
Флаги: --local <папка> — проверить копию перед пушем; --no-firestore — без сети.
Что проверяет: все выпущенные версии из published_version_names.txt приложения присутствуют в истории (на 11.10.2026 — 16, свежая 2.5.2) · битых номеров
нет · у каждой версии полный набор языков · «What's New» не пуст · ни одного
заголовка без содержимого · og и canonical на всех пяти страницах ·
og:locale:alternate обе чужие локали · ролик Bth3gelqPeg жив на трёх языках
и на домене nocookie · счётчика посещений на витрине нет ни на одном языке ·
gtag подключён на всех пяти страницах ровно один раз · ни на одном языке не
вернулось обещание, что данные или местоположение не уходят на серверы.
Зубы сторожа проверяются укусом: Y:\CargoLog\Scratch\2026-09-03-sait-blok-A\d4-ukus-storozha.py
подсовывает восемь дефектов по одному. Зелёный сторож без укуса не принимается.
Сразу под шапкой на index.html, ru.html, he.html — блок <section class="promo" data-promo="<язык>">.
Язык ролика = язык страницы (EN → en, RU → ru, HE → he), меняется только переключателем языка сайта.
⛔ Вкладок языка над роликом нет и не ставить (German 27.10.2026): выбранная вкладка возвращалась кнопкой
«Назад» из памяти браузера, и на английской странице на S24 шёл ролик на иврите. Кнопку звука и загрузку
рисует promo.js, вид — promo.css: один файл на три страницы; блок помечен translate="no". Ролик — на самом сайте, video/promo-<язык>.mp4,
обложка до загрузки — video/promo-<язык>.jpg. Автозапуск беззвучный (со звуком браузеры не запускают),
файл качается только после загрузки страницы, вне экрана беззвучный ролик стоит на паузе, при «экономии
трафика» в браузере ждёт кнопки.
Замена ролика (источник — Y:\CargoLog\ForGerman\<дата>-reklamnyj-rolik\VecturaBook-promo-<язык>.mp4).
⛔ Звук — трек German (AAC 320 кбит/с), только копией (-c:a copy), не перекодировать:
ffmpeg -i VecturaBook-promo-ru.mp4 -map 0:v:0 -map 0:a:0 -vf scale=1280:-2:flags=lanczos \
-c:v libx264 -preset slow -tune animation -crf 27 -maxrate 1000k -bufsize 2000k \
-profile:v high -level 4.0 -pix_fmt yuv420p -g 60 -c:a copy -movflags +faststart video/promo-ru.mp4
ffmpeg -ss 12 -i video/promo-ru.mp4 -frames:v 1 -q:v 4 video/promo-ru.jpg # обложка — титул ролика
⛔ Звук в MP4 — только AAC. MP3 в упаковке MP4 плеер Apple (Safari на маке и iPhone, QuickTime) не видит и играет
немо (German заметил 27.10.2026; до пересборки ролика рядом лежал .mov). С 27.10.2026 звук AAC, файл один — .mp4
для всех браузеров, MOV убран.
Сторож: раздел [4.1] (блок первым под шапкой на трёх языках, файл и обложка на месте, звук AAC — читает заголовок
ролика, вкладок нет, promo.js не ищет MOV), укусы N, O, P, Q, S (звук MP3), T (ветка MOV).
Кнопка звука — в верхнем углу кадра: надписи ролика бывают только внизу и посередине (German 27.10.2026).
Переключатель языков в шапке — <div class="lang-switch flex … gap-4">, на иврите с dir="ltr" (порядок EN RU HE как
на остальных страницах). ⛔ Не space-x-* с space-x-reverse: в RTL отступ ложился не с той стороны, и «EN RU»
слиплись (S24, 27.10.2026). Сторож [9] меряет промежуток (меньше 8 px — красное), укус R; на маке [9] теперь
находит Chrome (раньше «не проверялось»).
Коллекции site_content, site_screenshots, site_videos — пусты, 0
документов. Всё, что видит человек, лежит в разметке страниц.
Отсюда следствие, о которое легко споткнуться:
ЛЮБАЯ запись в
site_contentподменит статику раздела ЦЕЛИКОМ.
loadSiteContent не дописывает и не сливает — он заменяет содержимое
контейнера тем, что пришло. Сохранил в админке вкладку Content с одним пунктом
в списке — на витрине останется один пункт, остальные пропадут, хотя в
index.html они на месте.
Пустой массив при этом статику НЕ трёт (проверка на length, 03.09.2026): пустой
список — это отсутствие содержимого, а не содержимое. Так закрыт третий случай
голого заголовка; два первых — раздел Videos и счётчик посещений — вырезаны.
Живые коллекции: version_history (история версий) и stats/visits (счётчик).
Считается, на витрине не показывается: ни разметки, ни числа, ни подписи ни
на одной из трёх языковых страниц. Числа видны в versions.html внутри
#admin-block, то есть только после входа Google.
sessionStorage: та же вкладка за сессию считается один раз;ADMIN_EMAILS) не считаются;Посуточная разбивка ждёт правил Firestore. Замер 03.09.2026: анонимная запись
в stats/visits/daily/<дата> отдаёт 403, правила такой путь не покрывают.
Пока правил нет, в админке вместо чисел стоят прочерки и оранжевая строка, а
общий счёт идёт как шёл. Нужное правило — в
Y:\CargoLog\Scratch\2026-09-03-sait-blok-A\firestore-rules-daily.txt.
GA4 — свой ресурс сайта, отдельный от программы (решение German 28.10.2026): в ресурсе программы
(cargolog-28bdd, 534432169) — только программа. Ресурс сайта — «vecturabook.com (сайт)», 561654276, веб-поток
G-7QCC1PSEZX (аккаунт German 392498240; завёл Клод Нетворк через Admin API 30.10.2026). Пустой GA_ID в
analytics.js — сайт не шлёт ничего (прежний общий поток G-1W3HBDDM7P не трогается). Наши проверки не пишут: шлёт только боевой хост, не navigator.webdriver, не браузер с меткой
?noga=1 (метка остаётся в localStorage). Недельная сводка NAS берёт сайт из site_property.txt рядом с
weekly.py (ID ресурса цифрами) — отдельным сообщением от программы.
Подключается одним общим куском — analytics.js, по одной строке на страницу.
Копий gtag в страницах быть не должно, сторож это проверяет.
Cookie-баннера нет и согласия сайт не спрашивает — осознанно: IP анонимизируется,
allow_google_signals и allow_ad_personalization_signals выключены. Заходы
админа не шлются вовсе: просмотр страницы уходит только после того, как выяснено
состояние входа.
События: page_view, store_click (store=google_play / rustore),
language_switch (to=en|ru|he).
git add; -c core.autocrlf=false здесь раздувает дифф на весь
файл (замер 31.08.2026, для этого репозитория правило обратно тому, что
записано для дерева приложения).~/.ssh/id_ed25519_github, аккаунт germormdev.