Актуальная версия: GNOSIS 2.1
Основная ветка: v210
Тег выпуска: v2.1.0
GNOSIS — локальная система расчёта, визуализации и структурированной интерпретации астрологических карт.
Проект объединяет расчётное ядро на Swiss Ephemeris, интерактивное SVG-колесо, натальные карты, космограммы, синастрию, диспозиторов, цепочки управителей и отдельный слой структурированной ИИ-интерпретации. Все вычисления выполняются на вашей машине — никакие данные не покидают ваше окружение без явного подключения AI-провайдера.
GNOSIS разделяет астрономический расчёт, контракты данных карты, визуализацию и интерпретацию на отдельные слои. Это делает результаты вычислений полностью проверяемыми и позволяет интерфейсу и логике интерпретации развиваться независимо.
Проект создавался как модульная, тестируемая астрологическая платформа на движке Swiss Ephemeris с браузерным интерфейсом и структурированным конвейером данных.
Актуальная линия разработки — GNOSIS 2.1. Основные направления:
- процессорный слой (Gnosis 2.1 Processor Bundle);
- расширенная работа с диспозиторами и цепочками управителей;
- панели структурированной ИИ-интерпретации;
- рендеринг SVG-колеса в нескольких режимах карт;
- элементные метры и фильтры аспектов.
| Область | Возможности |
|---|---|
| Натальная карта | Полные положения планет, дома, аспекты, углы (Asc, MC) |
| Космограмма | Равнодомная или бездомная космограмма с полной сеткой аспектов |
| Синастрия | Сравнение двух профилей с перекрёстным поиском аспектов (профили A/B) |
| SVG-колесо | Интерактивное зодиакальное колесо с глифами, куспидами домов и линиями аспектов |
| Системы домов | Плацидус, Кох, Равнодомная, Целознаковая, Кампанус, Региомонтан и другие |
| Аспекты | Настраиваемые орбисы, мажорные/минорные аспекты, фильтры по охвату |
| Диспозиторы и цепочки управителей | Алгоритм цепочки диспозиторов с визуальной HUD-панелью |
| Процессорные панели | Процессорный слой Gnosis 2.1 для структурного анализа карты |
| ИИ-интерпретация | Структурированные запросы к AI-провайдерам (требуется внешний API-ключ) |
| Экспорт | Текстовый экспорт данных карты и результатов интерпретации |
| Диагностический режим | Вывод сырого JSON-контракта для отладки и проверки данных |
Положения планет, куспиды домов, углы (Асцендент, MC) и аспекты для одного момента рождения. Поддерживаются все основные системы домов через панель конфигурации.
Упрощённый режим карты — равнодомная или бездомная космограмма с отображением положений планет и опциональной сеткой аспектов. Полезен для быстрого позиционного анализа.
Режим сравнения двух профилей. Ввод данных рождения для человека A и человека B. Движок вычисляет межкартные аспекты (перекрёстные аспекты) и отображает их в структурированном наложении.
Алгоритм цепочки диспозиторов прослеживает планетарные управительские отношения через таблицу управления знаками. HUD-панель цепочек отображает цепочку визуально, показывая, какие планеты управляют какими знаками и как распространяется диспозиция.
Процессорный слой Gnosis 2.1 предоставляет структурированную разбивку компонентов карты: элементы, модальности, угловость и структурные паттерны.
При настройке API-ключа внешнего AI-провайдера панель GnosisLorePanel отправляет структурированные данные карты (JSON-контракт) AI для читаемой интерпретации. Пользователь контролирует подключение — автоматическая передача данных не происходит.
GNOSIS разделяет астрономический расчёт, контракты данных, визуализацию и интерпретацию. Это делает результаты вычислений проверяемыми, а интерфейс и логику — независимыми.
┌─────────────────────────────────────────────────────┐
│ Frontend (Vue 3) │
│ ChartFormPanel → ChartWheelPanel → SVG Renderer │
│ ToolPanel / RightToolPanel → ChainHUD / ElementMeter │
│ GnosisLorePanel (AI-интерпретация) │
└──────────────┬──────────────────────────────────────┘
│ HTTP (JSON)
┌──────────────▼──────────────────────────────────────┐
│ API-слой (Flask) │
│ /api/calculate /api/synastry /api/process │
└──────────────┬──────────────────────────────────────┘
│
┌──────────────▼──────────────────────────────────────┐
│ Расчётное ядро (Python) │
│ ChartEngine — обёртка Swiss Ephemeris │
│ Дома, аспекты, цепочки диспозиторов │
│ Движок космограммы / синастрии │
└─────────────────────────────────────────────────────┘
Поток данных:
- Пользователь вводит данные рождения в форму frontend
- Frontend отправляет запрос к API (
/api/calculate) - Backend вызывает
ChartEngineс заданными параметрами (система домов, орбисы и т.д.) - Backend возвращает JSON-контракт с позициями, домами, аспектами, углами
- Frontend рендерит SVG-колесо и заполняет панели
- Для запросов процессора/интерпретации дополнительные endpoint'ы возвращают данные анализа
| Слой | Технология |
|---|---|
| Backend | Python 3.11, Flask |
| Расчётное ядро | Swiss Ephemeris (через pyswisseph / swisseph) |
| API | REST endpoints Flask, JSON-контракты |
| Frontend | Vue 3 (Composition API), Vite |
| UI-компоненты | Собственные Vue-компоненты (без тяжёлых UI-фреймворков) |
| SVG-рендеринг | Собственный рендерер колеса wheelSvgRenderer.js |
| ИИ-интерпретация | Внешний API провайдера (настраивается пользователем) |
| Тестирование | pytest (Python), smoke-тесты Node.js |
| Сборка | Vite (frontend), Python (CLI-скрипты) |
# 1. Клонировать и перейти в репозиторий
git clone https://github.com/web-lizard/gnosis.git
cd gnosis
# 2. Создать виртуальное окружение Python
python -m venv .venv
.venv\Scripts\Activate.ps1
# 3. Установить зависимости backend
pip install -r requirements.txt
# 4. Установить зависимости frontend
cd frontend
npm install
cd ..
# 5. Запустить backend (терминал 1)
python app.py
# 6. Запустить frontend dev-сервер (терминал 2)
cd frontend
npx vite
# 7. Открыть http://127.0.0.1:5173 в браузереПримечание: Файлы данных Swiss Ephemeris ожидаются в
data/ephe/. Dev-сервер frontend проксирует запросы/apiна127.0.0.1:5050(backend Flask).
Запуск компонентов по отдельности:
python app.py
# Запускается на http://127.0.0.1:5050cd frontend
npx vite
# Запускается на http://127.0.0.1:5173, проксирует /api на :5050cd frontend
npx vite build
# Результат в ../build/python cli/calc_chart.py --year 1990 --month 6 --day 15 --hour 12 --lat 55.75 --lon 37.62Все endpoint'ы API возвращают JSON. Основные endpoint'ы:
| Endpoint | Метод | Описание |
|---|---|---|
/api/calculate |
POST | Расчёт натальной карты или космограммы |
/api/synastry |
POST | Расчёт синастрии между двумя профилями |
/api/process |
POST | Анализ процессорного слоя |
/api/health |
GET | Проверка работоспособности |
Контракт данных карты описан в docs/api_contract_chart_v1.md.
astroprocessor/
├── app.py # Точка входа backend (Flask)
├── requirements.txt # Зависимости Python
├── core/
│ ├── chart_engine.py # Основной расчётный движок
│ └── config.py # Конфигурационные константы
├── api/
│ └── php/ # Устаревший PHP API (не поддерживается)
├── cli/
│ └── calc_chart.py # CLI-скрипт расчёта
├── frontend/
│ ├── index.html # Точка входа Vite
│ ├── package.json # Зависимости Node
│ ├── vite.config.js # Конфигурация Vite
│ └── src/
│ ├── App.vue # Корневой компонент
│ ├── main.js # Точка входа Vue
│ ├── components/ # Vue-компоненты
│ ├── config/ # Константы, пресеты, темы
│ ├── renderers/ # SVG-рендерер колеса
│ ├── composables/ # Vue composables (состояние, построение карты)
│ ├── utils/ # Утилиты (расчёт синастрии, экспорт)
│ └── api/ # Клиентские helper'ы API
├── builder/
│ └── build_frontend.py # Скрипт сборки
├── scripts/ # Вспомогательные скрипты
├── tests/
│ ├── test_cosmogram_contract.py # Контрактные тесты
│ └── test_smoke.md # Заметки smoke-тестов
├── data/
│ └── ephe/ # Файлы данных Swiss Ephemeris
├── docs/
│ ├── api_contract_chart_v1.md
│ ├── gnosis_2_1_processor_bundle.md
│ └── gnosis_ai_bundle_guide.md
├── RUN_GNOSIS.cmd # Запуск Windows CMD
├── RUN_GNOSIS.ps1 # Запуск Windows PowerShell
└── IMPORT_PAIR.cmd # Импорт данных
# Python-тесты
python -m pytest tests/ -v
# Frontend smoke-тесты (Node.js)
node scripts/gnosis-wheel-house-autotest.mjsДва Python-теста в текущем покрытии:
- Прямой расчёт движка (контракт космограммы)
- Обработчик API на временном порту
| Документ | Описание |
|---|---|
docs/ARCHITECTURE.md |
Обзор архитектуры системы |
docs/DEVELOPMENT.md |
Настройка разработки, рабочий процесс и правила |
docs/FEATURES.md |
Матрица состояния функций |
docs/api_contract_chart_v1.md |
Спецификация JSON-контракта карты |
docs/gnosis_2_1_processor_bundle.md |
Спецификация процессорного слоя |
docs/gnosis_ai_bundle_guide.md |
Руководство по настройке ИИ-интерпретации |
docs/BRANCH_HISTORY.md |
Обзор веток Git |
CHANGELOG.md |
История версий |
- Файлы данных Swiss Ephemeris требуются в
data/ephe/и не входят в репозиторий. - Точность систем домов зависит от эфемеридных данных и алгоритма выбранной системы — некоторые системы домов могут вести себя неожиданно на экстремальных широтах.
- Орбисы синастрии рассчитываются по настраиваемым пресетам; пользователю следует проверять настройки орбисов для своего сценария.
- ИИ-интерпретация требует API-ключа внешнего провайдера и доступа в интернет. Качество интерпретации зависит от модели AI и структуры запроса.
- Устаревший PHP API в
api/php/не поддерживается и может быть неработоспособен.
История проекта в виде схемы веток описана в docs/BRANCH_HISTORY.md.
Основные вехи:
- GNOSIS 2.1 — процессорный слой, диспозиторы, цепочки управителей (текущая версия)
- GNOSIS 2.0 — оболочка workbench, синастрия, SVG-колесо, ИИ-Oracle
- Минимальный Astroprocessor — восстановление расчётного ядра
- MVP — первый рабочий расчёт натальной карты
- Основной расчётный движок на Swiss Ephemeris
- REST API с JSON-контрактом
- Frontend Vue 3 с рендерингом SVG-колеса
- Режимы натальной карты, космограммы, синастрии
- HUD диспозиторов и цепочек управителей
- Процессорный слой Gnosis 2.1
- Панель ИИ-интерпретации
- Улучшенное тестовое покрытие (frontend + backend)
- CI/CD конвейер
- Docker-сборка для запуска одной командой
- Адаптивный мобильный макет
- Система плагинов/модулей для дополнительных систем домов и стилей интерпретации
Статус: Активная разработка — GNOSIS 2.1 Лицензия: MIT (см. файл LICENSE)
Этот проект использует Swiss Ephemeris по лицензии Astrodienst AG. Swiss Ephemeris не распространяется по лицензии GPL и требует отдельной лицензии для коммерческого использования. Файлы эфемерид (data/ephe/) предоставлены только для личного использования — для коммерческих условий обращайтесь в Astrodienst.
GNOSIS — исследовательский проект. Астрологические интерпретации предоставляются в информационных и образовательных целях.