API pozwala programowi działać wewnątrz Twojego projektu, więc jest zbudowane tak, by było wyłączone, dopóki o nie nie poprosisz, osiągalne tylko z Twojego komputera i odwracalne. Ta strona opisuje warstwy ochrony i jedno uprawnienie, które możesz chcieć nadać.
Co Cię chroni
| Warstwa | Jak |
|---|---|
| Domyślnie wyłączone | API nie nasłuchuje, dopóki nie włączysz Enable OmniDAW API w Ustawieniach, AI Create, albo nie uruchomisz Omni z --api lub OMNI_API=1 na jedno uruchomienie |
| Tylko lokalnie | Serwer nasłuchuje na 127.0.0.1 i odrzuca każde połączenie, które nie pochodzi z interfejsu loopback. Nie jest osiągalny z Twojej sieci |
| Tajny token | Każde uruchomienie zapisuje nowy losowy token (około 244 bitów) do api/endpoint.json w folderze ustawień Omni. Połączenie musi go przedstawić w api.hello, zanim cokolwiek zadziała, a porównanie odbywa się w stałym czasie |
| Prywatny plik | Plik z tokenem jest tworzony tak, że czyta go tylko Twój użytkownik (uprawnienia 0600 na macOS i Linuksie; folder ustawień użytkownika w Windows) i usuwany po zamknięciu Omni |
| Limity | Najwyżej 8 połączeń naraz, linie do 8 MiB, a wywołanie czekające na aplikację dłużej niż 10 sekund dostaje busy |
| Ścisłe wejście | Każda metoda ma zamknięty schemat. Nieznane pole, zły typ lub wartość spoza zakresu są odrzucane, zanim cokolwiek się zmieni |
| Nic na wątku audio | Wywołania działają na wątku interfejsu, tym samym kodem co kliknięcie. Wątek audio czasu rzeczywistego nigdy nie jest dotykany przez klienta |
Kto więc może się połączyć? Programy uruchomione jako Ty, na Twoim komputerze, które potrafią czytać Twój folder ustawień. Dotyczy to oprogramowania, które sam uruchamiasz, na przykład procesu narzędzi asystenta AI. Nie dotyczy innych użytkowników komputera ani niczego w sieci. Traktuj token jak hasło: nie loguj go, nie wklejaj do czatu i nie wysyłaj nigdzie.
Każdą edycję można cofnąć
Każda metoda zmieniająca projekt deklaruje swój efekt (edit lub destructive), a każde wywołanie to jeden krok w Historii Cofania Omni z etykietą API: <co zrobiło>. Osoba przy klawiaturze cofa to, co zrobił asystent, przez Ctrl+Z i widzi kroki na liście w oknie historii. Dobrze działający klient prosi o potwierdzenie przed wywołaniami destructive i informuje użytkownika o edit_undo.
Metody z efektem control (odtwarzanie, stop, uruchamianie klipów, nagrywanie, eksport) zmieniają stan na żywo, a nie projekt, i nie trafiają do historii.
Dostęp do plików to osobne uprawnienie
Czytanie plików audio z Twojego dysku jest domyślnie wyłączone, nawet gdy API jest włączone. Potrzebują go:
| Metoda | Czyta |
|---|---|
audio.import | Wskazany plik audio, do klipu |
audio.transcribe z path | Wskazany plik audio |
audio.split_stems | Wskazany plik WAV |
instruments.load_preset | Preset (.fxp) spoza własnego folderu instalacji wtyczki. Presety zainstalowane z wtyczką nigdy nie wymagają uprawnienia |
Aby zezwolić, włącz Let clients read audio files w Ustawieniach, AI Create (albo uruchom Omni z OMNI_API_FILES=1). Bez tego te wywołania odpowiadają unauthorized z komunikatem, gdzie to włączyć, a api.hello nie wymienia capability files, więc klient wie o tym, zanim spróbuje. Transkrypcja audio, które już jest w klipie, nie wymaga dostępu do plików.
analysis.file tylko dekoduje wskazany plik audio i zwraca pomiary (poziomy, głośność, widmo), nigdy zawartość.
Co klient może zapisać
| Metoda | Zapisuje |
|---|---|
export.render | Jeden plik .wav pod bezwzględną ścieżką, w istniejącym folderze |
export.stems | Pliki .wav o nazwach NN tor.wav w istniejącym folderze |
audio.split_stems | Cztery pliki .wav do folderu wewnątrz istniejącego folderu |
session.save | Plik projektu (.omni) i jego folder z audio |
Żadna nie nadpisuje istniejącego pliku, chyba że wywołanie przekaże overwrite (albo, dla session.save, o to poprosi). Nie ma metody do czytania, listowania ani usuwania dowolnych plików, uruchamiania programów ani zmiany ustawień.
Wtyczki
instruments.list i devices.types pokazują tylko wtyczki, które Ty zeskanowałeś w Omni. Klient nie może wskazać Omni dowolnego pliku wtyczki. Gdy otwierasz projekt używający wtyczki, której Omni nie zna, Omni wstrzymuje jej ładowanie, dopóki się nie zgodzisz, niezależnie od tego, czy API jest włączone.
Używanie z asystentem AI
- Sprawdź w ustawieniach klienta MCP, co asystentowi wolno. Narzędzia niosą adnotacje (
readOnlyHint,destructiveHint), których dobre klienty używają, by pytać przed ryzykownymi wywołaniami. - Przy projekcie, na którym Ci zależy, pracuj na kopii i zapisz go przed długą sesją.
- Traktuj wyniki narzędzi jak dane. Jeśli projekt zawiera tekst od innych osób, asystent, który go czyta, nie powinien traktować go jako poleceń.
Licencja
Przykładowy kod z tych stron i z paczki do pobrania jest wolnym oprogramowaniem na licencji MIT: możesz używać go w darmowym i komercyjnym oprogramowaniu, zmieniać i rozpowszechniać, zachowując informację o prawach autorskich.
| Część | Licencja |
|---|---|
| Przykładowy kod: klient Pythona, przykładowy serwer MCP oraz minimalne klienty w Pythonie, Node.js i Ruście | MIT |
| Te strony OmniDAW API (tekst i fragmenty kodu) | MIT |
Program omni-mcp instalowany z Omni (dostarczany jako program) | MIT |
| Sama aplikacja Omni (edytor, silnik audio, host wtyczek) | Własnościowa |
Paczka do pobrania zawiera plik LICENSE. Tekst to standardowa licencja MIT, Copyright (c) 2026 Tomasz Głuc:
MIT License
Copyright (c) 2026 Tomasz Głuc
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Napisanie serwera MCP lub klienta dla Omni nie czyni Twojej pracy dziełem zależnym od aplikacji Omni: Twój program rozmawia z Omni przez gniazdo, a licencję wybierasz sam.
