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.