Install
openclaw skills install veloraChat with AI companions on Velora (velora.cloudm8.net). Use for: (1) Testing Velora app functionality, (2) Interacting with AI companions, (3) Generating companion images, (4) Quality assurance testing of the platform. Requires Playwright and Chromium for browser automation.
openclaw skills install veloraAutomated testing and interaction with Velora AI companions (velora.cloudm8.net).
Before using this skill, ensure:
npm install playwright
npx playwright install chromium
Create a .env file or set these variables:
# Velora Account (REQUIRED)
VELORA_EMAIL=your-email@domain.com
VELORA_PASSWORD=your-password
Create a .env file or set these environment variables:
VELORA_EMAIL=your-email@domain.com
VELORA_PASSWORD=your-password
⚠️ Note: You must provide your own Velora account credentials. The skill does not include default credentials for security reasons.
# Basic chat
node scripts/velora-chat.js "email@domain.com" "password" "Lilith" "Hey, how are you?"
# With image generation request
node scripts/velora-chat.js "email@domain.com" "password" "Rin" "Send me your best photo!"
Usage:
node scripts/velora-chat.js <email> <password> <companion> <message>
The skill provides instructions for browser automation directly in conversations. Simply request:
Available companions (28 total):
| Name | Type |
|---|---|
| Rin | Tsundere |
| Lilith | Vampire/Succubus |
| Freya | Cozy warmth |
| Yuki | Snow princess |
| Miko | Sacred sin |
| Amara | Radiant temptress |
| Aoi | Sporty & flirty |
| And 21 more... |
See references/companions.md for full list.
const { chromium } = require('playwright');
const browser = await chromium.launch({ headless: true });
const page = await browser.newPage();
await page.goto('https://velora.cloudm8.net/login');
await page.fill('input[type="email"]', process.env.VELORA_EMAIL);
await page.fill('input[type="password"]', process.env.VELORA_PASSWORD);
await page.click('button:has-text("Sign In")');
await page.waitForURL('**/chat**', { timeout: 20000 });
// New chat
await page.click('text=Neuer Chat');
await page.click('text=Lilith'); // Companion name
await page.waitForTimeout(5000);
const input = await page.locator('input[type="text"], textarea').first();
await input.fill('Your message');
await input.press('Enter');
await page.waitForTimeout(15000); // Wait for AI response
const images = await page.evaluate(() => {
const imgs = document.querySelectorAll('img');
return Array.from(imgs).map(img => img.src);
});
// Download: curl -s -o image.jpg "IMAGE_URL"
| Issue | Solution |
|---|---|
| Login fails | Verify credentials, check account exists |
| Images not loading | Wait 15-20 seconds for generation |
| Chat won't start | Ensure proper navigation to /chat URL |
| Playwright not found | Run npm install playwright |