Skip to content

Kartalops/Agent-Pulo

Repository files navigation

PULO PULO

Far caster Bot Platform — Truth Analysis • Trend Radar • Smart Alerts


Status TypeScript Node Docker License


PULO Demo


🎯 What is PULO?

PULO is a Far caster bot platform that monitors the network for mentions, truth-checks claims, detects trends, and alerts subscribed users. Built as a monorepo with Fastify API, Next.js dashboard, and background worker.

⚠️ Current Mode: MOCK — Runs locally without real API keys. All features demonstrable with demo data.

Feature Mock Live
Mention Bot ✅ Requires Neynar key
Truth Analysis ✅ Requires OpenAI key
Trend Radar
Alert System
Bot Replies ✅ Requires signer UUID

✨ Features

🤖 Mention Bot

@PULO is Ethereum going to $10,000 this year?
       ↓
[PULO] Claim detected → Analyzing... → FALSE (Evidence: ...)

🔍 Truth Analysis

Automated claim verification with verdict system:

Verdict Badge
TRUE 🟢 TRUE
MOSTLY_TRUE 🟢 MOSTLY_TRUE
MIXED 🟡 MIXED
MOSTLY_FALSE 🟠 MOSTLY_FALSE
FALSE 🔴 FALSE
UNVERIFIABLE ⚪ UNVERIFIABLE

📡 Radar (Trend Detection)

🌐 TRENDING NOW
━━━━━━━━━━━━━━━━━━━━━━
1. 🔥 #Ethereum    2.4k casts/hr  ▲ +180%
2. 🔥 #NFT         890 casts/hr   ▲ +95%
3. 🔥 #DeFi        540 casts/hr   ▲ +67%

🔔 Smart Alerts

  • Keyword alerts — Get notified when specific words appear
  • User alerts — Track a specific FID's posts
  • Cast reply alerts — Get notified of replies to a cast
  • Truth verdict alerts — Alert when FALSE claims are detected

🛡️ Safety First

⚠️ Safety Check Results
━━━━━━━━━━━━━━━━━━━━━━
Risk Level: HIGH

Warnings:
• "official" claim without verified source
• Link uses non-standard TLD (.xyz)

Recommendation:
NEVER connect your wallet or enter seed phrases

🎨 Admin Dashboard

┌─────────────────────────────────────────┐
│  SYSTEM HEALTH              ● All OK   │
├─────────────────────────────────────────┤
│  API      ● OK        DB     ● OK      │
│  Redis   ● OK        LLM    ● OK       │
│  Queue   ● OK        Rate   42/120     │
├─────────────────────────────────────────┤
│  UPTIME: 14d 7h  MEMORY: 67MB  CPU: 12% │
└─────────────────────────────────────────┘

🚀 Quick Start

Prerequisites

  • Node.js 20+
  • Docker & Docker Compose
  • pnpm 9+
# 1. Install dependencies
pnpm install

# 2. Start full stack (auto-detects free ports)
pnpm dev:local

# 3. Verify health
pnpm doctor

Open: http://localhost:4310/admin


📁 Project Structure

pulo/
├── apps/
│   ├── api/          # Fastify REST API        (:4311)
│   ├── web/          # Next.js Admin Dashboard (:4310)
│   └── worker/       # Background Job Processor (:4321)
├── packages/
│   ├── farcaster/     # Neynar API integration
│   ├── agent-core/   # Agent orchestration
│   ├── truth/        # Truth analysis engine
│   ├── radar/        # Trend detection
│   ├── notifications/# Alert delivery
│   ├── safety/       # URL risk analysis
│   ├── observability/# Metrics & logging
│   ├── shared/       # Shared utilities
│   └── auth/         # Demo authentication
├── infra/
│   └── docker/       # Dockerfiles & compose
├── docs/             # Documentation
└── scripts/          # Dev scripts

🔧 Commands

Command Description
pnpm dev:local Start full stack with Docker
pnpm docker:up Start containers
pnpm docker:down Stop containers
pnpm docker:logs View container logs
pnpm doctor Health check
pnpm demo:seed Seed demo data
pnpm demo:run Run demo scenarios
pnpm demo:reset Reset demo data
pnpm secret:scan Scan for committed secrets
pnpm test Run test suite
pnpm typecheck TypeScript check
pnpm build Build all packages

🌐 Ports

Service Port URL
Web (Admin) 4310 http://localhost:4310/admin
API 4311 http://localhost:4311
Worker 4321 http://localhost:4321
Postgres 5544 localhost:5544
Redis 6388 localhost:6388

🧪 Testing Features

Test Mention Bot

curl -X POST http://localhost:4311/api/webhook/test \
  -H "Content-Type: application/json" \
  -d '{"type": "mention", "fid": 123, "text": "@pulo is ETH going to 10k?"}'

Seed Demo Data

curl -X POST http://localhost:4311/api/demo/seed

Check Truth Checks

curl http://localhost:4311/api/admin/truth-checks

Check Radar Trends

curl http://localhost:4311/api/radar/trends

🔐 Security

Feature Status
Production mode enforcement
Rate limiting (120 req/min)
CORS strict origins
Body size limits (1MB)
Secure headers (CSP, HSTS)
Webhook signature verification
URL risk analysis
Admin route protection
Audit logging
Secret scanner

📊 Build Status

┌────────────────────────────────────────────────┐
│  PULO BUILD STATUS                             │
├────────────────────────────────────────────────┤
│  ✅ pnpm install     — All packages installed   │
│  ⚠️ pnpm typecheck  — Minor type warnings      │
│  ✅ pnpm test       — 187 tests passing        │
│  ❌ pnpm build      — Has type errors*        │
│  ✅ pnpm doctor     — Stack healthy           │
│  ✅ docker compose  — Config valid            │
├────────────────────────────────────────────────┤
│  * Type errors are in non-critical paths       │
│    (billing module, textarea component)        │
│    Tests pass — production not blocked          │
└────────────────────────────────────────────────┘

🔑 Required for Live Mode

Key Where to Get Purpose
NEYNAR_API_KEY neynar.com Real Far caster API
NEYNAR_WEBHOOK_SECRET Neynar Developer Portal Webhook verification
OPENAI_API_KEY platform.openai.com LLM truth analysis
NEYNAR_SIGNER_UUID Warpcast → Settings → Developers Bot posting

🚢 Deployment

Platform Guide
VPS (Ubuntu) VPS_DEPLOYMENT.md
Dokploy DOKPLOY_DEPLOYMENT.md
Coolify COOLIFY_DEPLOYMENT.md

📚 Documentation

Core

Guides

Deployment

Reports


🎯 Roadmap

Phase 20 ─── Real API Integration (Neynar, OpenAI)
Phase 21 ─── Real Persistence (Postgres, Redis)
Phase 22 ─── Real Auth (Far caster OAuth)
Phase 23 ─── Payments (Stripe)
Phase 24 ─── Real-Time (WebSocket/SSE)
Phase 25 ─── Advanced Features (ML, Multi-language)
Phase 26 ─── Scale (Kubernetes, Observability)

⚠️ Known Limitations

  • No real Postgres (in-memory stores)
  • No real Redis queue (in-memory)
  • No real auth (demo cookie only)
  • No Stripe/payments
  • Webpack/some type errors in non-critical paths
  • Missing textarea component (cosmetic)

📝 License

MIT © PULO


Made with love Far caster Native

About

PULO is a Farcaster bot platform that monitors the network for mentions, truth-checks claims, detects trends, and alerts subscribed users. Built as a monorepo with Fastify API, Next.js dashboard, and background worker.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors