← Back to Plugins
Tools

Influxion

influxion By influxion 👁 48 views ▲ 0 votes

OpenClaw Influxion Plugin

GitHub

Install

npm install
npm

Configuration Example

// ~/.openclaw/openclaw.json
{
  "plugins": {
    "entries": {
      "influxion": {
        "enabled": true,
        "config": {
          "apiKey": "sk-xxxxxxxxxxxx",
          "deploymentId": "my-openclaw-setup",
          "projectId": "00000000-0000-0000-0000-000000000000"
        }
      }
    }
  }
}

README

# OpenClaw Influxion Plugin

An [OpenClaw](https://openclaw.ai) plugin that periodically collects agent session transcripts and uploads them to [Influxion](https://www.influxion.io/) for agent performance evaluation.

## Installation

```bash
openclaw plugins install influxion
```

Or for local development from this repo:

```bash
openclaw plugins install /path/to/openclaw-influxion
```

## Configuration

Plugin config lives inside the `plugins.entries.influxion.config` key in `~/.openclaw/openclaw.json`. Edit the file directly — OpenClaw has no `configure set` subcommand for arbitrary keys.

### Minimal setup

```jsonc
// ~/.openclaw/openclaw.json
{
  "plugins": {
    "entries": {
      "influxion": {
        "enabled": true,
        "config": {
          "apiKey": "sk-xxxxxxxxxxxx",
          "deploymentId": "my-openclaw-setup",
          "projectId": "00000000-0000-0000-0000-000000000000"
        }
      }
    }
  }
}
```

Restart the gateway after saving (`openclaw gateway restart` or via the OpenClaw menu bar app).

### All options

```jsonc
{
  "plugins": {
    "entries": {
      "influxion": {
        "enabled": true,
        "config": {
          // Required
          "apiKey": "sk-xxxxxxxxxxxx",
          "deploymentId": "my-openclaw-setup",
          "projectId": "00000000-0000-0000-0000-000000000000",

          // Optional — override the API base URL (e.g. for self-hosted or local dev)
          "apiUrl": "https://api.influxion.io",

          "upload": {
            "every": "15m",        // Upload interval. Accepts: 30s, 5m, 1h, etc. Set to "0" to disable.
            "retryAttempts": 3,    // Number of retry attempts on failure
            "retryBackoffMs": 5000,
            "timeoutMs": 30000,
            "maxFilesPerRun": 50,
            "maxBytesPerRun": 10485760  // 10 MB
          },

          "filter": {
            "agents": {
              "allow": [],  // If non-empty, only these agent IDs are uploaded
              "deny": []    // These agent IDs are never uploaded (takes precedence over allow)
            },
            "sessions": {
              "deny": ["tmp-*", "scratch-*"]  // Glob patterns for session IDs to skip
            },
            "minMessages": 2,   // Skip sessions with fewer than this many messages
            "minBytes": 512     // Skip session files smaller than this
          }
        }
      }
    }
  }
}
```

## CLI Commands

```bash
# Show plugin status and pending file count
openclaw influxion status

# Trigger an immediate upload cycle
openclaw influxion sync
```

## Development

```bash
npm install
npm test
npm run typecheck
```

Uninstalling and reinstalling during development is a little manual.
You should uninstall with:

```bash
openclaw plugins uninstall influxion
```

You then should delete the directory at `~/.openclaw/extensions/influxion` and probably restart the OpenClaw gateway.
Sometimes the gateway doesn't stop with `openclaw gateway stop` and you may need to `killall openclaw-gateway`.
Then start it again and reinstall from your development source.

You will need to reconfigure the plugin in your `openclaw.json` file after every reinstall, e.g.:

```json
      "influxion": {
        "enabled": true,
        "config": {
          "apiUrl": "http://localhost:8000",
          "apiKey": "sk-xxxxxxxxxxxx",
          "deploymentId": "my-openclaw-setup",
          "projectId": "59b21a5c-d0cd-4477-96ac-ed6e9fcded75"
        }
      }
```

When testing Influxion itself, it's often sufficient to just delete the `state.json` file in the influxion plugin directory.
The plugin will then upload the sessions logs again, which you can force immediately with `openclaw influxion sync`.


## How It Works

1. The plugin registers a background service that runs on a configurable interval (default: every 15 minutes).
2. On each run, it scans `~/.openclaw/agents/*/sessions/*.jsonl` for session transcripts.
3. It applies agent and session filters to exclude unwanted sessions.
4. New or modified files (tracked via an upload ledger at `~/.openclaw/extensions/influxion/state.json`) are uploaded as NDJSON to the Influxion API.
5. The ledger is updated so unchanged files are skipped on future runs.
tools

Comments

Sign in to leave a comment

Loading comments...