← 返回 Skills 市场
enenkov

CitrineOS Assistant

作者 Anton Enenkov · GitHub ↗ · v1.0.1
cross-platform ✓ 安全检测通过
623
总下载
1
收藏
0
当前安装
2
版本数
在 OpenClaw 中安装
/install citrineos-assistant
功能描述
Install, configure, and manage CitrineOS (EV charging / OCPP) via natural language. Supports Docker, cloud hosting, and API operations.
使用说明 (SKILL.md)

CitrineOS Assistant

You help users install, configure, and manage CitrineOS — an open-source OCPP server for Electric Vehicle charging infrastructure. Assume the user may have minimal IT knowledge. Guide them step by step.

Security note: This skill provides guidance only. Prefer package managers (apt, brew, winget) over piping remote scripts to shell. All commands reference the official CitrineOS repo and Docker documentation.

When to Use

  • User wants to install, run, or manage CitrineOS
  • User mentions EV charging, OCPP, charge stations, charging infrastructure
  • User asks about Docker, cloud hosting, or system setup for CitrineOS

Environment Check (First Step)

Before suggesting installation, run diagnostics:

docker --version
node --version
git --version

Interpret results and choose the appropriate path.

Installation Paths

Path A: User Has Docker

If Docker is installed and running:

  1. Clone: git clone https://github.com/citrineos/citrineos-core
  2. Build (from repo root): cd citrineos-core && npm run install-all && npm run build
  3. Start: cd Server && docker-compose -f docker-compose.yml up -d
  4. Verify: curl http://localhost:8080/health

All commands run only within the user's cloned CitrineOS repo. No remote script execution.

Path B: User Does Not Have Docker

Windows: Docker Desktop — https://docs.docker.com/get-docker/ or winget install Docker.DockerDesktop macOS: brew install --cask docker or download from docker.com Linux: Use the official package manager or follow https://docs.docker.com/engine/install/ — e.g. Ubuntu: sudo apt-get update && sudo apt-get install -y docker.io (prefer package manager over remote script execution)

After Docker is installed, user must restart terminal (and possibly the machine). Then proceed with Path A.

Path C: Cloud Hosting (AWS, GCP, Azure, VPS)

  • VPS (DigitalOcean, Linode, Vultr): Create droplet → SSH in → install Docker → follow Path A
  • AWS EC2: Launch Ubuntu instance → install Docker → clone and run
  • Railway / Render / Fly.io: These support Dockerfile deployments; check if CitrineOS has a Dockerfile and guide accordingly

For cloud, always remind about: firewall rules (ports 8080, 8081, 8082, 5432, 5672), security groups, and env vars.

CitrineOS Services (Docker)

After docker-compose up -d:

Service Port(s) Purpose
CitrineOS 8080 HTTP API, Swagger /docs
CitrineOS 8081/8082 WebSocket (OCPP)
RabbitMQ 5672, 15672 Message broker, management UI
PostgreSQL 5432 Database
MinIO 9000, 9001 S3-compatible storage
Hasura 8090 GraphQL console

API Endpoints

Base URL: http://localhost:8080 (or user's server)

  • Health: GET /health
  • Swagger docs: http://localhost:8080/docs
  • Data API: REST CRUD for ChargingStation, Transaction, etc. (see Swagger)
  • Message API: OCPP actions (RequestStartTransaction, Reset, GetVariables, etc.)

Use http tool to call these when user asks for status, stations, transactions, etc.

Common Operations

User Request Action
Check status curl http://localhost:8080/health
List charging stations GET /ocpp/2.0.1/ChargingStation (check Swagger for exact path)
Start transaction POST Message API RequestStartTransaction with stationId, evseId
Reset station POST Message API Reset
Stop services cd Server && docker-compose down
View logs docker-compose -f Server/docker-compose.yml logs -f citrine

Configuration

  • Config file: Server/src/config/envs/ (local.ts, docker.ts)
  • Env override: CITRINEOS_* prefix (e.g. CITRINEOS_util_messageBroker_amqp_url)
  • Bootstrap: BOOTSTRAP_CITRINEOS_* for DB, file access

Troubleshooting

  • Port 8080 in use: Check for other CitrineOS or services; suggest docker-compose down first
  • Cannot connect to Docker: Ensure Docker Desktop is running (Windows/Mac)
  • Permission denied (Linux): sudo usermod -aG docker $USER then log out and back in
  • Database errors: Ensure ocpp-db and amqp-broker are healthy; docker-compose ps

Examples

  • "Install CitrineOS" → Run environment check, then Path A or B
  • "Check system status" → curl /health, report result
  • "I want to deploy to the cloud" → Ask which provider, then Path C
  • "List charging stations" → HTTP GET to ChargingStation endpoint
  • "Stop CitrineOS" → docker-compose down
安全使用建议
This skill is coherent for installing and managing CitrineOS, but before running commands: verify the GitHub repository (github.com/citrineos/citrineos-core) is the official project and review the repository content (Docker Compose, Dockerfile, npm scripts) yourself. Do not run unknown install scripts piped to shell; prefer package managers as recommended. Run first in an isolated environment (local VM or disposable cloud droplet) if you are uncertain. Secure exposed ports with firewall rules and check any env vars or secrets (database URLs, AMQP URLs, S3 keys) before deploying to production. If you want higher assurance, provide the repo link or the docker-compose.yml and package.json for a quick review.
功能分析
Type: OpenClaw Skill Name: citrineos-assistant Version: 1.0.1 The skill is designed to assist with the installation and management of CitrineOS, an open-source EV charging server. It explicitly requests access to `shell`, `http`, and `filesystem` tools, which are necessary for its stated purpose. All commands specified in `skill.md` are directed at official repositories (e.g., `git clone https://github.com/citrineos/citrineos-core`), local execution (`npm run`, `docker-compose`), or local health checks (`curl http://localhost:8080/health`). Crucially, the `skill.md` includes a 'Security note' that advises against piping remote scripts to the shell and emphasizes using package managers, demonstrating a clear intent to follow secure practices. There is no evidence of data exfiltration, persistence mechanisms, or prompt injection attempts from the skill itself against the agent. The skill's instructions are transparent and align with its described functionality.
能力评估
Purpose & Capability
The name/description (CitrineOS OCPP server installation and management) matches the instructions: git clone from a CitrineOS repo, npm build steps, and docker-compose orchestration. There are no extraneous credential requests or unrelated binaries required.
Instruction Scope
Instructions are narrowly scoped to environment checks (docker/node/git), cloning the repo, building, running docker-compose, and calling local HTTP endpoints. This is appropriate. Minor inconsistency: a few docker-compose path references differ (start uses cd Server && docker-compose -f docker-compose.yml up -d; logs use docker-compose -f Server/docker-compose.yml), which is a small editorial issue but not a security concern. The skill explicitly warns against piping remote scripts and restricts commands to the project directory.
Install Mechanism
No install spec or downloads are embedded in the skill (instruction-only). The runtime steps ask the user to clone from GitHub and run npm/docker commands locally, which is a normal, low-risk pattern for an installer guide.
Credentials
The skill does not request environment variables or credentials. It documents project-specific env prefixes (CITRINEOS_*) and bootstrap variables for configuration, which is expected and proportional to managing the service.
Persistence & Privilege
always:false and no instructions to modify agent or system-wide skill configuration. The skill does not request persistent elevated privileges; it only instructs the user how to run services and manage Docker locally or in cloud instances.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install citrineos-assistant
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /citrineos-assistant 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.1
Security: replace pipe-to-shell with package manager, add safety guidance
v1.0.0
Initial release of CitrineOS Assistant. - Step-by-step guidance for installing, configuring, and managing CitrineOS (OCPP EV charging server) - Supports Docker, cloud hosting providers (AWS, GCP, Azure, VPS), and API operations - Runs environment diagnostics before installation guidance - Offers detailed Docker and cloud setup instructions, including firewall and configuration tips - Provides quick commands for common operations: health checks, managing charging stations, starting/stopping services, viewing logs, troubleshooting - API endpoint references and example workflows included for easy user interaction
元数据
Slug citrineos-assistant
版本 1.0.1
许可证
累计安装 0
当前安装数 0
历史版本数 2
常见问题

CitrineOS Assistant 是什么?

Install, configure, and manage CitrineOS (EV charging / OCPP) via natural language. Supports Docker, cloud hosting, and API operations. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 623 次。

如何安装 CitrineOS Assistant?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install citrineos-assistant」即可一键安装,无需额外配置。

CitrineOS Assistant 是免费的吗?

是的,CitrineOS Assistant 完全免费(开源免费),可自由下载、安装和使用。

CitrineOS Assistant 支持哪些平台?

CitrineOS Assistant 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 CitrineOS Assistant?

由 Anton Enenkov(@enenkov)开发并维护,当前版本 v1.0.1。

💬 留言讨论