Coding & Development✨gemini🤖claude💬gpt

evtivity-csms

An OCPP 1.6 and 2.1 compliant Charging Station Management System for managing EV charging infrastructure. Handles real-time WebSocket communication with charging stations, OCPI 2.2.1/2.3.0 roaming, ISO 15118 Plug and Charge, a REST API for operators, and two React frontends for operators and drivers.

Quick Start

Install this Skill

npx skills add EVtivity/evtivity-csms
<p align="center">
  <img src="assets/evtivity-logo.svg" alt="EVtivity" width="80" height="80" />
</p>

<h1 align="center">EVtivity CSMS</h1>

<p align="center">
  <a href="https://github.com/EVtivity/evtivity-csms/releases/latest"><img src="https://img.shields.io/github/v/release/EVtivity/evtivity-csms?label=Release&color=4ade80" alt="Release" /></a>
  <a href="https://github.com/EVtivity/evtivity-csms/actions/workflows/ci.yml"><img src="https://github.com/EVtivity/evtivity-csms/actions/workflows/ci.yml/badge.svg" alt="CI" /></a>
  <a href="https://github.com/EVtivity/evtivity-csms/actions/workflows/ci.yml?query=branch%3Amain"><img src="https://img.shields.io/endpoint?url=https%3A%2F%2Fraw.githubusercontent.com%2FEVtivity%2Fevtivity-csms%2Fbadges%2Fcoverage.json" alt="Coverage" /></a>
  <a href="https://github.com/EVtivity/evtivity-csms/blob/main/LICENSE.md"><img src="https://img.shields.io/badge/License-BUSL--1.1-blue.svg" alt="License: BUSL-1.1" /></a>
  <img src="https://img.shields.io/badge/TypeScript-6.x-3178C6.svg" alt="TypeScript" />
  <img src="https://img.shields.io/badge/Node.js-%3E%3D24-339933.svg" alt="Node.js" />
  <img src="https://img.shields.io/badge/OCPP-1.6%20%7C%202.1-4ade80.svg" alt="OCPP" />
  <img src="https://img.shields.io/badge/OCPI-2.2.1%20%7C%202.3.0-4ade80.svg" alt="OCPI" />
</p>

<p align="center">
  <strong>English</strong> ·
  <a href="README.de.md">Deutsch</a> ·
  <a href="README.es.md">Español</a> ·
  <a href="README.ko.md">한국어</a> ·
  <a href="README.zh.md">简体中文</a> ·
  <a href="README.zh-TW.md">繁體中文</a>
</p>

EVtivity is an AI-powered EV charging platform. At its core is an OCPP 1.6 and 2.1 compliant Charging Station Management System (CSMS) for EV charging infrastructure. It handles real-time WebSocket communication with charging stations, OCPI 2.2.1/2.3.0 roaming, ISO 15118 Plug and Charge, a REST API for operators, and two React frontends for operators and drivers.

AI is built into the operator dashboard. The AI assistant answers questions about stations, sessions, revenue, and operations, reads attachments such as a photo of a charger screen, a PDF, or a log, and proposes changes that run only after the operator confirms. The support assist drafts replies to support cases in the driver's language. Both work with Anthropic, OpenAI, Gemini, or DeepSeek, and secrets and personal data are masked before they reach the model.

## Architecture

```mermaid
graph TB
    subgraph Frontends
        CSMS[CSMS]
        Portal[Driver and Guest Charging Portal]
    end

    subgraph Backend Services
        API[REST API]
        OCPP[OCPP Server]
        OCPI[OCPI Server]
        Worker[Worker]
    end

    subgraph Data
        DB[(PostgreSQL)]
        Redis[(Redis)]
    end

    subgraph External
        Stations[Charging Stations]
        Partners[OCPI Partners]
    end

    CSMS -->|REST| API
    Portal -->|REST| API
    API <-->|pub/sub| Redis
    OCPP <-->|pub/sub| Redis
    OCPI <-->|pub/sub| Redis
    Worker --> DB
    Worker --> Redis
    API --> DB
    OCPP --> DB
    OCPI --> DB
    Stations -->|OCPP 1.6/2.1| OCPP
    Partners <-->|OCPI 2.2.1/2.3.0| OCPI
```

## Feature Overview

### AI-Powered Operations

| Feature                  | Description                                                                                                                                                  |
| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| AI Assistant             | Ask about stations, sessions, revenue, and operations in plain language. Answers stream, and conversations are kept with search, rename, and delete          |
| Image and File Analysis  | Attach images (such as a photo of a charger screen), PDF, CSV, text, log, and JSON files                                                                     |
| Confirmed Changes        | The assistant reads data through API tools. A change it proposes shows a confirmation card and runs only after the operator confirms                         |
| Support Assist           | Drafts support case replies in the driver's language and internal notes in the operator's, with the sources it read                                          |
| Provider Choice          | Anthropic, OpenAI, Google Gemini, or DeepSeek, set per surface or per user, with an effort level                                                             |
| Redaction and Guardrails | Secrets and personal data are masked in tool results before they reach the model. Settings, secrets, users, payments, and station security stay out of reach |
| Six Languages            | Answers in the operator's language: English, German, Spanish, Korean, Simplified Chinese, and Traditional Chinese                                            |
| Limits and Audit         | Rate limits per user and per site, a daily token budget per user, and audit en

... (truncated)
Repository
33stars
7forks
View on GitHub
Details
DiscoveredOct 13, 2026
Last UpdatedOct 13, 2026
Author@EVtivity
Quality Score
48/100