JSPM

@elizaos/plugin-raiinmaker

1.0.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 8
  • Score
    100M100P100Q25493F
  • License MIT

Plugin for generated content verification, moderation, and HITL feedback

Package Exports

  • @elizaos/plugin-raiinmaker
  • @elizaos/plugin-raiinmaker/package.json

Readme

Eliza Raiinmaker Plugin

A plugin for the Eliza AI agent framework that integrates with the Raiinmaker content verification API, enabling AI agents to have their content reviewed by human validators before posting.

Features

  • Content Verification: Submit content (tweets, posts, messages) to be verified by human validators
  • Verification Status Checking: Track and check the status of ongoing verification requests
  • Quest Status: View the status of Raiinmaker quests and tasks with filtering options
  • Data Verification: Verify data through the Raiinmaker validation service

Installation

Go to eliza/agent/package.json and in dependencies add:

  "@elizaos-plugins/plugin-raiinmaker": "github:Coiin-Blockchain/plugin-raiinmaker",

Configuration

Configure in your character's file:

import pluginRaiinmaker from "@elizaos-plugins/plugin-raiinmaker";
import twitterPlugin from "@elizaos-plugins/client-twitter";
xport const defaultCharacter: Character = {
  plugins: [
          twitterPlugin,
          pluginRaiinmaker,
      ],
  "name": "MyAgent"
}

Available Actions

VERIFY_GENERATION_CONTENT

Submits content to be verified by human validators in the Raiinmaker network.

Example:

User: Can you verify if this tweet is appropriate? "Just tried the new AI feature and it's incredible! #AIrevolution"
Agent: I'll verify if that tweet is appropriate for posting.

CHECK_VERIFICATION_STATUS

Checks the status of a verification task.

Example:

User: What's the status of my content verification with task ID abc123?
Agent: Let me check the status of your verification task.

GET_RAIIN_QUEST_STATUS

Gets the status of Raiinmaker quests and tasks with optional filtering.

Example:

User: What is the status of my raiinmaker quest?
Agent: Let me take a look at that quest for you.

GET_RAIIN_DATA_VERIFICATION

Verifies data through the Raiinmaker validation service.

Example:

User: Can you verify this data for me? The sky is blue.
Agent: Let me verify that data for you.

Integration With Twitter Client

This plugin works especially well with the Twitter client to verify content before posting:

First, allow enable our plugin approval in your .env file:


RAIINMAKER_API_KEY=               # Required, API Key from seed panel
RAIINMAKER_APP_ID=                # Required, App ID from seed panel
RAIINMAKER_ENVIRONMENT=           # Options: development, staging, production
RAIINMAKER_API_URL='https://server.api.raiinmaker.com/external'
TWITTER_APPROVAL_ENABLED=false    # Optional, Default: false
TWITTER_APPROVAL_CHECK_INTERVAL=60 # Optional, Default: 60
TWITTER_APPROVAL_PROVIDER=RAIINMAKER # RAIINMAKER or DISCORD, Default: RAIINMAKER
OPENAI_API_KEY =                  # OpenAi API key for pre-verification step
  • Get your AppId and API key on the raiinmaker seed panel
  • To preform pre-verification, you must have an OpenAI api Key

Then, in your /packages/client-twitter/post.ts

// In your Twitter post generation flow
if (approvalRequired) {
    // Send for Raiinmaker verification
    const taskId = await sendForRaiinmakerVerification(
        tweetTextForPosting,
        roomId,
        rawTweetContent
    );
    elizaLogger.log("Tweet sent for Raiinmaker verification");
} else {
    // Post directly
    this.postTweet(...);
}

Development

Building the Plugin

# Install dependencies
bun install

# Build the plugin
bun build

Running Tests

# Run all tests
bun test

# Run specific test
bun test tests/verificationFlow.test.ts

License

MIT# Updated repository URL