---
title: "MolScript: текстовый язык для схем реакций и механизмов с изогнутыми стрелками | Блог MolDraw"
url: https://www.moldraw.com/ru/blog/molscript-reaction-mechanism-language.html
description: "MolScript — короткий текстовый язык для схем реакций и механизмов с переносом электронов: частицы в виде SMILES, номера атомов для концов стрелок, строки move для изогнутых и «рыболовных» стрелок. Полный справочник, как ставятся и проверяются стрелки, разобранные примеры, сравнение с chemfig и планы по открытому фреймворку."
lang: ru
publisher: Scidart Academy
generated: 2026-10-26
---
# MolScript: текстовый язык для схем реакций и механизмов с изогнутыми стрелками

Опубликовано: 17 октября 2026 г. · Автор: Scidart Academy · Время чтения: ~16 мин

![Шесть строк MolScript в тёмной панели кода рядом со стадией SN2, которую они рисуют: гидроксид атакует бромметан, две изогнутые стрелки](https://www.moldraw.com/blog/thumbs/molscript-reaction-mechanism-language.webp)

Шесть строк MolScript рисуют полную стадию SN2: структуры, заряды, условия и обе изогнутые стрелки.

**Коротко:** MolScript — небольшой текстовый язык для схем реакций и механизмов с переносом электронов. Каждая частица записывается как **SMILES**, частицы соединяются знаками `+`, `->`, `<->` или `<=>`, атомы, которых касается стрелка, помечаются **номерами атомов**, и на каждую изогнутую стрелку пишется одна строка `move`. MolDraw рисует структуры, условия, неподелённые пары, заряды и все стрелки и **проверяет каждую стрелку** по правилам рисования, прежде чем вы её увидите. Результат — обычное редактируемое содержимое холста, которое можно скачать как изображение или как код chemfig для LaTeX.

## MolScript вкратце

| Что вы пишете | Частицы в виде SMILES, операторы между ними, условия в квадратных скобках после стрелки и строки `move` для электронов. |
| --- | --- |
| Что вы получаете | Скомпонованную схему: структуры, знаки «плюс», стрелки реакции, равновесия или резонанса, условия, подписи, неподелённые пары, заряды, радикальные точки и изогнутые стрелки. |
| Типы стрелок | Двухэлектронные изогнутые стрелки (`->`) и одноэлектронные «рыболовные» (`~>`) — от неподелённых пар, зарядов, радикалов, атомов или связей к атомам, связям или образующимся связям. |
| Проверка | Каждый номер атома должен существовать и быть уникальным; каждая стрелка должна начинаться там, где есть электроны; каждая нарисованная стрелка оценивается по зазорам, направлению, кривизне и отступам. Проблемы возвращаются с номерами строк. |
| Результат | Редактируемые объекты холста MolDraw; любой экспорт MolDraw, включая chemfig (.tex) для документов LaTeX. |
| Где используется сейчас | ИИ-чат MolDraw рисует механизмы, записывая их на MolScript, и на нём же построены рисунки механизмов в панели Templates. |
| Что дальше | Открытый фреймворк для приложений с холстом и ИИ-навык, который может подключить любой помощник. См. планы развития. |

## Ваш первый скрипт: SN2

Гидроксид атакует бромметан с тыла, и бромид уходит на той же стадии. На MolScript это четыре строки:

```
title: SN2 of bromomethane
[OH-:1] "hydroxide" + [CH3:2][Br:3] "bromomethane" ->[SN2][acetone] CO "methanol" + [Br-]
move :1 -> 1..2
move 2-3 -> 3
```

![SN2 бромметана, нарисованная по MolScript: изогнутая стрелка от заряда гидроксида к атому углерода и вторая — от связи C–Br к брому; над стрелкой реакции SN2, под ней ацетон](https://www.moldraw.com/blog/images/molscript/sn2.webp)

Нарисовано MolDraw ровно по четырём строкам выше.

Построчно:

1. `title:` ставит заголовок над схемой.
2. Строка схемы перечисляет частицы. `[OH-:1]` — гидроксид, атом кислорода которого имеет номер 1; `[CH3:2][Br:3]` — бромметан, где углерод — 2, а бром — 3. `"hydroxide"` — подпись под структурой. `->[SN2][acetone]` — стрелка реакции с текстом сверху и снизу.
3. `move :1 -> 1..2`: неподелённая пара (здесь отрицательный заряд) атома 1 переходит на образующуюся связь между 1 и 2.
4. `move 2-3 -> 3`: электроны существующей связи C–Br переходят к брому.

Номера атомов — это метки для вас и для стрелок. Они никогда не рисуются и не меняют молекулу.

## Язык

### Частицы и операторы

Любой SMILES — это частица. Операторы пишутся с пробелом с каждой стороны:

| `+` | Плюс между реагентами или продуктами. Частицы, соединённые `+`, всегда остаются в одном ряду. |
| --- | --- |
| `->` | Стрелка реакции. |
| `<=>` | Стрелка равновесия (две стрелки с половинными наконечниками). |
| `<->` | Стрелка резонанса (двунаправленная). Используйте её между резонансными формами одной частицы. |
| `=>` | Стрелка ретросинтеза. |

Текст над и под стрелкой пишется в квадратных скобках вплотную к ней: `->[NaBH4][MeOH, 0 °C]`. Оставьте первую пару пустой, если нужен только текст снизу: `->[][reflux]`. Подпись в двойных кавычках после частицы рисуется под ней: `CC(=O)O "acetic acid"`.

### Несколько стадий

Строка, начинающаяся с оператора, продолжает схему от последней частицы, поэтому механизм читается по одной стадии на строку, а стрелки стадии стоят сразу под ней:

```
title: SN1 of tert-butyl bromide
C[C:1](C)(C)[Br:2] ->[slow] C[C+:3](C)C + [Br-]
move 1-2 -> 2
-> C[C+:4](C)C + [OH2:5]
move :5 -> 5..4
->[fast] CC(C)(C)[OH2+]
```

![Двухстадийный механизм SN1, нарисованный по MolScript: ионизация до трет-бутильного катиона с разрывом связи C–Br и переходом электронов к брому, затем атака воды на карбокатион](https://www.moldraw.com/blog/images/molscript/sn1.webp)

Ряды переносятся только на стрелках реакции. Стрелка, переносящая схему на следующий ряд, — одно из того, что улучшают планы развития.

### Изогнутые стрелки: строки `move`

Каждый атом, которого касается стрелка, получает номер в SMILES: `[OH-:1]`, `[CH3:2][Br:3]`, `[O:4]` для обычного кислорода. Номера должны быть уникальны во всём скрипте. Затем:

```
move <from> -> <to>     two-electron curly arrow
move <from> ~> <to>     one-electron fish-hook
```

Оба конца записываются одинаково:

| `:n` | Неподелённая пара атома n. У аниона стрелка начинается от знака «минус», как рисуют химики. |
| --- | --- |
| `n` | Атом n. Стрелка радикала начинается от его точки. |
| `n-m` | Существующая связь между атомами n и m. В начале стрелки её электроны покидают связь; в конце — делают связь двойной. |
| `n..m` | Образующаяся связь между n и m (только конец). Наконечник останавливается рядом с атомом m со стороны, обращённой к n. |

Несколько стрелок можно записать в одной строке через точку с запятой: `move :1 -> 1..4; 4-2 -> 2-3; 3-5 -> 5`. Переносимый водород пишите явно, `[H:5][O:6]CC`, чтобы стрелка могла начинаться от его связи. Помеченный радикальный центр пишите с числом атомов водорода, чтобы он сохранил точку: `CC(C)(C)[OH0:1]` — трет-бутоксильный радикал.

Стрелки ставятся автоматически. Если нужен определённый изгиб, добавьте переопределение в фигурных скобках: `move 2-3 -> 3 {bow=0.3 side=left}`.

### Директивы и комментарии

| `title: …` | Заголовок над схемой. |
| --- | --- |
| `per-row: 2` – `8` | Число структур в ряду до переноса схемы (по умолчанию 4). |
| `layout: row`, `cycle`, `branch` | Форма схемы: слева направо, каталитический цикл или один реагент — несколько продуктов. |
| `# …` | Комментарий до конца строки. Символ `#` внутри SMILES (тройная связь) комментарием не считается. |

### Ошибки

Проблемы возвращаются с номером строки, простыми словами, чтобы человек или ИИ-помощник мог исправить строку и нарисовать снова:

```
line 1: put +, -> or <-> between "[O:1]C" and "[O:1]C"
line 3: no atom is tagged :9 in the SMILES (write it as [X:9])
line 4: n..m (a bond being formed) can only be the destination
line 5: a move needs -> (curly arrow) or ~> (fish-hook) between its ends
C (map 2) has no lone pair
```

## Меньше набора, больше рисования: имена, выделение и номера

Номера атомов нужны, только когда атом неоднозначен. Элемент, который встречается в реагентах стадии один раз, называет себя сам, а в конце-связи учитываются только атомы, связанные с другим концом. Вот весь механизм SN1 без номеров атомов, с нумерацией соединений и стадий и рядами, идущими «змейкой»:

```
title: SN1 with element ends, numbered, snake rows
number: both
wrap: snake
per-row: 3
CC(C)(C)Br ->[slow] C[C+](C)C + [Br-]
move C-Br -> Br
-> C[C+](C)C + O
move :O -> O..C+
->[fast] CC(C)(C)[OH2+]
```

`C-Br` — единственный углерод, связанный с бромом, `C+` выбирает катион по его заряду, а `:O` — неподелённая пара единственного кислорода на этой стадии. Если элемент встречается дважды, MolScript сообщит об этом и попросит номер атома.

| `h2` | Атом водорода при атоме 2, явно добавленный за вас: `move :1 -> 1..h2; h2-2 -> 2-3`. |
| --- | --- |
| `let base = [OH-:1] "hydroxide"` | Определите частицу один раз, затем пишите `$base`. |
| `[OH]~C([H])([H])([H])~[Br] {ts}` | Переходное состояние: `~` — частичная (пунктирная) связь, `{ts}` рисует скобки с ‡ и выпрямляет образующиеся и разрывающиеся связи. |
| `{δ+=2 δ-=3}` | Частичные заряды рядом с атомами. |
| `{highlight=2/3-4:blue}` | Заливка маркером на атоме 2 и связи 3–4. |
| `{ox=1:II}`, `{dative=1-2}` | Степени окисления и связи металл–лиганд для металлоорганических стадий. |
| `[Ph] [R1] [Nu-:1]` | Сокращения и группы R, нарисованные как метки. |
| `->[{CC(=O)Cl}][AlCl3]` | Реагент, нарисованный как структура над стрелкой. |
| `layout: cycle` | Каталитический цикл; если закончить на первой частице, цикл замыкается, а при экспорте в chemfig получаются настоящие дуги. |

## Как скрипт превращается в рисунок

Скрипт каждый раз проходит одни и те же шаги, поэтому один и тот же скрипт всегда даёт один и тот же рисунок:

1. **Чтение.** Скрипт делится на строки схемы, строки move и директивы. Каждая частица, оператор, подпись и набор условий записывается с номером строки.
2. **Проверка меток.** Каждый номер атома в move должен стоять ровно на одном атоме, каждое `n-m` должно быть реальной связью, а каждое начало должно иметь электроны: неподелённую пару, заряд, радикал или связь.
3. **Рисование частиц.** Каждый SMILES становится 2D-структурой с аккуратными валентными углами. Явные атомы водорода, нужные стрелке, рисуются как атомы; заряды, неподелённые пары и радикальные точки добавляются там, где указано в SMILES.
4. **Компоновка схемы.** Структуры, знаки «плюс» и стрелки размещаются по их реальной ширине, ряды переносятся на стрелках реакции, а условия и подписи разносятся так, чтобы текст не перекрывался.
5. **Размещение изогнутых стрелок.** Каждая стрелка выходит из источника там, где её нарисовал бы химик, и изгибается в сторону от связей, меток и других стрелок (подробности ниже).
6. **Проверка химии.** Каждая стадия с изогнутыми стрелками «проигрывается» на электронах: каждая стрелка забирает два электрона (один для «рыболовной») у неподелённой пары, радикала или связи и помещает их на атом или в связь. Получившиеся структуры должны совпасть с записанными после стрелки. Неверный продукт (с указанием разницы в атомах и заряде), углерод с десятью электронами, стрелка от атома, у которого не осталось электронов, непарная «рыболовная» стрелка или стрелка резонанса, разрывающая σ-связь, сообщаются с номером строки.
7. **Оценка каждой стрелки.** Каждая поставленная стрелка измеряется по правилам. Стрелка, которая в тесном месте не смогла им удовлетворить, всё равно рисуется, но с предупреждением.
8. **Передача редактируемых объектов.** Результат — обычное содержимое холста: перетащите структуру, и её стрелки последуют за ней; меняйте оформление чего угодно и экспортируйте.

Правила для стрелок, которые применяет MolScript:

| Хвост | На неподелённой паре или знаке «минус», на радикальной точке или в середине связи, отдающей электроны, — но никогда поверх метки атома. |
| --- | --- |
| Наконечник | Чуть не доходя до атома, принимающего электроны, или в промежутке образующейся связи — со стороны атакующего атома. |
| Кривизна | Выгнута наружу от структуры, с постоянным углом наконечника; у «рыболовных» стрелок единственный зубец — на внешней стороне кривой. |
| Отступы | Держится в стороне от связей, меток, зарядов, точек и других стрелок; стрелки с общей целью расходятся веером, а не накладываются. |
| Длина | Слишком короткие для чтения или слишком длинные стрелки отмечаются. |

Каждый эталонный механизм из тестового набора MolScript рисуется и оценивается по этим правилам при каждом изменении MolDraw. Сейчас это 41 механизм с 81 изогнутой стрелкой — все проходят и правила рисования, и электронный баланс, — плюс рисунки из Templates. Все они собраны в [галерее MolScript](https://www.moldraw.com/ru/blog/molscript-gallery.html).

## Разобранные примеры

### Элиминирование E2: три стрелки на одной стадии

```
title: E2 elimination
[OH-:1] + [H:4][CH2:2][CH:3](C)[Br:5] ->[E2] C=CC + O + [Br-]
move :1 -> 1..4; 4-2 -> 2-3; 3-5 -> 5
```

![Элиминирование E2, нарисованное по MolScript: гидроксид забирает водород, связь C–H становится π-связью C=C, а связь C–Br разрывается с переходом электронов к брому](https://www.moldraw.com/blog/images/molscript/e2.webp)

Основание забирает водород, электроны C–H образуют новую π-связь, и бромид уходит.

### Присоединение по Михаэлю: цепочка стрелок через сопряжённую систему

```
title: Michael addition
[CH2-:1]C(C)=O + [CH2:2]=[CH:3][C:4](C)=[O:5] ->[1,4-addition] CC(=O)CCC=C(C)[O-]
move :1 -> 1..2; 2-3 -> 3-4; 4-5 -> 5
```

![Присоединение по Михаэлю, нарисованное по MolScript: углерод енолята атакует β-углерод, а электроны смещаются через связи C=C и C=O на кислород](https://www.moldraw.com/blog/images/molscript/michael-addition.webp)

`2-3 -> 3-4` переносит π-электроны C=C на связь C–C, делая её двойной.

### Дильс–Альдер: стрелки по кольцу

```
title: Diels–Alder
[CH2:1]=[CH:2][CH:3]=[CH2:4] + [CH2:5]=[CH2:6] ->[Δ] C1CC=CCC1
move 1-2 -> 2-3; 3-4 -> 4..5; 5-6 -> 6..1
```

![Реакция Дильса–Альдера, нарисованная по MolScript: три изогнутые стрелки вокруг циклического переходного состояния бутадиена и этена, дающего циклогексен](https://www.moldraw.com/blog/images/molscript/diels-alder.webp)

Две из трёх стрелок заканчиваются на связях, образующихся между двумя молекулами.

### Радикальное присоединение: «рыболовные» стрелки

```
title: Radical addition of Br• to propene
[Br:1] + [CH2:2]=[CH:3]C -> BrC[CH]C
move 1 ~> 1..2
move 2-3 ~> 1..2
move 2-3 ~> 3
```

![Радикальное присоединение атома брома к пропену, нарисованное по MolScript, с тремя «рыболовными» стрелками: две встречаются в новой связи C–Br, а одна идёт к углероду, который становится радикалом](https://www.moldraw.com/blog/images/molscript/radical-addition.webp)

`~>` рисует «рыболовную» стрелку. Две стрелки, заканчивающиеся на `1..2`, встречаются на середине новой связи.

### Резонанс: енолят

```
[CH2-:1][C:2](C)=[O:3] <-> C=C(C)[O-]
move :1 -> 1-2
move 2-3 -> 3
```

![Две резонансные формы енолята, нарисованные по MolScript, с двунаправленной стрелкой резонанса и двумя изогнутыми стрелками](https://www.moldraw.com/blog/images/molscript/enolate-resonance.webp)

`<->` — стрелка резонанса; изогнутые стрелки показывают, как одна форма переходит в другую.

## На основе MolScript: целые рисунки

Рисунки механизмов в панели **Templates** MolDraw (кнопка внизу левой панели инструментов) написаны на MolScript. Каждая стадия этерификации по Фишеру, альдольного присоединения и присоединения реактива Гриньяра — короткий скрипт; шаблон добавляет вокруг них панели, подписи стадий, кружки выделения и заметки. Поскольку стадии записаны текстом, каждая стрелка в каждом рисунке проверяется так же, как в примерах выше.

![Шаблон этерификации по Фишеру: общая реакция с отслеживанием атомов кислорода, пятистадийный механизм с изогнутыми стрелками, ключевые моменты и установка с насадкой Дина–Старка](https://www.moldraw.com/templates/fischer-esterification.webp)

Шаблон этерификации по Фишеру: пять стадий на MolScript внутри рисунка из четырёх панелей.

## MolScript и chemfig

[chemfig](https://www.moldraw.com/ru/blog/chemfig-latex-moldraw-guide.html) — пакет LaTeX, которым большинство химиков набирают структуры и механизмы. Он превосходно справляется со своей задачей, и MolScript не призван заменить его внутри LaTeX. Они описывают разные вещи:

|  | **chemfig** | **MolScript** |
| --- | --- | --- |
| Что вы описываете | Рисунок: угол и длину каждой связи, затем привязку, смещение и изгиб каждой стрелки. | Химию: частицы в виде SMILES и какие электроны куда переходят. |
| Компоновка | Вручную, для каждой структуры и каждой схемы. | Автоматически: структуры, ряды, условия и подписи. |
| Изогнутые стрелки | Пути TikZ между именованными точками; положения фиксируются при втором прогоне LaTeX. | Одна строка `move` между номерами атомов; стрелка ставится и оценивается по правилам рисования. |
| Ошибки | Проявляются как неправильно выглядящий PDF. | Сообщаются с номерами строк: отсутствующий номер атома, начало без электронов, несуществующая связь. |
| Результат | Свёрстанный результат в документе. | Редактируемые объекты холста, а также экспорт в растровые, векторные форматы и chemfig. |
| Лучше всего подходит для | Тонкий типографский контроль внутри документа LaTeX. | Быстро получить правильный, аккуратный механизм — вручную или с помощью ИИ-помощника. |

Они работают вместе: рисуйте на MolScript, затем выберите **Download → chemfig (.tex)**, чтобы получить код chemfig для документа. В [примерах механизмов на chemfig](https://www.moldraw.com/ru/blog/chemfig-mechanism-samples.html) видно, как выглядит такой код.

## Почему текст: MolScript и ИИ-помощники

MolScript создан так, чтобы языковая модель могла нарисовать механизм, ни разу не работая с координатами:

- **Модели уже хорошо пишут SMILES**, поэтому каждая частица записана в знакомой им нотации.
- **Номера атомов делают стрелки однозначными.** «От неподелённой пары атома 1 к связи, образующейся между 1 и 2» невозможно поставить не туда, в отличие от «стрелки от кислорода к углероду».
- **Ошибки понятно, как исправить.** Модель, получившая `line 3: no atom is tagged :9`, может исправить строку 3 и попробовать снова.
- **Геометрия — не задача модели.** Изгибы, зазоры и отступы определяет и проверяет движок — а именно в этом модели слабее всего.

ИИ-чат MolDraw уже работает так: попросите его «механизм альдольного присоединения», и он незаметно для вас напишет MolScript. MolScript также оформлен как **ИИ-навык**: одна папка со справочником по языку, правилами, которые ловят большинство ошибок, 41 проверенным примером и небольшим автономным модулем проверки. Порядок работы, которому он учит помощника: спланировать интермедиаты, написать скрипт, запустить проверку, исправить каждую найденную проблему и только потом отвечать — так механизм проверяется электрон за электроном до того, как вы его увидите.

Чтобы измерить, насколько хорошо это работает, есть **оценочный набор** из 41 запроса на механизмы («покажи депротонирование трет-бутильного катиона в E1», «нарисуй цикл кросс-сочетания на Pd со степенями окисления»), к каждому есть эталонный скрипт. Ответ получает четыре балла: он компилируется, его электроны сходятся, он заканчивается правильными продуктами, и каждая изогнутая стрелка проходит правила рисования. Эталонные скрипты набирают 100 %.

## Планы: от функции MolDraw к открытому фреймворку

План — выпустить MolScript, его компилятор и движок схем и стрелок как **фреймворк с открытым исходным кодом**, который любое приложение с холстом сможет использовать для рисования реакций и механизмов с надёжностью языка программирования: письменная спецификация, стабильный результат и ошибки, с которыми можно работать. Вот что отделяет сегодняшний день от этого выпуска.

### Язык

| Частицы, операторы, условия, подписи, строки продолжения | Готово |
| --- | --- |
| Двухэлектронные и «рыболовные» стрелки от неподелённых пар, зарядов, радикалов и связей | Готово |
| Версионированная спецификация (MolScript 1, `molscript: 1`) с формальной грамматикой и набором тестов на соответствие | Готово |
| Именованные частицы для повторного использования: `let A = …`, затем `$A` на следующих стадиях | Готово |
| Подсказки по ориентации: `{rotate=90}`, `{flip}`, `{align=3}` | Готово |
| Переходные состояния (`{ts}`, частичные связи через `~`), δ+ / δ−, скобки | Готово |
| Выделение (`{highlight=2/3-4:blue}`), номера соединений и стадий (`number: both`) | Готово |
| Реагенты, нарисованные как структуры над стрелкой; сокращения (Ph, Ts, Boc) и группы R | Готово |
| Замкнутые каталитические циклы с читаемыми подписями на каждой дуге | Готово |
| Изогнутые стрелки внутри циклов, связи металл–лиганд (`{dative=1-2}`) и степени окисления (`{ox=1:II}`) | Готово |

### Точность

| Метки существуют, у начал есть электроны, каждая нарисованная стрелка проходит геометрические правила | Готово |
| --- | --- |
| Электронный баланс: вывести продукт, который следует из стрелок, и сравнить его с записанным | Готово |
| Баланс заряда и атомов на каждой стадии; проверки октета, непарных «рыболовных» стрелок и резонанса (σ-связь) | Готово |
| Меньше церемоний с водородами: `h2` обозначает водород при атоме 2 | Готово |
| Меньше номеров атомов: достаточно элемента, уникального на стадии (`move C-Br -> Br`) | Готово |

### Компоновка

| Ряды компонуются по реальной ширине; условия и подписи никогда не перекрываются | Готово |
| --- | --- |
| Сбалансированные переносы рядов (3 + 2, а не 4 + 1) и перенос по ширине (`width:`) | Готово |
| Более короткие соединители между рядами: `wrap: snake` ведёт следующий ряд обратно с короткой стрелкой вниз | Готово |
| Размещение по сетке (`layout: grid`), столбцы выровнены от ряда к ряду | Готово |

### Фреймворк

| Компилятор и модуль проверки как отдельный пакет, независимый от приложения MolDraw | Готово |
| --- | --- |
| Стабильный документированный формат схем между компилятором и любым средством отрисовки | Готово |
| Вывод для холста, SVG и PNG; экспорт в chemfig и JSON | Готово |
| Экспорт каталитических циклов в chemfig с настоящими дугами (и импорт обратно) | Готово |
| Инструмент командной строки: на входе скрипт, на выходе отчёт о проверке, изображение или файл chemfig | Готово |
| Версионированная компоновка, чтобы скрипт рисовался так же после обновления | Готово |
| Поддержка в редакторе: подсветка и проблемы прямо при вводе (вкладка MolScript в Templates) | Готово |
| Автодополнение номеров атомов, параметров и ключевых слов в редакторе (Tab выбирает первый вариант) | Готово |
| Публичная [галерея эталонных механизмов](https://www.moldraw.com/ru/blog/molscript-gallery.html), каждый из которых проверяется автоматически | Готово |
| В галерее 41 проверенный механизм; расширить до сотен | Далее |
| Опубликовать пакет, навык и спецификацию как открытый исходный код | Далее |

### ИИ-навык

| Используется ИИ-чатом MolDraw; ошибки с номерами строк возвращаются модели | Готово |
| --- | --- |
| Готовый навык: справочник, правила, разобранные примеры и шаг проверки, который помощник может выполнить перед ответом | Готово |
| Оценочный набор из 41 запроса на механизмы с оценкой правильности химии и аккуратности стрелок | Готово |
| Опубликовать результаты основных ИИ-моделей на оценочном наборе | Далее |

Если вы преподаёте, пишете статьи или разрабатываете химическое ПО и хотите повлиять на развитие, напишите нам через **Request feature** в MolDraw.

## Попробуйте

1. Откройте [MolDraw](https://www.moldraw.com/ru/) и ИИ-чат и попросите механизм, например «нарисуй механизм E2 для 2-бромпропана с гидроксидом». Чат напишет MolScript и нарисует его.
2. Или откройте **Templates** внизу левой панели инструментов и добавьте рисунок этерификации по Фишеру, альдольной реакции или реакции Гриньяра — либо напишите собственный скрипт на вкладке **MolScript**: она подсвечивает скрипт, показывает проблемы при вводе и рисует результат на холсте.
3. Перетаскивайте, меняйте оформление или дополняйте результат, как любой рисунок, затем скачайте его как изображение или как chemfig.

## Вопросы и ответы

### Что такое MolScript?

MolScript — короткий текстовый язык для схем реакций и механизмов с изогнутыми стрелками. Частицы записываются как SMILES и соединяются знаками `+`, `->`, `<->` или `<=>`, а каждая изогнутая стрелка — это одна строка `move` между номерами атомов. MolDraw рисует структуры, условия, неподелённые пары, заряды и стрелки, и результат остаётся редактируемым на холсте.

### Как нарисовать изогнутую стрелку в MolScript?

Пометьте атомы, которых касается стрелка, номерами в SMILES, например `[OH-:1]` и `[CH3:2][Br:3]`, затем напишите `move :1 -> 1..2` для неподелённой пары атома 1, образующей связь с атомом 2, и `move 2-3 -> 3` для связи C–Br, разрывающейся с переходом электронов к брому.

### Как нарисовать «рыболовную» (одноэлектронную) стрелку?

Используйте `~>` вместо `->`: `move 1-2 ~> 1` отправляет один электрон связи между атомами 1 и 2 на атом 1. Две «рыболовные» стрелки, заканчивающиеся на одной образующейся связи (`n..m`), встречаются на её середине.

### MolScript лучше, чем chemfig?

Они решают разные задачи и работают вместе. chemfig — пакет LaTeX, в котором каждую связь и стрелку вы размещаете в документе сами. MolScript описывает химию, а компоновку и геометрию стрелок оставляет MolDraw, который проверяет каждую стрелку. Любой рисунок MolScript можно скачать как код chemfig для документа LaTeX.

### Могут ли ИИ-помощники писать на MolScript?

Да. ИИ-чат MolDraw рисует механизмы, записывая их на MolScript: языковые модели хорошо пишут SMILES, а номера атомов делают каждый конец стрелки однозначным. Ошибки возвращаются с номерами строк, чтобы модель могла их исправить. Планируется готовый ИИ-навык (skill), чтобы его могли использовать и другие помощники.

### Станет ли MolScript открытым?

Таков план: язык, компилятор и движок схем и стрелок будут выпущены как открытый фреймворк, который другие приложения с холстом смогут использовать для рисования реакций и механизмов. В разделе планов развития перечислено, что нужно сделать до этого.

## Полезные руководства

[Галерея MolScript: 41 проверенный механизм](https://www.moldraw.com/ru/blog/molscript-gallery.html) [Примеры механизмов в chemfig](https://www.moldraw.com/ru/blog/chemfig-mechanism-samples.html) [chemfig и MolDraw: вставка, правка, экспорт](https://www.moldraw.com/ru/blog/chemfig-latex-moldraw-guide.html) [Рисование химических реакций](https://www.moldraw.com/ru/tools/free-chem-tools/chemical-reaction-drawer.html) [Добавление неподелённых пар](https://www.moldraw.com/ru/blog/how-to-add-lone-pair-in-moldraw.html) [Все статьи](https://www.moldraw.com/ru/blog/)

Последнее обновление: 17 октября 2026 г.
