A blockchain explorer-like web application for exploring and displaying AI agent information on the ERC-8004 protocol.
- π Browse and search AI agents
- π Display network statistics and agent activity
- π·οΈ OASF automatic classification (Skills & Domains)
- π Dark / Light theme toggle
- π Automatic on-chain data synchronization
- Node.js 18+
- Python 3.11+
- uv (Python package manager)
# Install uv
curl -LsSf https://astral.sh/uv/install.sh | sh# Start both frontend and backend
./scripts/dev-all.sh
# Or start separately
./scripts/dev-backend.sh # Backend (port 8000)
./scripts/dev-frontend.sh # Frontend (port 3000)- Frontend: http://localhost:3000
- Backend API: http://localhost:8000
- API Docs: http://localhost:8000/docs
agentscan/
βββ frontend/ # Next.js 16 + React 19 + Tailwind CSS v4
β βββ app/ # Page routes
β βββ components/ # React components
β βββ lib/ # API client
β βββ types/ # TypeScript types
β
βββ backend/ # FastAPI + SQLAlchemy + Web3.py
β βββ src/
β β βββ api/ # API routes
β β βββ models/ # Database models
β β βββ services/ # Business logic
β β βββ taxonomies/ # OASF taxonomy data
β β βββ core/ # Core configuration
β βββ logs/ # Log output
β
βββ scripts/ # Run scripts
βββ docs/ # Official documentation
βββ discuss/ # Discussion and history
- Next.js 16.0.1 (App Router)
- React 19.2.0
- TypeScript 5.x
- Tailwind CSS v4
- Python 3.11+
- FastAPI
- SQLAlchemy 2.x
- Web3.py (Sepolia network)
- uv (package manager)
- SQLite (development)
- PostgreSQL (recommended for production)
- Automatically syncs ERC-8004 contract data from Sepolia network
- Batch block processing (10,000 blocks/batch)
- Incremental sync to avoid reprocessing
- Scheduled task: sync every 5 minutes
Automatically labels AI Agents based on the OASF v0.8.0 specification:
- 136 Skills: NLP, CV, Agent orchestration, Data engineering, etc.
- 204 Domains: Technology, Finance, Healthcare, Education, etc.
- Smart classification: Supports DeepSeek, OpenAI, OpenRouter, Anthropic
- Background async: Non-blocking batch processing
Detailed documentation: docs/oasf-classification.md
# Check environment configuration
./scripts/docker-check-env.sh
# Deploy the full application
./scripts/docker-deploy.sh
# Common operations
./scripts/docker-logs.sh # View logs
./scripts/docker-restart.sh # Restart services
./scripts/docker-stop.sh # Stop servicesDetailed guide: docs/DEPLOYMENT.md
- Deployment Guide - Complete deployment documentation
- OASF Classification - Auto-classification feature
- Background Classification - Async batch classification
- Validation Rules - Classification validation standards
- Reputation Sync - Reputation system design
# Required
SEPOLIA_RPC_URL=https://sepolia.infura.io/v3/YOUR_KEY
# Optional
DATABASE_URL=sqlite:///./8004scan.db
DEBUG=true
# OASF Classification (optional)
LLM_PROVIDER=deepseek # deepseek, openai, openrouter, anthropic
DEEPSEEK_API_KEY=sk-your-key-hereNEXT_PUBLIC_API_URL=http://localhost:8000GET /api/stats- Overall statistics
GET /api/agents- Agent list (pagination, search, filtering)GET /api/agents/featured- Featured agentsGET /api/agents/{id}- Agent detailsPOST /api/agents/{id}/classify- Manually classify a single agentPOST /api/agents/classify-all- Batch classification
GET /api/networks- Network listGET /api/networks/{id}- Network details
GET /api/activities- Recent activities
- Python/TypeScript files must not exceed 300 lines
- No more than 8 files per directory
- Follow elegant architecture design principles
- Avoid code smells (rigidity, redundancy, circular dependencies, etc.)
cd frontend
npm install
npm run devcd backend
uv sync
uv run uvicorn src.main:app --reloadcd backend
uv run python -m src.db.init_dataIssues and Pull Requests are welcome!
MIT License