Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Термодвижок — AI-фреймворк симуляций и графов

Версия: 1.0 · Репозиторий: github.com/andreyivan4enkov/sdr_core
Интеграция с CRM: акторы Reactor v3 (pulse / probe / fold / gate / touch / face / wire)


Назначение

Термодвижок — графовая AI-песочница для проектирования и наблюдения сложных динамических систем:

  • физические поля (Изинг, Gray-Scott, LBM, Physarum);
  • рои и стигмергия;
  • LLM-цепочки и Python-вычисления;
  • предиктор с surprise-gated learning (ядро, в UI пока не подключён).

Используется как научный и AI-слой под продуктовым Реактором CRM: те же идеи (триггер → чтение → преобразование → ветвление → действие → экран), но с типизированными пинами полей и симуляциями.


Архитектура (3 слоя)

┌─────────────────────────────────────────────────────────┐
│  Frontend (React + @xyflow/react)                       │
│  GraphCanvas, 13 типов нод, 2D/3D, AI Chat              │
└──────────────────────────┬──────────────────────────────┘
                           │ REST + WebSocket
┌──────────────────────────▼──────────────────────────────┐
│  Backend (FastAPI)                                      │
│  simulation, ai, graph, execute                         │
└──────────────────────────┬──────────────────────────────┘
                           │
┌──────────────────────────▼──────────────────────────────┐
│  Engine (NumPy)                                         │
│  Field, Agents, ops, Predictor, EdgeController, modules  │
└─────────────────────────────────────────────────────────┘
Каталог Содержание
engine/ Ядро: field.py, ops.py, agents.py, predictor.py, edge_controller.py
engine/modules/ ising, gray_scott, lbm, stigmergy, mycelium, replicator
backend/app/ FastAPI: main.py, ai_adapter.py, routes/*
frontend/src/ Редактор графа, визуализация, stores
tests/ pytest для field, ising, agents, gray_scott

Запуск

# Windows
.\start.ps1
# Linux / macOS / WSL
./start.sh

Или вручную:

# Backend
cd backend && python -m venv .venv && source .venv/bin/activate  # Windows: .venv\Scripts\activate
pip install -r requirements.txt
PYTHONPATH=.. uvicorn app.main:app --reload --port 8002

# Frontend
cd frontend && npm install && npm run dev

Типы нод (13)

Физика

Нода Модуль Описание
Ising ising.py Модель Изинга L×L, фазовые переходы, M/E/χ
Gray-Scott gray_scott.py Реакция-диффузия, паттерны Тьюринга
Stigmergy Swarm stigmergy.py Рой + феромонное поле
LBM Fluid lbm.py Решётка Больцмана D2Q9
Physarum mycelium.py Сеть слизевика, проводимости рёбер

AI / код

Нода Описание
LLM Node Стриминг LLM (15+ провайдеров)
Prompt Template Шаблон {var} → промпт
AI Chat Чат + JSON-команды set_param / sweep
Python Code Sandbox /api/execute/python
Math Арифметика над пинами
Loop Цикл шагов симуляции по FPS

Визуализация

Нода Описание
Field View 2D превью поля
Metrics Chart Временные ряды метрик

Типы пинов

Определены в frontend/src/lib/pinTypes.ts:

Тип Назначение
field 2D numpy-поле
float / int Скаляры параметров
string Промпты, текст
signal События (tick, done) — аналог exec
agents Объект Agents
array / tensor Массивы
image base64 кадр
any Без типа

Данные между нодами — через nodeDataStore (ручное чтение/запись пинов).


API

Симуляции /api/simulation

  • POST /create — тип: ising | lbm | gray_scott | stigmergy | mycelium | replicator
  • POST /{id}/step?n= — шаги
  • POST /{id}/start?fps= / stop — авто-цикл
  • PATCH /{id}/param — изменить T, F, k, …
  • GET /{id}/metrics — история

AI /api/ai

  • GET /providers — список LLM
  • POST /chat — SSE-стрим
  • POST /chat/ws/{session_id} — через WebSocket

Граф /api/graph

  • POST /{session_id}/save — nodes + edges
  • GET /presets/list — ising_basic, gray_scott_basic, swarm_turing

Execute /api/execute

  • POST /python — выполнение кода ноды

WebSocket /ws/{session_id}

Клиент: step, set_param, chat, get_state
Сервер: field_update, metrics, chat_chunk, param_changed


Ядро engine

Field (field.py)

2D многоканальная сетка, периодические границы, sample, write, экспорт PNG.

Agents (agents.py)

N агентов с K-мерным состоянием; read_field, write_field (стигмергия), move_toward_gradient.

ops (ops.py)

add, mul, conv, diffuse, laplacian, phase_mod — операции над полями.

Predictor (predictor.py)

Линейный предиктор W·x + b; обучение с surprise = ||error|| (lr растёт с сюрпризом).

EdgeController (edge_controller.py)

Гомеостаз θ у критической грани: task_feedback, bifurcation_guard, soc.


Маппинг на Reactor v3 (CRM)

Reactor Термодвижок
pulse LoopNode, SimControls, WS step
probe MetricsNode, VisualizerNode
fold MathNode, PythonCodeNode, LLMNode, PromptTemplate
gate LoopNode, EdgeController
touch AI set_param, POST step/start
face Field View, Metrics, 2D/3D режимы
wire ReactFlow edges + nodeDataStore

В CRM-редакторе продукта справка по каждому актору — панель «Справка» в инспекторе (данные из packages/reactor-core/src/node-help.ts).


Тесты

pip install -r backend/requirements.txt pytest
python -m pytest tests/ -q

Связанная документация CRM

  • ai_docs/thermo-engine.md — JIT для AI-агентов
  • ai_docs/reactor-node-catalog-v3.md — каталог акторов v3
  • ai_docs/reactor-compose.md — AI Compose

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages