Elk apps.json-veld: type, standaardwaarde en wat het doet
Het dialoogvenster App bewerken toont dezelfde velden onder dezelfde namen. Velden die niet gelden voor
het gekozen type zijn in het dialoogvenster gedimd maar worden wel opgeslagen, met één uitzondering:
stopCommand wordt alleen opgeslagen zolang killMode command is.

- De keuzelijst
killMode. Velden die hij niet gebruikt blijven gedimd.
| Veld | Type | Verplicht | Gebruikt door | Wat het doet |
|---|---|---|---|---|
id |
string | ja | alle | Unieke sleutel. Letters, cijfers, ., _, -, niet beginnend met -. Zie Overzicht. |
name |
string | ja | alle | Label in de zijbalk. Niet leeg. |
group |
string | ja | alle | Kop in de zijbalk waaronder de app wordt getoond. Niet leeg bij handmatig bewerken; het dialoogvenster slaat een lege groep op als Apps. Elke tekst; een nieuwe naam maakt een nieuwe groep. |
type |
string | ja | alle | web, desktop, static of cli. Zie App-typen. |
command |
string | alle behalve static |
alle | Wordt in een terminal uitgevoerd om de app te starten, via cmd /c onder Windows en $SHELL -c elders (/bin/sh als SHELL niet is ingesteld). Optioneel voor static. |
cwd |
string | nee | alle met een command |
Map waarin het commando draait. Standaard de eigen werkmap van Moonpool. Ondersteunt tokens en ./. Zie Paden en omgeving. |
port |
geheel getal, 1 tot 65535 | nee | alle | Actief zolang er iets antwoordt op deze poort op localhost (IPv4 of IPv6). Wordt gelezen door killMode port. |
processName |
string | nee | alle, vooral desktop |
Actief zolang er een proces met deze naam bestaat. Hoofdletterongevoelig, met of zonder .exe, dus my-app komt overeen met my-app.exe. Onder Linux maximaal 15 tekens. Wordt gelezen door killMode processName. |
mcpProcessName |
string | nee | alle met een processName |
Jokerteken-patroon voor de procesnaam van de MCP-server van deze app. * komt overeen met een willekeurige reeks tekens, ? met één teken. Hoofdletterongevoelig, vergeleken met de hele naam, en .exe is optioneel. Een overeenkomend proces telt als de MCP-server van de app (de MCP-subrij in de zijbalk) en heeft mcp niet nodig als eerste argument. Zie mcpProcessName. |
url |
string | alleen static |
web, static |
Pagina om te openen. Alleen URL’s met http://, https://, mailto: en file:// worden geopend. |
openBrowser |
boolean, standaard false |
nee | elk type met een url (het dialoogvenster dimt het voor desktop en cli) |
Opent url automatisch zodra Moonpool detecteert dat de app draait (zie hieronder). |
killMode |
string | nee | alle | Extra opruimstap bij Stoppen en Herstarten: processName, port, command of none. Zie Stoppen en herstarten. |
stopCommand |
string | nee | killMode command |
Commando dat bij Stoppen wordt uitgevoerd. Genegeerd in elke andere modus. |
env |
object van strings | nee | alle | Extra omgevingsvariabelen. Het dialoogvenster bewerkt ze als één KEY=VALUE per regel. |
icon |
string | nee | alle | Afbeelding in de zijbalk: een bestandspad, een http(s)-URL of een data:-URI. Stel in via Pictogram kiezen… in het contextmenu van de app of handmatig. |
note |
string | nee | alle | Tooltip wanneer je in de zijbalk over de app zweeft. |
Een item met env en killMode:
{ "id": "api", "name": "API", "group": "Web apps", "type": "web", "command": "npm start", "port": 3000, "env": { "PORT": "3000", "NODE_ENV": "development" }, "killMode": "port"}Zie Het proces vinden en beëindigen dat een poort gebruikt
voor hoe port en killMode samenwerken.
mcpProcessName
Section titled “mcpProcessName”Standaard beschouwt Moonpool een proces als de MCP-server van de app wanneer de naam overeenkomt met
processName en het eerste argument mcp is, zoals notes-app.exe mcp. Stel
mcpProcessName in wanneer de server onder een andere naam draait: een app die één exe bewaakt
terwijl de MCP-server een andere is (mog.exe mcp), of een hernoemde kopie van de server.
De waarde is een jokerteken-patroon. * komt overeen met een willekeurige reeks tekens (ook geen) en ?
met precies één teken. Het wordt hoofdletterongevoelig vergeleken met de hele procesnaam, en een
patroon zonder .exe komt ook overeen met de naam met .exe. Een lege waarde geldt als niet ingesteld.
{ "id": "destiny", "name": "Destiny", "group": "Desktop apps", "type": "desktop", "processName": "destiny", "mcpProcessName": "destiny-mcp-*"}Dit komt overeen met een hernoemde kopie zoals destiny-mcp-2706210170.exe. Een proces dat overeenkomt met
mcpProcessName is de server, ongeacht of het met mcp is gestart, en telt nooit
als de app zelf die draait. Komt het patroon ook overeen met processName zelf (bijvoorbeeld
destiny*), dan vereist Moonpool nog steeds het argument mcp, zodat de echte app nooit wordt aangezien
voor zijn MCP-server. Zie MCP-installatie.
openBrowser
Section titled “openBrowser”Moonpool opent url één keer, wanneer een app die Moonpool heeft gestart voor het eerst als Actief wordt gelezen. Daarvoor
is een port of processName nodig om dat te detecteren. Zonder beide betekent Actief alleen dat het
terminalproces leeft, en wordt de browser niet automatisch geopend. Zet openBrowser
uit als je commando zelf een browser opent. Een static-item zonder commando opent url
telkens wanneer je op Starten drukt, ongeacht openBrowser.
Twee apps die met dezelfde port zijn geconfigureerd, worden in de zijbalk gemarkeerd.
Pictogrammen
Section titled “Pictogrammen”Het pictogram van een app is de eerste van deze die bestaat:
- Het veld
icon. icons\<id>.<ext>in de configuratiemap, bijvoorbeeldicons\site.png.- Een pictogrambestand in de eigen map van de app (zijn
cwd, of de map van eenfile:///-url). - Voor
desktophet pictogram van de gebouwde of draaiende.exe. - Voor
webenstaticde/favicon.icovan de site, zodra de server draait. - Een glyph voor het type.
De meeste apps hebben geen pictograminstelling nodig.
Moonpool is gratis software van FasterDB