15 KiB
SFERA Platform
SFERA — Semantic Operating Platform for 1C Ecosystems
SFERA — enterprise semantic platform для анализа, понимания, индексирования, визуализации и AI-оркестрации экосистем 1С.
SFERA также является современной IDE/authoring-средой для 1С: пользователь должен уметь вручную писать код, создавать и менять объекты, формы, команды и отчёты, а AI должен помогать как pair programmer, который видит текущий код, metadata, связи объектов, доступные переменные и правила платформы.
Платформа строит детерминированное semantic core ядро поверх:
- 1C BSL
- XML metadata
- CF/CFE
- integrations
- access topology
- UI semantics
- scheduled jobs
- object dependencies
- runtime graph
SFERA проектируется как:
Enterprise AI Operating System
for 1C ecosystems
Core Philosophy
Semantic truth first.
AI later.
AI не является источником истины.
Сначала:
- deterministic parsing
- semantic graph
- metadata topology
- impact analysis
- dependency resolution
- integration discovery
- access analysis
И только потом:
- AI copilots
- AI review
- AI reasoning
- AI onboarding
- AI architecture analysis
- AI migration planning
High-Level Architecture
1C BSL/XML/CF/CFE
↓
Rust BSL Parser
↓
SIR Snapshot
↓
Semantic Kernel
↓
Neo4j Semantic Graph
↓
Incremental Indexing
↓
Impact Analysis
↓
AI Operating Layer
Main Goals
Semantic Understanding of 1C
SFERA должна понимать:
- объекты 1С
- формы
- команды
- реквизиты
- табличные части
- роли
- права доступа
- BSL dependencies
- integrations
- scheduled jobs
- runtime topology
- object impact
- UI semantics
1C IDE and Authoring
SFERA должна давать возможности современной IDE для 1С:
- BSL editor: подсветка, диагностика, folding, outline, go to definition, find references, rename, extract method и безопасные refactoring actions.
- Semantic autocomplete: продолжение кода с учётом текущей процедуры, параметров, локальных переменных, реквизитов объекта, табличных частей, форм, команд, ролей, интеграций и доступных методов 1С.
- AI pair programmer: генерация процедур, функций, запросов, обработчиков команд, движений регистров, проверок заполнения и обработчиков форм.
- Object designer: создание и изменение документов, справочников, регистров, общих модулей, реквизитов, табличных частей, команд и форм.
- Form/report designer: работа с формами, элементами, командами, обработчиками и отчётами в visual/object-oriented интерфейсе.
- Diff/preview/apply: любое AI- или ручное изменение проходит через preview, semantic diff, impact analysis, review и подтверждение.
- Context-aware hints: подсказки не просто по словам, а по текущему объекту 1С, доступным данным, связям, query/write context и runtime/knowledge facts.
AI не ограничивается анализом. Он должен уметь писать код и предлагать структурные изменения, но SFERA обязана показывать последствия и держать контроль применения у пользователя.
Enterprise AI Layer
Поверх semantic graph строится AI operating layer:
- AI code completion
- AI code generation
- AI object/form/report generation
- AI guarded refactoring
- AI code review
- AI impact analysis
- AI onboarding
- AI architecture assistant
- AI dependency explorer
- AI migration assistant
- AI semantic search
- AI documentation generation
- AI risk analysis
- AI integration analysis
AI должен работать поверх semantic truth: перед предложением кода он учитывает текущий BSL-контекст, AST/SIR, metadata object, форму, доступные реквизиты, табличные части, команды, роли, запросы, регистры, интеграции, knowledge records и privacy policy.
1C Knowledge Coverage
GET /projects/{project_id}/knowledge/schema-coverage показывает покрытие knowledge-records для документов, справочников, реквизитов и табличных частей.
GET /projects/{project_id}/review добавляет INFO Missing 1C schema knowledge, если узел схемы 1С не связан ни с одной knowledge-записью.
POST /knowledge/packs импортирует BSP/vendor documentation pack как набор KnowledgeRecord с тегами pack:{pack_id} и vendor:{vendor}. GET /knowledge/packs показывает установленные пакеты знаний.
GET /projects/{project_id}/patterns выполняет детерминированный pattern mining по SIR: повторяющиеся чтения таблиц, записи таблиц и совпадающие read/write формы процедур.
1C Ownership
POST /projects/{project_id}/comments добавляет обсуждение к target_id внутри проекта, а GET /projects/{project_id}/comments/{target_id} возвращает комментарии по конкретному объекту, задаче или lineage.
POST /projects/{project_id}/ownership назначает ответственного на 1С-объект по lineage_id.
GET /projects/{project_id}/objects/ownership/{object_name} возвращает владельцев документа, справочника, регистра, общего модуля и других корневых объектов 1С.
GET /projects/{project_id}/review добавляет INFO Missing 1C object owner для 1С-объектов без назначенного владельца, а GET /projects/{project_id}/report включает ownership_count, unowned_object_count и unowned_objects.
1C Privacy
POST /projects/{project_id}/privacy/markers назначает privacy-классификацию на lineage_id: PUBLIC, INTERNAL, CONFIDENTIAL, PERSONAL_DATA, SECRET.
GET /projects/{project_id}/objects/privacy/{object_name} возвращает privacy-маркеры самого 1С-объекта и его прямых реквизитов/табличных частей/форм.
GET /projects/{project_id}/review добавляет INFO Unclassified sensitive 1C field для реквизитов с чувствительными именами вроде ИНН, паспорт, телефон, email, адрес, если они ещё не классифицированы.
AI Usage Governance
POST /ai/usage записывает факт AI-действия: проект, пользователь, модель, операция, prompt/completion токены и стоимость.
GET /ai/usage/summary агрегирует AI usage по проекту, пользователю, модели и операции. GET /ai/policy показывает текущий token limit и остаток для пользователя.
GET /projects/{project_id}/report включает ai_usage_request_count, ai_usage_total_tokens и ai_usage_cost.
POST /projects/{project_id}/ai/answer-policy проверяет, можно ли отвечать на AI-вопрос по выбранному 1С-контексту: учитывает token budget, knowledge records, privacy markers и запрет external model calls.
Monorepo Structure
sfera-platform/
packages/
bsl-parser-rs/
sir/
semantic-kernel/
neo4j-projection/
indexing/
integrations/
api/
ai/
frontend/
sfera-web/
docs/
architecture/
frontend/
operations/
ai/
prompts/
.codex/
.cursor/
Technology Stack
Backend
Python
FastAPI
Rust
Neo4j
PostgreSQL
Pydantic
NetworkX
asyncio
uv
Frontend
Next.js
React
TypeScript
Tailwind CSS
shadcn/ui
TanStack Table
TanStack Query
Zustand
Framer Motion
Recharts / ECharts
AI Layer
OpenAI-compatible APIs
Local LLM support
Multi-model routing
AI policy engine
AI audit system
Context orchestration
Token accounting
Semantic AI routing
Quick Start
Environment
cp .env.example .env
uv sync --all-packages
Run tests
pytest packages/sir/tests
Run Rust parser
cargo run -p bsl-parser -- ../tests/golden/english_module.bsl
Development Philosophy
SFERA строится как:
Deterministic semantic platform first.
AI-enhanced operating system second.
Главный приоритет:
- reproducibility
- deterministic parsing
- semantic correctness
- graph consistency
- auditability
- incremental scalability
Semantic Intermediate Representation (SIR)
Rust parser возвращает deterministic JSON contract:
{
"procedures": [],
"calls": [],
"queries": [],
"writes": [],
"diagnostics": []
}
SIR является semantic truth snapshot проекта.
Supported 1C Metadata
Core metadata objects
Catalog
Document
Register
CommonModule
ExchangePlan
ScheduledJob
BusinessProcess
Task
Role
Form
Command
Attribute
TabularSection
Element
Semantic Graph Relations
Main graph relations
CALLS
WRITES
READS
USES_INTEGRATION
HANDLES
CONTAINS
HAS_FORM
HAS_COMMAND
HAS_ATTRIBUTE
HAS_TABULAR_SECTION
HAS_ROLE
HAS_ELEMENT
RUNS
GRANTS_ACCESS
Object Impact Analysis
SFERA умеет строить object-level impact:
- реквизиты
- табличные части
- формы
- команды
- BSL handlers
- registers
- integrations
- scheduled jobs
- roles/access
- UI semantics
- cross-module dependencies
Incremental Indexing
SFERA поддерживает incremental semantic updates.
Изменение:
.bsl.xml- metadata object
- forms
- handlers
перестраивает только affected semantic graph sections.
Neo4j Projection
Semantic graph может быть выгружен в Neo4j:
SIR Snapshot
↓
Neo4j Projection
↓
Cypher Queries
↓
Graph Analytics
Integration Topology
SFERA извлекает integrations из:
- HTTPConnection
- HTTPСоединение
- WSProxy
- FTPConnection
- COMObject
- ExchangePlan
- URL strings
- external services
Scheduled Jobs
Регламентные задания индексируются как runtime semantic graph:
ScheduledJob
RUNS
Procedure
Access Model
Для ролей 1С извлекаются:
- object permissions
- rights
- grants
- access topology
Graph relation:
Role GRANTS_ACCESS Object
UI Semantics
SFERA анализирует UI layer:
- forms
- commands
- command handlers
- form elements
- UI actions
- BSL bindings
API Examples
Object impact
GET /projects/{project_id}/objects/impact/{object_name}
UI semantics
GET /projects/{project_id}/objects/ui/{object_name}
Integrations
GET /projects/{project_id}/integrations
Scheduled jobs
GET /projects/{project_id}/jobs/scheduled
Access graph
GET /projects/{project_id}/access/roles/{role_name}/objects
Frontend Philosophy
SFERA UI — не обычная CRM.
Интерфейс должен ощущаться как:
- Linear
- Stripe Dashboard
- Notion
- Attio
- Plane
- Enterprise AI Workspace
Frontend Stack
Next.js
React
TypeScript
Tailwind CSS
shadcn/ui
TanStack Table
Framer Motion
Enterprise UI Principles
Main principles
- clean enterprise minimalism
- dark/light mode
- modular workspace
- AI-native UX
- semantic navigation
- adaptive layouts
- contextual side panels
- command palette
- realtime analytics
AI-Assisted Development
Проект проектируется для работы через:
- Codex
- Cursor
- v0
- AI code review
- AI UI generation
- AI semantic assistants
Codex Workflow
В репозитории присутствуют:
.codex/
.cursor/
docs/design-system.md
docs/component-architecture.md
docs/codex-ui-guidelines.md
prompts/
Codex обязан:
- соблюдать architecture rules
- соблюдать design system
- генерировать production-ready TypeScript
- использовать reusable components
- учитывать AI limits/audit/token usage
Frontend Design System
Frontend design system основан на:
Tailwind CSS
shadcn/ui
Radix UI
Design Tokens
Enterprise Layout Rules
Основной принцип:
Enterprise AI Operating System
instead of legacy CRM UI
AI Operating Layer
Будущие AI возможности:
- AI semantic copilots
- AI impact prediction
- AI migration planning
- AI documentation generation
- AI integration analysis
- AI security review
- AI onboarding assistant
- AI dependency graph reasoning
- AI runtime diagnostics
- AI topology explorer
Infrastructure
Docker Engine локально для development stand не обязателен.
Общий infrastructure host:
docker-test
test-docker
Infrastructure documentation:
docs/operations/STAND_RUNBOOK.md
First Demo Target
Процедура Проведение()
ПроверитьОстатки();
Движения.ОстаткиТоваров.Записать();
КонецПроцедуры
Expected semantic graph:
Проведение CALLS ПроверитьОстатки
Проведение WRITES РегистрНакопления.ОстаткиТоваров
Long-Term Vision
SFERA — это не просто analyzer.
Цель проекта:
Semantic Operating System
for enterprise 1C ecosystems
Где:
- semantic graph
- runtime topology
- integrations
- access model
- UI semantics
- AI reasoning
- enterprise workflows
- impact analysis
становятся единой operating platform.
Core Principles
Deterministic.
Semantic.
Incremental.
Observable.
AI-Ready.
Enterprise-Scale.
Future Roadmap
Phase 1
- Rust parser
- SIR
- semantic graph
- Neo4j projection
- incremental indexing
Phase 2
- semantic APIs
- integrations topology
- access graph
- UI semantics
Phase 3
- enterprise frontend
- AI copilots
- semantic search
- AI review
Phase 4
- distributed indexing
- multi-project graph
- semantic federation
- AI orchestration
- autonomous semantic agents