---
title: "MolScript: tekstowy język schematów reakcji i mechanizmów ze strzałkami | Blog MolDraw"
url: https://www.moldraw.com/pl/blog/molscript-reaction-mechanism-language.html
description: "MolScript to krótki język tekstowy do schematów reakcji i mechanizmów z przepływem elektronów: drobiny jako SMILES, mapowanie atomów dla końców strzałek, wiersze move dla strzałek i półstrzałek. Pełna dokumentacja, jak strzałki są rozmieszczane i sprawdzane, rozwiązane przykłady, porównanie z chemfig i plan rozwoju w kierunku otwartego frameworka."
lang: pl
publisher: Scidart Academy
generated: 2026-10-26
---
# MolScript: tekstowy język schematów reakcji i mechanizmów ze strzałkami

Opublikowano: 17 paź 2026 · Autor: Scidart Academy · Czas czytania: ~16 min

![Sześć wierszy MolScript w ciemnym panelu kodu obok narysowanego przez nie etapu SN2: jon wodorotlenkowy atakuje bromometan, dwie strzałki](https://www.moldraw.com/blog/thumbs/molscript-reaction-mechanism-language.webp)

Sześć wierszy MolScript rysuje kompletny etap SN2: struktury, ładunki, warunki i obie strzałki.

**Krótka odpowiedź:** MolScript to mały język tekstowy do schematów reakcji i mechanizmów z przepływem elektronów. Każdą drobinę zapisujesz jako **SMILES**, łączysz drobiny za pomocą `+`, `->`, `<->` lub `<=>`, oznaczasz atomy, których dotyka strzałka, **numerami mapowania atomów** i piszesz jeden wiersz `move` na każdą strzałkę. MolDraw rysuje struktury, warunki, wolne pary elektronowe, ładunki i każdą strzałkę oraz **sprawdza każdą strzałkę** pod kątem zasad rysowania, zanim ją zobaczysz. Wynikiem jest zwykła, edytowalna zawartość płótna, którą możesz pobrać jako obraz lub jako kod chemfig do LaTeX.

## MolScript w skrócie

| Co piszesz | Drobiny jako SMILES, operatory między nimi, warunki w nawiasach po strzałce i wiersze `move` dla elektronów. |
| --- | --- |
| Co otrzymujesz | Rozplanowany schemat: struktury, znaki plus, strzałki reakcji, równowagi lub rezonansu, warunki, podpisy, wolne pary elektronowe, ładunki, kropki rodnikowe i strzałki. |
| Rodzaje strzałek | Strzałki dwuelektronowe (`->`) i półstrzałki jednoelektronowe (`~>`), od wolnych par, ładunków, rodników, atomów lub wiązań do atomów, wiązań lub wiązań tworzonych. |
| Sprawdzanie | Każdy numer mapowania musi istnieć i być unikatowy; każda strzałka musi zaczynać się tam, gdzie są elektrony; każda narysowana strzałka jest oceniana pod kątem odstępów, celowania, krzywizny i prześwitu. Problemy wracają z numerami wierszy. |
| Wynik | Edytowalne obiekty płótna MolDraw; każdy eksport MolDraw, w tym chemfig (.tex) do dokumentów LaTeX. |
| Gdzie jest używany dziś | Czat AI w MolDraw rysuje mechanizmy, pisząc MolScript, a z niego zbudowane są rysunki mechanizmów w panelu Templates. |
| Co dalej | Otwarty framework dla aplikacji z płótnem i umiejętność AI, którą może wczytać każdy asystent. Zobacz plan rozwoju. |

## Twój pierwszy skrypt: SN2

Jon wodorotlenkowy atakuje bromometan od tyłu, a jon bromkowy odchodzi w tym samym etapie. W MolScript to cztery wiersze:

```
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 bromometanu narysowana z MolScript: strzałka od ładunku jonu wodorotlenkowego do atomu węgla i druga od wiązania C–Br do bromu, z napisem SN2 nad strzałką reakcji i acetonem pod nią](https://www.moldraw.com/blog/images/molscript/sn2.webp)

Narysowane przez MolDraw dokładnie z czterech powyższych wierszy.

Wiersz po wierszu:

1. `title:` umieszcza nagłówek nad schematem.
2. Wiersz schematu wymienia drobiny. `[OH-:1]` to jon wodorotlenkowy, którego tlen ma numer mapowania 1; `[CH3:2][Br:3]` to bromometan z węglem jako 2 i bromem jako 3. `"hydroxide"` to podpis rysowany pod strukturą. `->[SN2][acetone]` to strzałka reakcji z tekstem nad nią i pod nią.
3. `move :1 -> 1..2`: wolna para (tutaj ładunek ujemny) atomu 1 przechodzi do wiązania tworzonego między 1 a 2.
4. `move 2-3 -> 3`: elektrony istniejącego wiązania C–Br przechodzą na brom.

Numery mapowania to etykiety dla Ciebie i dla strzałek. Nigdy nie są rysowane i nie zmieniają cząsteczki.

## Język

### Drobiny i operatory

Każdy SMILES jest drobiną. Operatory zapisuje się ze spacją po każdej stronie:

| `+` | Plus między współreagentami lub współproduktami. Drobiny połączone `+` zawsze pozostają w jednym rzędzie. |
| --- | --- |
| `->` | Strzałka reakcji. |
| `<=>` | Strzałka równowagi (dwie strzałki z półgrotami). |
| `<->` | Strzałka rezonansu (z dwoma grotami). Używaj jej między strukturami rezonansowymi jednej drobiny. |
| `=>` | Strzałka retrosyntezy. |

Tekst nad strzałką i pod nią umieszcza się w nawiasach kwadratowych dołączonych bezpośrednio do niej: `->[NaBH4][MeOH, 0 °C]`. Pozostaw pierwszą parę pustą, jeśli tekst ma być tylko pod spodem: `->[][reflux]`. Podpis w cudzysłowie po drobinie jest rysowany pod nią: `CC(=O)O "acetic acid"`.

### Kilka etapów

Wiersz zaczynający się od operatora kontynuuje schemat od ostatniej drobiny, więc mechanizm czyta się po jednym etapie na wiersz, ze strzałkami danego etapu tuż pod nim:

```
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+]
```

![Dwuetapowy mechanizm SN1 narysowany z MolScript: jonizacja do kationu tert-butylowego z rozpadem wiązania C–Br na brom, a następnie atak wody na karbokation](https://www.moldraw.com/blog/images/molscript/sn1.webp)

Rzędy łamią się tylko na strzałkach reakcji. Strzałka przenosząca schemat do następnego rzędu to jedna z rzeczy, które ulepsza plan rozwoju.

### Strzałki: wiersze `move`

Każdy atom, którego dotyka strzałka, dostaje numer mapowania w SMILES: `[OH-:1]`, `[CH3:2][Br:3]`, `[O:4]` dla zwykłego atomu tlenu. Numery muszą być unikatowe w całym skrypcie. Następnie:

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

Oba końce zapisuje się w ten sam sposób:

| `:n` | Wolna para atomu n. W anionie strzałka zaczyna się od znaku minus, tak jak rysują ją chemicy. |
| --- | --- |
| `n` | Atom n. Strzałka rodnika zaczyna się od jego kropki. |
| `n-m` | Istniejące wiązanie między atomami n i m. Jako początek: jego elektrony opuszczają wiązanie; jako koniec: czynią z niego wiązanie podwójne. |
| `n..m` | Wiązanie tworzone między n i m (tylko jako koniec). Grot zatrzymuje się obok atomu m, po stronie zwróconej do n. |

Kilka strzałek może dzielić wiersz, rozdzielonych średnikami: `move :1 -> 1..4; 4-2 -> 2-3; 3-5 -> 5`. Przenoszony atom wodoru zapisz jawnie, `[H:5][O:6]CC`, aby strzałka mogła zacząć się od jego wiązania. Zmapowane centrum rodnikowe zapisz z liczbą atomów wodoru, aby zachowało kropkę: `CC(C)(C)[OH0:1]` to rodnik tert-butoksylowy.

Strzałki są rozmieszczane automatycznie. Jeśli chcesz konkretnego wygięcia, dodaj nadpisanie w nawiasach klamrowych: `move 2-3 -> 3 {bow=0.3 side=left}`.

### Dyrektywy i komentarze

| `title: …` | Nagłówek nad schematem. |
| --- | --- |
| `per-row: 2` do `8` | Liczba struktur w rzędzie, zanim schemat się złamie (domyślnie 4). |
| `layout: row`, `cycle`, `branch` | Kształt schematu: od lewej do prawej, cykl katalityczny lub jeden substrat i kilka produktów. |
| `# …` | Komentarz do końca wiersza. `#` wewnątrz SMILES (wiązanie potrójne) nie jest komentarzem. |

### Błędy

Problemy wracają z numerem wiersza, w którym występują, opisane prostymi słowami, aby człowiek lub asystent AI mógł poprawić wiersz i narysować ponownie:

```
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
```

## Mniej pisania, więcej rysowania: nazwy, wyróżnienia i numery

Numery mapowania są potrzebne tylko wtedy, gdy atom jest niejednoznaczny. Pierwiastek występujący raz wśród substratów danego etapu sam się nazywa, a w końcu typu wiązanie liczą się tylko atomy związane z drugim końcem. Oto cały mechanizm SN1 bez numerów mapowania, z ponumerowanymi związkami i etapami oraz rzędami biegnącymi tam i z powrotem:

```
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` to jedyny atom węgla związany z bromem, `C+` wybiera kation po ładunku, a `:O` to wolna para jedynego atomu tlenu w tym etapie. Jeśli pierwiastek występuje dwa razy, MolScript to zgłasza i prosi o numer mapowania.

| `h2` | Atom wodoru przy atomie 2, dodany jawnie za Ciebie: `move :1 -> 1..h2; h2-2 -> 2-3`. |
| --- | --- |
| `let base = [OH-:1] "hydroxide"` | Zdefiniuj drobinę raz, a potem pisz `$base`. |
| `[OH]~C([H])([H])([H])~[Br] {ts}` | Stan przejściowy: `~` to wiązanie częściowe (kropkowane), a `{ts}` rysuje nawiasy z ‡ i prostuje wiązania tworzone i zrywane. |
| `{δ+=2 δ-=3}` | Ładunki cząstkowe obok atomów. |
| `{highlight=2/3-4:blue}` | Wypełnienie zakreślaczem atomu 2 i wiązania 3–4. |
| `{ox=1:II}`, `{dative=1-2}` | Stopnie utlenienia i wiązania metal–ligand dla etapów metaloorganicznych. |
| `[Ph] [R1] [Nu-:1]` | Skróty i grupy R rysowane jako etykiety. |
| `->[{CC(=O)Cl}][AlCl3]` | Reagent narysowany jako struktura nad strzałką. |
| `layout: cycle` | Cykl katalityczny; zakończenie na pierwszej drobinie zamyka pętlę, a eksport do chemfig daje prawdziwe łuki. |

## Jak skrypt staje się rysunkiem

Skrypt za każdym razem przechodzi przez te same kroki, więc ten sam skrypt zawsze daje ten sam rysunek:

1. **Odczyt.** Skrypt jest dzielony na wiersze schematu, wiersze move i dyrektywy. Każda drobina, operator, podpis i zestaw warunków jest zapisywany z numerem wiersza.
2. **Sprawdzenie etykiet.** Każdy numer mapowania użyty w move musi być na dokładnie jednym atomie, każde `n-m` musi być prawdziwym wiązaniem, a każdy początek musi mieć elektrony do oddania: wolną parę, ładunek, rodnik lub wiązanie.
3. **Rysowanie drobin.** Każdy SMILES staje się strukturą 2D z czystymi kątami wiązań. Jawne atomy wodoru potrzebne strzałce są rysowane jako atomy; ładunki, wolne pary i kropki rodnikowe są dodawane tam, gdzie wskazuje SMILES.
4. **Rozplanowanie schematu.** Struktury, znaki plus i strzałki są układane według rzeczywistych szerokości, rzędy łamią się na strzałkach reakcji, a warunki i podpisy są rozmieszczone tak, aby tekst się nie nakładał.
5. **Rozmieszczenie strzałek.** Każda strzałka wychodzi ze źródła tam, gdzie narysowałby ją chemik, i wygina się z dala od wiązań, etykiet i innych strzałek (szczegóły poniżej).
6. **Sprawdzenie chemii.** Każdy etap ze strzałkami jest odtwarzany na elektronach: każda strzałka zabiera dwa elektrony (jeden dla półstrzałki) z wolnej pary, rodnika lub wiązania i umieszcza je na atomie lub w wiązaniu. Powstałe struktury muszą zgadzać się z zapisanymi po strzałce. Zły produkt (z różnicą atomów i ładunku), atom węgla z dziesięcioma elektronami, strzałka od atomu, któremu nie zostały elektrony, niesparowana półstrzałka lub strzałka rezonansu zrywająca wiązanie σ są zgłaszane z numerem wiersza.
7. **Ocena każdej strzałki.** Każda rozmieszczona strzałka jest mierzona względem zasad. Strzałka, która w zatłoczonym miejscu nie mogła ich spełnić, jest nadal rysowana i zgłaszana jako ostrzeżenie.
8. **Przekazanie edytowalnych obiektów.** Wynik to zwykła zawartość płótna: przeciągnij strukturę, a jej strzałki podążą za nią, zmieniaj styl czegokolwiek i eksportuj.

Zasady rysowania strzałek stosowane przez MolScript:

| Ogon | Na wolnej parze lub znaku minus, kropce rodnikowej lub w środku wiązania oddającego elektrony, nigdy na etykiecie atomu. |
| --- | --- |
| Grot | Tuż przed atomem przyjmującym elektrony lub w przerwie tworzonego wiązania, po stronie zwróconej do atomu atakującego. |
| Krzywizna | Wygięta na zewnątrz struktury, ze stałym kątem grotu; półstrzałki mają pojedynczy zadzior po zewnętrznej stronie łuku. |
| Prześwit | Z dala od wiązań, etykiet, ładunków, kropek i innych strzałek; strzałki o wspólnym celu rozchodzą się wachlarzem zamiast się nakładać. |
| Długość | Zbyt krótka, by ją odczytać, lub zbyt długa, by za nią podążać – jest oznaczana. |

Każdy mechanizm referencyjny z zestawu testowego MolScript jest rysowany i oceniany według tych zasad przy każdej zmianie MolDraw. Obecnie to 41 mechanizmów z 81 strzałkami, które przechodzą zarówno zasady rysowania, jak i bilans elektronów, a także rysunki z Templates. Każdy z nich zobaczysz w [galerii MolScript](https://www.moldraw.com/pl/blog/molscript-gallery.html).

## Rozwiązane przykłady

### Eliminacja E2: trzy strzałki w jednym etapie

```
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
```

![Eliminacja E2 narysowana z MolScript: jon wodorotlenkowy odrywa atom wodoru, wiązanie C–H staje się wiązaniem π C=C, a wiązanie C–Br rozpada się na brom](https://www.moldraw.com/blog/images/molscript/e2.webp)

Zasada odrywa atom wodoru, elektrony C–H tworzą nowe wiązanie π, a jon bromkowy odchodzi.

### Addycja Michaela: łańcuch strzałek przez układ sprzężony

```
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
```

![Addycja Michaela narysowana z MolScript: atom węgla enolanu atakuje węgiel β, a elektrony przesuwają się przez wiązania C=C i C=O na tlen](https://www.moldraw.com/blog/images/molscript/michael-addition.webp)

`2-3 -> 3-4` przesuwa elektrony π wiązania C=C do wiązania C–C, czyniąc je podwójnym.

### Diels–Alder: strzałki w pierścieniu

```
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
```

![Reakcja Dielsa–Aldera narysowana z MolScript: trzy strzałki wokół cyklicznego stanu przejściowego butadienu i etenu dającego cykloheksen](https://www.moldraw.com/blog/images/molscript/diels-alder.webp)

Dwie z trzech strzałek kończą się na wiązaniach tworzonych między dwiema cząsteczkami.

### Addycja rodnikowa: półstrzałki

```
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
```

![Addycja atomu bromu do propenu narysowana z MolScript z trzema półstrzałkami: dwie spotykają się w nowym wiązaniu C–Br, a jedna biegnie do atomu węgla, który staje się rodnikiem](https://www.moldraw.com/blog/images/molscript/radical-addition.webp)

`~>` rysuje półstrzałkę. Dwie kończące się na `1..2` spotykają się w środku nowego wiązania.

### Rezonans: enolan

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

![Dwie struktury rezonansowe enolanu narysowane z MolScript ze strzałką rezonansu i dwiema strzałkami](https://www.moldraw.com/blog/images/molscript/enolate-resonance.webp)

`<->` to strzałka rezonansu; strzałki zakrzywione pokazują, jak jedna struktura przechodzi w drugą.

## Zbudowane na MolScript: całe rysunki

Rysunki mechanizmów w panelu **Templates** w MolDraw (przycisk na dole lewego paska narzędzi) są napisane w MolScript. Każdy etap estryfikacji Fischera, addycji aldolowej i addycji Grignarda to krótki skrypt; szablon dodaje wokół nich panele, etykiety etapów, kółka wyróżnień i uwagi. Ponieważ etapy są tekstem, każda strzałka na każdym rysunku jest sprawdzana tak samo jak w powyższych przykładach.

![Szablon estryfikacji Fischera: reakcja sumaryczna ze śledzonymi atomami tlenu, pięcioetapowy mechanizm ze strzałkami, najważniejsze punkty i nasadka Deana–Starka](https://www.moldraw.com/templates/fischer-esterification.webp)

Szablon estryfikacji Fischera: pięć etapów MolScript w rysunku z czterema panelami.

## MolScript i chemfig

[chemfig](https://www.moldraw.com/pl/blog/chemfig-latex-moldraw-guide.html) to pakiet LaTeX, którego większość chemików używa do składu struktur i mechanizmów. Jest znakomity w tym, do czego służy, a MolScript nie ma go zastępować wewnątrz LaTeX. Oba opisują różne rzeczy:

|  | **chemfig** | **MolScript** |
| --- | --- | --- |
| Co opisujesz | Rysunek: kąt i długość każdego wiązania, a potem zaczepienie, przesunięcie i wygięcie każdej strzałki. | Chemię: drobiny jako SMILES i to, które elektrony gdzie się przemieszczają. |
| Układ | Ręcznie, dla każdej struktury i każdego schematu. | Automatycznie: struktury, rzędy, warunki i podpisy. |
| Zakrzywione strzałki | Ścieżki TikZ między nazwanymi punktami; położenia są ustalane w drugim przebiegu LaTeX. | Jeden wiersz `move` między numerami mapowania; rozmieszczany i oceniany według zasad rysowania. |
| Błędy | Ujawniają się jako źle wyglądający PDF. | Zgłaszane z numerami wierszy: brakujący numer mapowania, początek bez elektronów, nieistniejące wiązanie. |
| Wynik | Złożony tekst w dokumencie. | Edytowalne obiekty płótna oraz eksport do obrazu, grafiki wektorowej i chemfig. |
| Najlepszy do | Precyzyjna kontrola typograficzna w dokumencie LaTeX. | Szybkie uzyskanie poprawnego, czystego mechanizmu – ręcznie lub od asystenta AI. |

Współpracują ze sobą: rysuj w MolScript, a potem wybierz **Download → chemfig (.tex)**, aby otrzymać kod chemfig do dokumentu. [Przykładowe mechanizmy w chemfig](https://www.moldraw.com/pl/blog/chemfig-mechanism-samples.html) pokazują, jak wygląda ten kod.

## Dlaczego tekst: MolScript i asystenci AI

MolScript zaprojektowano tak, aby model językowy mógł narysować mechanizm bez jakiegokolwiek operowania współrzędnymi:

- **Modele już dobrze piszą SMILES**, więc każda drobina jest w znanej im notacji.
- **Mapowanie atomów czyni strzałki jednoznacznymi.** „Od wolnej pary atomu 1 do wiązania tworzonego między 1 a 2” nie da się źle umieścić, tak jak można źle umieścić „strzałkę od tlenu do węgla”.
- **Błędy wskazują, co zrobić.** Model, który dostanie `line 3: no atom is tagged :9`, może poprawić wiersz 3 i spróbować ponownie.
- **Geometria nie jest zadaniem modelu.** O wygięciach, odstępach i prześwitach decyduje i sprawdza je silnik – a to właśnie tu modele są najsłabsze.

Czat AI w MolDraw już tak działa: poproś go o „mechanizm addycji aldolowej”, a w tle napisze MolScript. MolScript jest też spakowany jako **umiejętność AI** (skill): jeden folder z dokumentacją języka, zasadami wyłapującymi większość błędów, 41 sprawdzonymi przykładami i małym samodzielnym narzędziem sprawdzającym. Uczy ona asystenta takiego sposobu pracy: zaplanować produkty pośrednie, napisać skrypt, uruchomić sprawdzanie, poprawić każdy zgłoszony problem i dopiero wtedy odpowiedzieć, dzięki czemu mechanizm jest sprawdzony elektron po elektronie, zanim go zobaczysz.

Aby zmierzyć, jak dobrze to działa, istnieje **zestaw ewaluacyjny** 41 próśb o mechanizmy („pokaż deprotonację kationu tert-butylowego w E1”, „narysuj cykl sprzęgania krzyżowego Pd ze stopniami utlenienia”), każda ze skryptem referencyjnym. Odpowiedź zdobywa cztery punkty: kompiluje się, bilans elektronów się zgadza, kończy się na właściwych produktach, a każda strzałka spełnia zasady rysowania. Skrypty referencyjne uzyskują 100%.

## Plan rozwoju: od funkcji MolDraw do otwartego frameworka

Planujemy udostępnić MolScript, jego kompilator oraz silnik schematów i strzałek jako **framework open source**, którego każda aplikacja z płótnem będzie mogła używać do rysowania reakcji i mechanizmów, z niezawodnością języka programowania: spisaną specyfikacją, stabilnym wynikiem i błędami, na które można zareagować. Oto, co dzieli nas dziś od tego wydania.

### Język

| Drobiny, operatory, warunki, podpisy, wiersze kontynuacji | Gotowe |
| --- | --- |
| Strzałki dwuelektronowe i półstrzałki od wolnych par, ładunków, rodników i wiązań | Gotowe |
| Wersjonowana specyfikacja (MolScript 1, `molscript: 1`) z formalną gramatyką i zestawem testów zgodności | Gotowe |
| Nazwane drobiny wielokrotnego użytku: `let A = …`, a potem `$A` w kolejnych etapach | Gotowe |
| Wskazówki orientacji: `{rotate=90}`, `{flip}`, `{align=3}` | Gotowe |
| Stany przejściowe (`{ts}`, wiązania częściowe z `~`), δ+ / δ−, nawiasy | Gotowe |
| Wyróżnienia (`{highlight=2/3-4:blue}`), numery związków i etapów (`number: both`) | Gotowe |
| Reagenty rysowane jako struktury nad strzałką; skróty (Ph, Ts, Boc) i grupy R | Gotowe |
| Cykle katalityczne zamykające się same w sobie, z czytelnymi etykietami na każdym łuku | Gotowe |
| Strzałki wewnątrz cykli, wiązania metal–ligand (`{dative=1-2}`) i stopnie utlenienia (`{ox=1:II}`) | Gotowe |

### Rzetelność

| Etykiety istnieją, początki mają elektrony, każda narysowana strzałka spełnia zasady geometrii | Gotowe |
| --- | --- |
| Bilans elektronów: wyznaczenie produktu wynikającego ze strzałek i porównanie go z zapisanym produktem | Gotowe |
| Bilans ładunku i atomów dla każdego etapu; kontrola oktetu, niesparowanych półstrzałek i rezonansu (wiązanie σ) | Gotowe |
| Mniej ceregieli z atomami wodoru: `h2` nazywa atom wodoru przy atomie 2 | Gotowe |
| Mniej numerów mapowania: wystarczy pierwiastek unikatowy w danym etapie (`move C-Br -> Br`) | Gotowe |

### Układ

| Rzędy układane według rzeczywistych szerokości; warunki i podpisy nigdy się nie nakładają | Gotowe |
| --- | --- |
| Zrównoważone łamanie rzędów (3 + 2, a nie 4 + 1) i łamanie według szerokości (`width:`) | Gotowe |
| Krótsze łączniki między rzędami: `wrap: snake` prowadzi następny rząd z powrotem z krótką strzałką w dół | Gotowe |
| Rozmieszczenie w siatce (`layout: grid`), kolumny wyrównane między rzędami | Gotowe |

### Framework

| Kompilator i narzędzie sprawdzające jako samodzielny pakiet, niezależny od aplikacji MolDraw | Gotowe |
| --- | --- |
| Stabilny, udokumentowany format schematów między kompilatorem a dowolnym rendererem | Gotowe |
| Wyjście na płótno, do SVG i PNG; eksportery do chemfig i JSON | Gotowe |
| Eksport cykli katalitycznych do chemfig z prawdziwymi łukami (i import z powrotem) | Gotowe |
| Narzędzie wiersza poleceń: na wejściu skrypt, na wyjściu raport ze sprawdzenia, obraz lub plik chemfig | Gotowe |
| Wersjonowany układ, aby skrypt rysował się tak samo po aktualizacji | Gotowe |
| Obsługa w edytorze: podświetlanie i problemy na bieżąco podczas pisania (karta MolScript w Templates) | Gotowe |
| Uzupełnianie numerów mapowania, opcji i słów kluczowych w edytorze (Tab wybiera pierwszą podpowiedź) | Gotowe |
| Publiczna [galeria mechanizmów referencyjnych](https://www.moldraw.com/pl/blog/molscript-gallery.html), każdy sprawdzany automatycznie | Gotowe |
| Galeria liczy 41 sprawdzonych mechanizmów; rozbudowa do setek | Dalej |
| Udostępnienie pakietu, umiejętności AI i specyfikacji jako open source | Dalej |

### Umiejętność AI

| Używana przez czat AI w MolDraw, z błędami z numerami wierszy przekazywanymi z powrotem do modelu | Gotowe |
| --- | --- |
| Spakowana umiejętność: dokumentacja, zasady, rozwiązane przykłady i krok sprawdzania, który asystent może uruchomić przed odpowiedzią | Gotowe |
| Zestaw ewaluacyjny 41 poleceń dotyczących mechanizmów, oceniany pod kątem poprawnej chemii i czystych strzałek | Gotowe |
| Publikacja wyników głównych modeli AI na zestawie ewaluacyjnym | Dalej |

Jeśli uczysz, piszesz artykuły lub tworzysz oprogramowanie chemiczne i chcesz mieć na to wpływ, napisz do nas przez **Request feature** w MolDraw.

## Wypróbuj

1. Otwórz [MolDraw](https://www.moldraw.com/pl/) i czat AI, a następnie poproś o mechanizm, np. „narysuj mechanizm E2 dla 2-bromopropanu z jonem wodorotlenkowym”. Czat napisze MolScript i go narysuje.
2. Możesz też otworzyć **Templates** na dole lewego paska narzędzi i dodać rysunek estryfikacji Fischera, addycji aldolowej lub Grignarda albo napisać własny skrypt w karcie **MolScript**: podświetla skrypt, pokazuje problemy podczas pisania i rysuje go na płótnie.
3. Przeciągaj, zmieniaj styl lub rozbudowuj wynik jak każdy rysunek, a potem pobierz go jako obraz lub jako chemfig.

## Pytania i odpowiedzi

### Czym jest MolScript?

MolScript to krótki język tekstowy do schematów reakcji i mechanizmów ze strzałkami. Drobiny zapisuje się jako SMILES, połączone przez `+`, `->`, `<->` lub `<=>`, a każda strzałka to jeden wiersz `move` między numerami mapowania atomów. MolDraw rysuje struktury, warunki, wolne pary elektronowe, ładunki i strzałki, a wynik pozostaje edytowalny na płótnie.

### Jak narysować strzałkę w MolScript?

Oznacz atomy, których dotyka strzałka, numerami mapowania w SMILES, np. `[OH-:1]` i `[CH3:2][Br:3]`, a następnie napisz `move :1 -> 1..2` dla wolnej pary atomu 1 tworzącej wiązanie z atomem 2 oraz `move 2-3 -> 3` dla wiązania C–Br rozpadającego się na brom.

### Jak narysować półstrzałkę (jednoelektronową)?

Użyj `~>` zamiast `->`: `move 1-2 ~> 1` przesyła jeden elektron wiązania między atomami 1 i 2 na atom 1. Dwie półstrzałki kończące się na tym samym tworzonym wiązaniu (`n..m`) spotykają się w jego środku.

### Czy MolScript jest lepszy od chemfig?

Rozwiązują różne problemy i współpracują ze sobą. chemfig to pakiet LaTeX, w którym każde wiązanie i każdą strzałkę umieszczasz w dokumencie samodzielnie. MolScript opisuje chemię, a układ i geometrię strzałek pozostawia MolDraw, który sprawdza każdą strzałkę. Każdy rysunek MolScript można pobrać jako kod chemfig do dokumentu LaTeX.

### Czy asystenci AI potrafią pisać w MolScript?

Tak. Czat AI w MolDraw rysuje mechanizmy, pisząc MolScript, bo modele językowe dobrze piszą SMILES, a mapowanie atomów sprawia, że każdy koniec strzałki jest jednoznaczny. Błędy wracają z numerami wierszy, więc model może je poprawić. Planowana jest spakowana umiejętność AI (skill), z której będą mogli korzystać także inni asystenci.

### Czy MolScript będzie open source?

Taki jest plan: język, kompilator oraz silnik schematów i strzałek mają zostać udostępnione jako otwarty framework, którego inne aplikacje z płótnem będą mogły używać do rysowania reakcji i mechanizmów. Plan rozwoju wymienia, co trzeba zrobić najpierw.

## Powiązane poradniki

[Galeria MolScript: 41 sprawdzonych mechanizmów](https://www.moldraw.com/pl/blog/molscript-gallery.html) [Przykładowe mechanizmy w chemfig](https://www.moldraw.com/pl/blog/chemfig-mechanism-samples.html) [chemfig i MolDraw: wklej, edytuj, eksportuj](https://www.moldraw.com/pl/blog/chemfig-latex-moldraw-guide.html) [Rysowanie reakcji chemicznych](https://www.moldraw.com/pl/tools/free-chem-tools/chemical-reaction-drawer.html) [Dodawanie wolnych par](https://www.moldraw.com/pl/blog/how-to-add-lone-pair-in-moldraw.html) [Wszystkie artykuły](https://www.moldraw.com/pl/blog/)

Ostatnia aktualizacja: 17 października 2026
