Vývoj na Antimatter
Tento průvodce je určen vývojářům. Pokrývá skripty a boty, které využívají API, integrace postavené na webhookách a příkazech s lomítkem, aplikace (pluginy), které přidávají funkce na server a do webové aplikace, a sestavení Antimatteru ze zdrojového kódu s cílem přispět k jeho vývoji.
Způsoby, jak Antimatter rozšířit
Vyberte nejjednodušší nástroj, který splní úkol. První čtyři nevyžadují přístup k samotnému serveru; aplikace v něm běží.
| Nástroj | Co dělá | Vhodné pro |
|---|---|---|
| REST API | Vše, co aplikace dělají: zprávy, kanály, lidé, soubory, nastavení. WebSocket odesílá události v reálném čase. | Skripty, synchronizace s jinými systémy, vlastní klienti. |
| Příchozí webhooks | Tajná URL, která pošle zprávu do kanálu, když jí něco pošle JSON. | Upozornění, výsledky CI, monitorování, oznámení z jiných nástrojů. |
| Odchozí webhooks | Antimatter zavolá vaši URL, když zpráva ve veřejném kanálu začíná spouštěcím slovem, nebo když někdo v menu zprávy vybere vaši akci, a poté zveřejní vaši odpověď. | Jednoduché automatizace řízené chatem, které odesílají zprávu do jiného nástroje. |
| Příkazy s lomítkem | Lidé zadají /something; Antimatter zavolá na vaši URL a zobrazí vaši odpověď jim nebo do kanálu. | Vyhledávání, akce spouštěné z chatu. |
| Boti | Účty vytvořené pro programy, s vlastními tokeny, štítkem BOT (AGENT pro AI agenty) a interaktivními zprávami a dialogy. | Asistenti, oznamovací nástroje, AI agenti, které provozujete sami – cokoliv, co komunikuje s lidmi. |
| Aplikace (pluginy) | Kód, který běží uvnitř serveru (Go) a v webové aplikaci (React): háčky pro každou zprávu, nové nabídky, panely, typy zpráv, stránky. | Funkce: hlasování, poznámky, kalendáře, integrace, které vyžadují uživatelské rozhraní. |
V rozhraní lidé pluginy nazývají „aplikace“. Tento průvodce používá „aplikace (pluginy)“, kde oba pojmy pomáhají, protože kód, API i konfigurace stále používají slovo „plugin“.
Kompatibilita s Mattermostem
Antimatter je fork Mattermostu. Většina toho, co funguje se serverem Mattermost, funguje i s Antimatterem.
Co je stejné
- REST API pod
/api/v4, jeho autentizace, WebSocket a formát chyb. Server hlásí verzi12.0.0, takže klienti a aplikace, které kontrolují verzi serveru, vidí nedávnou verzi Mattermostu. - Webhooky a příkazy s lomítkem, včetně jejich platby kompatibilních se Slackem.
- API a háčky serverového pluginu: Antimatter je ponechává beze změny. Serverový kód se staví na stejný Go modul,
github.com/mattermost/mattermost/server/public. Antimatter pouze přidává metody pro svůj AI servis (viz AI servis). - Rejstřík pluginů webové aplikace: každá metoda
register…z rejstříku Mattermostu existuje v obou webových rozhraní Antimatteru. - Klientské knihovny: Go klient
model.Client4a TypeScript klient@mattermost/client(viz Klientské knihovny). - Pluginové balíčky: soubor
.tar.gzs manifestemplugin.json. Nainstalují se pluginy podepsané klíčem Mattermostu, stejně jako ty podepsané klíčem Antimatteru.
Co se liší
- Dvě webová rozhraní. Nové rozhraní Fusion je výchozí; klasické rozhraní Mattermostu je stále k dispozici. Fusion vykreslí většinu komponent pluginů, některé z nich však umísťuje jinak a několik jich vynechá. Aplikace může zjistit, které rozhraní právě běží. Viz Podpora rozhraní Fusion.
- Další API. Antimatter přidává koncové body pro své vlastní funkce: komunitní atributy, časové limity, zprávy nahoře, požadavky na zprávy, přepsání nastavení kanálů a kategorií, export kanálu, přesouvání vláken, připojení modelů, akce se zprávami a nová pole pro komunity. Viz Co Antimatter přidává do API.
- Další funkce zpráv. Přílohy zpráv mohou zobrazovat fáze pipeline a malý graf; příspěvky mohou být vnitřní odpovědi nebo spoilery.
- Další háčky webové aplikace pro aplikace: položka v menu „+“ kompozitoru, záložky v výběru emoji, panel ve zobrazení kanálu, patička pod kanály v bočním panelu, položka na stránkách integrací, zobrazení pro přidávání a správu ve výběru emoji a boční panel, který se znovu otevře na stejném místě v novém okně. Viz Háčky, které má pouze Antimatter.
- Žádné licence. Každá funkce je dostupná bez licenčního klíče. Koncové body pro licenci, zkušební verzi a upgrade na podnikové edice zmizely;
GET /api/v4/license/clientzůstává pro klienty, které se ho ptají. Některé aplikace vytvořené pro placené edice Mattermostu si licenci ověřují samy a odmítají spustit. - Názvy. V rozhraní se týmy nazývají komunity, ale API i kód stále používají
team. Proměnné prostředí používají předponuAM_, příkazový řádek jeamctla binární soubor serveru jeantimatter.
Kde se kód nachází
Všechno je open source, v organizaci AntimatterChat na GitHubu. Každé repozitář pracuje na větvi main.
| Repozitář | Co obsahuje |
|---|---|
| antimatter | Server (Go, v server/), oba webové rozhraní (webapp/fusion a webapp/channels), TypeScript klient a amctl. |
| antimatter-docker | Docker obrazy, včetně zabudovaných aplikací, a soubory compose. |
antimatter-plugin-* | Jedno repozitář pro každou zabudovanou aplikaci: polls, todo, notes, whiteboard, calendar, mail, gifs, memes, voice-channels, calls, boards (Kanban), playbooks, agents a metrics. |
| gifs-server | Self-hosted služba pro GIF a samolepky, kterou používá aplikace GIFs. |
| desktop-app, mobile-app, push-proxy | Desktopové a mobilní aplikace a služba, která přeposílá push oznámení na telefony. |
| antimatter.chat | Tento web a jeho dokumentace. |
| community | Problémy a diskuze pro všechny části Antimatter. |
Před spuštěním
- Získejte testovací server. Nejrychlejší je Docker image: viz Instalace Antimatter. Pokud chcete pracovat přímo na Antimatter, viz Kompilace ze zdrojového kódu.
- Zkontrolujte, co server povoluje. Některé integrační funkce jsou ve výchozím nastavení vypnuté a vyžadují systémového administrátora: osobní přístupové tokeny, bot účty, přepsání uživatelského jména a ikony a nahrávání aplikací. Každá stránka uvádí, které nastavení je potřeba.
- Znát URL vašeho webu. Příklad používá
https://chat.example.com. Nahraďte ji adresou vašeho serveru.
V tomto průvodci
- REST API: autentizace, hlavní zdroje, stránkování, chyby, limity požadavků, WebSocket, klientské knihovny a rozšíření Antimatter.
- Webhooks: příchozí a odchozí webhooks, payloads, přílohy a karty.
- Příkazy s lomítkem: vlastní příkazy, jejich požadavky a odpovědi, automatické doplnění.
- Boti a interaktivní zprávy: účty botů, externí agenti, tlačítka, nabídky a dialogy.
- Vytváření aplikací: struktura pluginu, serverové hooky, rejstřík webových aplikací, Fusion, nastavení, úložiště, překlady a balíčkování.
- Kompilace ze zdrojového kódu: server, webové rozhraní, Docker image a aplikace.
- Příspěvky do projektu: issues, pull requests, styl, překlady, bezpečnost a licence.