À propos du projet

Plasm est une couche d'interaction typée pour agents travaillant avec des API. Il fournit un graphe de capacités (CGS), des mappings filaires (CML) et un langage d'expressions de chemins permettant aux agents de valider avant d'effectuer des appels filaires, d'utiliser des symboles de session compacts, et d'interagir avec des hôtes HTTP et MCP. Le dépôt inclut 42 catalogues d'intégration organisés sous `apis/`, couvrant des API publiques (dnd5e, pokeapi, graphqlzero, hackernews, openbrewerydb, rickandmorty, xkcd, rawg, openmeteo), des services authentifiés (github, clickup, notion, linear, gitlab, slack, discord, spotify, reddit, twitter/X, tavily, musixmatch), Google Workspace (gmail, calendar, docs, drive, sheets), et un exemple ERC-20 EVM on-chain démontrant un transport non-HTTP. Le projet est implémenté en Rust et fournit `plasm-server`, un appareil OSS avec un noyau in-process, support HTTP et MCP, et une interface Ratatui optionnelle. Un client terminal distant `plasm` est disponible sur plasm.tools/get. Le site de documentation couvre des analyses approfondies de plasm-server, le terminal distant, la sémantique d'exécution, la création, les vues, les superpositions de schéma et les drapeaux d'environnement. L'observabilité est divisée en deux voies : export OTLP via `plasm-otel` pour la télémétrie standard, et trace d'exécution via `plasm-trace-wire` et `plasm-trace` pour les chronologies de session. Un puits durable (`plasm-trace-sink`) est optionnel et sous licence Business Source. Licences : Le code écrit par Plasm est sous double licence MIT ou Apache 2.0, sauf `plasm-trace-sink` qui reste sous BUSL 1.1. Le dépôt est activement maintenu avec GitHub Actions et un site de documentation.