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

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors