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ökaluToimintoSopii
REST APIKaikki, 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 webhooksitSalainen 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 webhooksitAntimatter 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.
KauttaviivakomennotKäyttäjät kirjoittavat /something; Antimatter kutsuu URL:iasi ja näyttää vastauksesi heille tai kanavalle.Haut, chatista käynnistettävät toiminnot.
BotitOhjelmille 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 versioon 12.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.Client4 ja TypeScript-asiakasohjelmisto @mattermost/client (ks. Asiakasohjelmistot).
  • Lisäosapaketit: .tar.gz-tiedosto, jossa on plugin.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/client on 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ät AM_-etartetta, komentorivityökalu on amctl ja palvelinkonekoodi antimatter.

Missä koodi sijaitsee

Kaikki on avoimen lähdekoodin ohjelmistoa AntimatterChat-järjestössä GitHubissa. Jokainen varasto toimii main-haarallaan.

VarastoSisältö
antimatterPalvelin (Go, hakemistossa server/), molemmat verkkokeskukset (webapp/fusion ja webapp/channels), TypeScript-asiakasohjelma ja amctl.
antimatter-dockerDocker-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-serverItsensä isännöity GIF- ja tarrapalvelu, jota GIFs-sovellus käyttää.
desktop-app, mobile-app, push-proxyTyöpöytä- ja mobiilisovellukset sekä palvelu, joka välittää push-ilmoitukset puhelimille.
antimatter.chatTämä verkkosivusto ja sen dokumentaatio.
communityOngelmat 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.
Kysymykset ovat tervetulleita yhteisön keskusteluissa. Raportoi virheistä yhteisön ongelmaraportteihin.