Automatyzacja Moonpool za pomocą skryptów i agentów AI
Moonpool można sterować bez dotykania jego okna. Istnieją trzy powierzchnie, obsługiwane przez ten sam rezydentny Moonpool (instancję w zasobniku systemowym, nazywaną tu hubem).
Każda kopia Moonpool jest własnym hubem: zainstalowana i każda kopia przenośna działają
niezależnie, każda z własnym kanałem sterowania. Powierzchnia zawsze trafia do kopii, której
moonpool.exe używa. Zob. Tryb przenośny.
| Powierzchnia | Co to jest | Dokumentacja |
|---|---|---|
| Serwer MCP | moonpool.exe mcp, serwer stdio MCP uruchamiany przez host AI. |
Konfiguracja MCP, Narzędzia MCP |
| Wiersz poleceń | moonpool.exe <verb> [args]. Drugie uruchomienie tej samej kopii przekazuje polecenie jej hubowi przez kanał sterowania i kończy pracę. |
Wiersz poleceń |
| Kanał sterowania | Potok nazwany \\.\pipe\moonpool (\\.\pipe\moonpool-<id> dla kopii przenośnej) w systemie Windows i gniazdo Unix w systemie Linux, obsługujące jedno żądanie JSON na wiersz. |
Polecenia sterujące |
Jak są powiązane
Dział zatytułowany „Jak są powiązane”- Hub jest właścicielem wszystkiego: uruchamiania aplikacji, dzienników sesji,
apps.json. - Serwer MCP jest klientem huba, a nie jego drugą kopią. Większość wywołań narzędzi jest
przekazywana do huba przez kanał sterowania, a odpowiedź wraca jako wynik narzędzia.
Wyjątki:
moonpool_bootup_launcheruruchamia sammoonpool.exe;moonpool_app_outputi narzędzia konfiguracji proszą hub o zapis pliku, a następnie go odczytują;moonpool_launcher_pathsdodaje do ścieżek huba własne ścieżki procesu MCP. - To, czy hub działa, ustala się przez ping tego kanału, a nie przez szukanie procesu. Hub, który odpowiada, działa; brak potoku lub gniazda oznacza, że nie działa.
- Każda powierzchnia uruchamia te same procedury obsługi co okno, więc polecenie robi to, co odpowiadające mu kliknięcie.
- Jeśli żaden hub nie działa, narzędzia, które na nim działają, w tym
moonpool_list_apps, odmawiają z komunikatem „Moonpool is not running”. Nie ma nieaktualnej listy.moonpool_bootup_launchergo uruchamia. Jeśli coś zajmuje kanał, ale nie odpowiada w ciągu kilku sekund, błąd mówi, że proces Moonpool może być zawieszony. - Serwer MCP nie wraca już do sterowania kompilacją huba sprzed kanału sterowania. Należy zaktualizować tę kopię albo zamknąć ją i uruchomić ponownie.
Co może coś zmieniać
Dział zatytułowany „Co może coś zmieniać”| Może zmienić | Powierzchnie |
|---|---|
| Uruchomić, zatrzymać lub ponownie uruchomić aplikację | MCP, wiersz poleceń, potok |
Przepisać apps.json |
MCP (moonpool_write_config, moonpool_restore_config), wiersz poleceń, potok |
| Zakończyć Moonpool | MCP (moonpool_shutdown_launcher), wiersz poleceń (quit), potok |
| Zakończyć proces pomocniczy MCP aplikacji | MCP (moonpool_stop_mcp_server), potok (stop-mcp) |
Odświeżyć apps.json, ponownie pobrać ikony, pokazać okno |
MCP (moonpool_reload_config, moonpool_refresh_app_icons, moonpool_raise_launcher), wiersz poleceń (reload, refresh-icons, show), potok |
| Otworzyć okno lub kartę terminala | potok (open-window) |
| Wyczyścić zapamiętane obserwacje procesów pomocniczych MCP | MCP (moonpool_reset_mcp_seen), potok (reset-mcp-seen) |
Narzędzia tylko do odczytu: moonpool_list_apps, moonpool_app_output, moonpool_read_config,
moonpool_launcher_paths, moonpool_window_state, moonpool_screenshot.
Właściwości bezpieczeństwa
Dział zatytułowany „Właściwości bezpieczeństwa”- Zapisy konfiguracji są chronione. Zapis musi zawierać token wersji z ostatniego odczytu,
nieaktualny token jest odrzucany, a nowy
apps.jsonjest walidowany, zanim cokolwiek zostanie zapisane. Odrzucony zapis pozostawiaapps.jsonnietknięty. Zob. Narzędzia MCP. - Identyfikatory aplikacji są ograniczone. Serwer MCP akceptuje tylko litery, cyfry,
.,_i-, i nigdy początkowego-, więc identyfikator nie może zostać odczytany jako flaga wiersza poleceń. - Zrzuty ekranu dotyczą tylko Moonpool.
moonpool_screenshotprzechwytuje jedno z własnych sześciu okien Moonpool (main,settings,about,installer,editor,help,themes), nigdy ekranu ani innej aplikacji. PNG jest budowany w pamięci i zwracany jako wbudowany; Moonpool nie zapisuje go do pliku. - Brak uwierzytelniania kanału. Moonpool nie dodaje logowania ani tokenu do potoku sterowania ani
gniazda. Każdy proces, który może go otworzyć, może wysyłać polecenia. W systemie Linux plik gniazda jest
tworzony z trybem
0600, więc może go otworzyć tylko ten sam użytkownik. - Hosty w piaskownicy są wykrywane. Jeśli serwer MCP stwierdzi, że działa w pakietowej
piaskownicy (Store/MSIX), w której widziałby prywatną kopię plików Moonpool, narzędzia, które
odczytują lub zapisują pliki (
moonpool_app_output,moonpool_read_config,moonpool_write_config,moonpool_restore_config), zwracają błąd wyjaśniający przyczynę zamiast nieaktualnych danych. Narzędzia korzystające tylko z kanału sterowania nie są blokowane. Zob. Konfiguracja MCP.
Platforma
Dział zatytułowany „Platforma”Kanał sterowania istnieje na każdej platformie: potok nazwany w systemie Windows, gniazdo Unix w systemie Linux (lokalizacja w sekcji Polecenia sterujące). Tylko
screenshot (a więc moonpool_screenshot) działa wyłącznie w systemie Windows; w systemie Linux zwraca
„not supported on this platform”. Polecenia wiersza poleceń działają na każdej platformie.
Zobacz też
Dział zatytułowany „Zobacz też”Moonpool to darmowe oprogramowanie od FasterDB