Wszystkie pola apps.json: typ, wartość domyślna i działanie
Okno Edytuj aplikację pokazuje te same pola pod tymi samymi nazwami. Pola, które nie dotyczą
wybranego typu, są w oknie przyciemnione, ale nadal zapisywane, z jednym wyjątkiem:
stopCommand jest zapisywane tylko wtedy, gdy killMode ma wartość command.

- Lista wyboru
killMode. Pola, których nie używa, pozostają przyciemnione.
| Pole | Typ | Wymagane | Używane przez | Działanie |
|---|---|---|---|---|
id |
string | tak | wszystkie | Unikalny klucz. Litery, cyfry, ., _, -, nie może zaczynać się od -. Zob. Przegląd. |
name |
string | tak | wszystkie | Etykieta na pasku bocznym. Nie może być pusta. |
group |
string | tak | wszystkie | Nagłówek na pasku bocznym, pod którym wyświetlana jest aplikacja. Nie może być pusty przy ręcznej edycji; okno zapisuje pustą grupę jako Apps. Dowolny tekst; nowa nazwa tworzy nową grupę. |
type |
string | tak | wszystkie | web, desktop, static lub cli. Zob. Typy aplikacji. |
command |
string | wszystkie poza static |
wszystkie | Wykonywane w terminalu, aby uruchomić aplikację, przez cmd /c w systemie Windows i $SHELL -c w pozostałych (/bin/sh, jeśli SHELL nie jest ustawione). Opcjonalne dla static. |
cwd |
string | nie | wszystkie z command |
Folder, w którym uruchamiane jest polecenie. Domyślnie własny folder roboczy Moonpool. Obsługuje tokeny i ./. Zob. Ścieżki i środowisko. |
port |
integer, od 1 do 65535 | nie | dowolne | Aplikacja działa, dopóki coś odpowiada na tym porcie na localhost (IPv4 lub IPv6). Odczytywane przez killMode port. |
processName |
string | nie | dowolne, głównie desktop |
Aplikacja działa, dopóki istnieje proces o tej nazwie. Wielkość liter nie ma znaczenia, z .exe lub bez, więc my-app pasuje do my-app.exe. W systemie Linux najwyżej 15 znaków. Odczytywane przez killMode processName. |
mcpProcessName |
string | nie | dowolne z processName |
Wzorzec z symbolami wieloznacznymi dla nazwy procesu serwera MCP tej aplikacji. * pasuje do dowolnego ciągu znaków, ? do jednego znaku. Wielkość liter nie ma znaczenia, wzorzec dotyczy całej nazwy, a .exe jest opcjonalne. Pasujący proces jest traktowany jako serwer MCP aplikacji (podwiersz MCP na pasku bocznym) i nie wymaga mcp jako pierwszego argumentu. Zob. mcpProcessName. |
url |
string | tylko static |
web, static |
Strona do otwarcia. Otwierane są wyłącznie adresy http://, https://, mailto: i file://. |
openBrowser |
boolean, domyślnie false |
nie | dowolny typ z url (okno przyciemnia je dla desktop i cli) |
Automatycznie otwiera url, gdy Moonpool wykryje, że aplikacja działa (zob. niżej). |
killMode |
string | nie | wszystkie | Dodatkowe sprzątanie przy zatrzymaniu i ponownym uruchomieniu: processName, port, command lub none. Zob. Zatrzymywanie i ponowne uruchamianie. |
stopCommand |
string | nie | killMode command |
Polecenie uruchamiane przy zatrzymaniu. Ignorowane we wszystkich innych trybach. |
env |
obiekt ciągów | nie | wszystkie | Dodatkowe zmienne środowiskowe. Okno edytuje je jako jedno KEY=VALUE w wierszu. |
icon |
string | nie | wszystkie | Obraz na pasku bocznym: ścieżka pliku, adres URL http(s) lub URI data:. Ustaw go przez Wybierz ikonę… w menu kontekstowym aplikacji albo ręcznie. |
note |
string | nie | wszystkie | Podpowiedź wyświetlana po najechaniu na aplikację na pasku bocznym. |
Wpis używający env i killMode:
{ "id": "api", "name": "API", "group": "Web apps", "type": "web", "command": "npm start", "port": 3000, "env": { "PORT": "3000", "NODE_ENV": "development" }, "killMode": "port"}Jak współdziałają port i killMode, opisano w poradniku
Znajdowanie i kończenie procesu używającego portu.
mcpProcessName
Dział zatytułowany „mcpProcessName”Domyślnie Moonpool uznaje proces za serwer MCP aplikacji, gdy jego nazwa pasuje do
processName, a pierwszym argumentem jest mcp, na przykład notes-app.exe mcp. Ustaw
mcpProcessName, gdy serwer działa pod inną nazwą: aplikacja, która śledzi jeden plik exe,
podczas gdy jej serwer MCP to inny (mog.exe mcp), lub zmieniona nazwa kopii serwera.
Wartość jest wzorcem z symbolami wieloznacznymi. * pasuje do dowolnego ciągu znaków (także pustego), a ?
dokładnie do jednego. Porównanie z całą nazwą procesu odbywa się bez rozróżniania wielkości liter, a
wzorzec bez .exe pasuje także do nazwy z .exe. Pusta wartość oznacza brak ustawienia.
{ "id": "destiny", "name": "Destiny", "group": "Desktop apps", "type": "desktop", "processName": "destiny", "mcpProcessName": "destiny-mcp-*"}Pasuje to do kopii o zmienionej nazwie, na przykład destiny-mcp-2706210170.exe. Proces pasujący do
mcpProcessName jest serwerem niezależnie od tego, czy uruchomiono go z mcp, i nigdy nie jest
liczony jako działająca aplikacja. Jeśli wzorzec pasuje także do samego processName (na przykład
destiny*), Moonpool nadal wymaga argumentu mcp, więc prawdziwa aplikacja nigdy nie zostanie
pomylona ze swoim serwerem MCP. Zob. Konfiguracja MCP.
openBrowser
Dział zatytułowany „openBrowser”Moonpool otwiera url jednokrotnie, gdy aplikacja uruchomiona przez Moonpool po raz pierwszy ma stan „działa”. Do
wykrycia tego potrzebny jest port lub processName. Bez żadnego z nich „działa” oznacza tylko, że proces
terminala żyje, a przeglądarka nie jest otwierana automatycznie. Wyłącz openBrowser,
jeśli polecenie samo otwiera przeglądarkę. Wpis static bez polecenia otwiera url
przy każdym naciśnięciu Uruchom, niezależnie od openBrowser.
Dwie aplikacje skonfigurowane z tym samym port są oznaczane na pasku bocznym.
Ikoną aplikacji jest pierwszy istniejący z poniższych elementów:
- Pole
icon. icons\<id>.<ext>w folderze konfiguracji, na przykładicons\site.png.- Plik ikony w folderze samej aplikacji (jej
cwdlub folderurltypufile:///). - Dla
desktopikona zbudowanego lub działającego pliku.exe. - Dla
webistaticplik/favicon.icowitryny, gdy serwer już działa. - Symbol dla danego typu.
Większość aplikacji nie wymaga ustawiania ikony.
Moonpool to darmowe oprogramowanie od FasterDB