Skip to content

Repository files navigation

GNOSIS — Астропроцессор

Актуальная версия: 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)

Режим сравнения двух профилей. Ввод данных рождения для человека 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              │
│  Дома, аспекты, цепочки диспозиторов                │
│  Движок космограммы / синастрии                     │
└─────────────────────────────────────────────────────┘

Поток данных:

  1. Пользователь вводит данные рождения в форму frontend
  2. Frontend отправляет запрос к API (/api/calculate)
  3. Backend вызывает ChartEngine с заданными параметрами (система домов, орбисы и т.д.)
  4. Backend возвращает JSON-контракт с позициями, домами, аспектами, углами
  5. Frontend рендерит SVG-колесо и заполняет панели
  6. Для запросов процессора/интерпретации дополнительные 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-скрипты)

Быстрый запуск (Windows PowerShell)

# 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).


Ручной запуск

Запуск компонентов по отдельности:

Backend

python app.py
# Запускается на http://127.0.0.1:5050

Frontend (разработка)

cd frontend
npx vite
# Запускается на http://127.0.0.1:5173, проксирует /api на :5050

Frontend (production-сборка)

cd frontend
npx vite build
# Результат в ../build/

CLI-расчёт (Python)

python cli/calc_chart.py --year 1990 --month 6 --day 15 --hour 12 --lat 55.75 --lon 37.62

API и форматы данных

Все 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 — исследовательский проект. Астрологические интерпретации предоставляются в информационных и образовательных целях.

About

GNOSIS — local-first astrology computation and visualization workbench with natal charts, cosmograms, synastry, dispositors, ruler chains and structured AI-assisted interpretation.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages