Rakentaminen Antimatterin varaan
Tämä ohje on tarkoitettu kehittäjille. Se kattaa API:ta käyttävät skriptit ja botit, webhooks- ja kauttaviivakomentopohjaiset integraatiot, sovellukset (liitännäiset), jotka lisäävät toiminnallisuutta palvelimelle ja verkkosovellukselle, sekä Antimatterin lähdekoodista rakentamisen ja panostamisen sen kehitykseen.
Tapaa laajentaa Antimatteria
Valitse kevyin työkalu, joka hoitaa tehtävän. Neljä ensimmäistä ei vaadi pääsyä palvelimeen itse; sovellukset ajetaan sen sisällä.
| Työkalu | Toiminto | Sopii |
|---|---|---|
| REST API | Kaikki, mitä sovellukset tekevät: viestit, kanavat, ihmiset, tiedostot, asetukset. WebSocket lähettää tapahtumat, kun ne tapahtuvat. | Skriptit, synkronointi muiden järjestelmien kanssa, omat asiakasohjelmat. |
| Tulevat webhooksit | Salainen URL, joka lähettää viestin kanavaan, kun jokin lähettää sille JSON-muotoista dataa. | Hälytykset, CI-tulokset, valvonta, ilmoitukset muista työkaluista. |
| Lähtevät webhooksit | Antimatter kutsuu URL:iasi, kun julkinen kanava alkaa lausumerkistä, tai kun joku valitsee toimiosi viestin valikosta, ja lähettää vastauksesi. | Yksinkertaiset, keskustelupohjaiset automaatiot, jotka lähettävät viestin toiseen työkaluun. |
| Kauttaviivakomennot | Käyttäjät kirjoittavat /something; Antimatter kutsuu URL:iasi ja näyttää vastauksesi heille tai kanavalle. | Haut, chatista käynnistettävät toiminnot. |
| Botit | Ohjelmille tarkoitetut tilit, joilla on omat tunnuksensa, BOTTI-merkintä (AGENTTI tekoälyagentteja varten) sekä interaktiiviset viestit ja valintaikkunat. | Assistentit, ilmoittimet, itse hallinnoimasi tekoälyagentit ja kaikki muu, mikä on vuorovaikutuksessa ihmisten kanssa. |
| Sovellukset (liitännäiset) | Koodi, joka ajetaan palvelimella (Go) ja verkkosovelluksessa (React): hakukohdat jokaiselle viestille, uudet valikot, paneelit, viestityypit, sivut. | Toiminnallisuudet: kyselyt, muistiinpanot, kalenterit, integraatiot, jotka vaaravat käyttöliittymän. |
Käyttöliittymässä ihmiset kutsuvat liitännäisiä "sovelluksiksi". Tämä ohje käyttää ilmaisua "sovellukset (liitännäiset)" siellä, missä molemmat sanat auttavat, koska koodi, API ja asetukset edelleen käyttävät sanaa "plugin".
Yhteensopivuus Mattermostin kanssa
Antimatter on Mattermostin haarautuma. Enemmistö siitä, mikä toimii Mattermost-palvelimen kanssa, toimii myös Antimatterin kanssa.
Mitä on samaa
- REST API polulla
/api/v4, sen todennus, WebSocket ja virheformaatti. Palvelin ilmoittaa versioon12.0.0, joten asiakasohjelmat ja sovellukset, jotka tarkistavat palvelimen version, näkevät uuden Mattermostin. - Webhookit ja kauttaviivakomennot, mukaan lukien niiden Slack-yhteensopivat kuormat.
- Palvelimen lisäosien API ja hookit: Antimatter säilyttää ne ennallaan. Palvelinkoodi rakentuu samalle Go-moduulille,
github.com/mattermost/mattermost/server/public. Antimatter lisää vain metodeja tekoälypalvelua varten (ks. Tekoälypalvelu). - Verkkosovelluksen lisäosarekisteri: Mattermostin rekisterin kaikki
register…-metodit löytyvät molemmista Antimatterin käyttöliittymistä. - Asiakasohjelmistot: Go-asiakasohjelmisto
model.Client4ja TypeScript-asiakasohjelmisto@mattermost/client(ks. Asiakasohjelmistot). - Lisäosapaketit:
.tar.gz-tiedosto, jossa onplugin.json-manifesti. Mattermostin avaimella allekirjoitetut lisäosat asennetaan, kuten myös Antimatterin avaimella allekirjoitetut.
Mitä on eri
- Kaksi verkkokäyttöliittymää. Uusi käyttöliittymä, Fusion, on oletus; klassinen Mattermost-käyttöliittymä on edelleen käytettävissä. Fusion piirtää suurimman osan lisäosien komponenteista, mutta sijoittaa jotkut niistä eri paikkaan ja jättää muutamat pois. Sovellus voi tarkistaa, mikä käyttöliittymä on käytössä. Katso Fusion-käyttöliittymän tuki.
- Lisä-API. Antimatter lisää endpointtejä omiin ominaisuuksiinsa: yhteisöominaisuudet, aikakatkaisut, viestit yläviestien päälle, viestipyyntö, kanavan ja kategorian ohitukset, kanavan vienti, ketjujen siirtäminen, malliyhteydet, viestitoimet ja uudet kentät yhteisöille. Katso Mitä Antimatter lisää API:hin.
- Lisäominaisuudet viesteille. Viestiliitteet voivat näyttää putken vaiheet ja pienen kaavion; viestit voivat olla sisäisiä vastauksia tai spoilereita.
- Lisä-web-sovellushookit sovelluksille: kirjoitusruudun "+"-valikkokohta, emojivalitsimen välilehdet, paneeli kanavanäkymässä, sivupalkin kanavien alapalkki, tulos integrointisivuilla, emojivalitsimen lisää- ja hallintanäkymät sekä sivupaneeli, joka avautuu uudelleen siellä, missä se oli uussa ikkunassa. Katso Hookit, joita vain Antimatterilla on.
- Ei lisenssejä. Kaikki ominaisuudet ovat käytettävissä ilman lisenssiohjekoodia. Lisenssi-, kokeilu- ja yritysversiopäivityspäätepisteet on poistettu;
GET /api/v4/license/clienton edelleen olemassa asiakkaille, jotka kysyvät. Jotkin Mattermostin maksullisille versioille rakennetut sovellukset tarkistavat lisenssin itse ja kieltäytyvät ajamasta. - Nimet. Tiimejä kutsutaan yhteisöiksi käyttöliittymässä, mutta API ja koodi käyttävät yhä nimeä
team. Ympäristömuuttujat käyttävätAM_-etartetta, komentorivityökalu onamctlja palvelinkonekoodiantimatter.
Missä koodi sijaitsee
Kaikki on avoimen lähdekoodin ohjelmistoa AntimatterChat-järjestössä GitHubissa. Jokainen varasto toimii main-haarallaan.
| Varasto | Sisältö |
|---|---|
| antimatter | Palvelin (Go, hakemistossa server/), molemmat verkkokeskukset (webapp/fusion ja webapp/channels), TypeScript-asiakasohjelma ja amctl. |
| antimatter-docker | Docker-kuvat, mukana toimitetut sovellukset ja compose-tiedostot. |
antimatter-plugin-* | Yksi varasto per mukana toimitettu sovellus: polls, todo, notes, whiteboard, calendar, mail, gifs, memes, voice-channels, calls, boards (Kanban), playbooks, agents ja metrics. |
| gifs-server | Itsensä isännöity GIF- ja tarrapalvelu, jota GIFs-sovellus käyttää. |
| desktop-app, mobile-app, push-proxy | Työpöytä- ja mobiilisovellukset sekä palvelu, joka välittää push-ilmoitukset puhelimille. |
| antimatter.chat | Tämä verkkosivusto ja sen dokumentaatio. |
| community | Ongelmat ja keskustelut Antimatterin kaikista osista. |
Ennen aloitusta
- Hanki testipalvelin. Nopein tapa on Docker-kuvake: katso Antimatterin asennus. Jos haluat työskennellä Antimatterin koodin kanssa, katso Käännös lähdetiedostoista.
- Tarkista, mitä palvelin sallii. Useat integrointitoiminnot ovat oletusarvoisesti poissa käytöstä ja vaativat järjestelmän ylläpitäjän: henkilökohtaiset pääsytunnukset, bottitilit, käyttäjätunnuksen ja ikoon yliajurit sekä sovellusten lataaminen. Jokainen sivu kertoo, mitä asetuksia se vaatii.
- Tunne sivustosi URL-osoite. Esimerkeissä käytetään osoitetta
https://chat.example.com. Korvaa se palvelimesi osoitteella.
Tässä oppaassa
- REST API: todennus, pääresurssit, sivutus, virheet, nopeusrajoitukset, WebSocket, asiakaskirjastot ja Antimatterin lisäykset.
- Webhookit: saapuvat ja lähtevät webhookit, kuormat, liitteet ja kortit.
- Kauttaviivakomennot: mukautetut komennot, niiden pyynnöt ja vastaukset, automaattitäydennys.
- Botit ja interaktiiviset viestit: bottitilit, ulkoiset agentit, painikkeet, valikot ja valintaikkunat.
- Sovellusten kirjoittaminen: liitännäisen rakenne, palvelimen koukut, web-sovellusrekisteri, Fusion, asetukset, tallennus, käännökset ja pakkaaminen.
- Käännös lähdetiedostoista: palvelin, web-käyttöliittymät, Docker-kuvake ja sovellukset.
- Osallistuminen: ongelmaraportit, pull requestit, tyyli, käännökset, turvallisuus ja lisenssit.