quantum-ai-v3/docs/AGENT_SETUP_CHECKLIST.md
Claude 375b2b9d65 Implement wallet deduction after success & fix display issues
🚀 Major improvements to agent system:

## Wallet Management 
- Move wallet deduction to AFTER successful processing (not before)
- Add real-time wallet balance updates in frontend
- Prevent users from losing money on failed requests
- Update both data_analyzer and weather_reporter processors

## Data Analyzer Agent 📊
- Fix N8N integration to handle array response format
- Add binary PDF file upload (multipart/form-data)
- Implement real-time AJAX results display below form
- Add wallet balance updates after successful processing
- Support continuous workflow with "Analyze Another File"

## Weather Reporter Agent 🌤️
- Update price from 2.5 AED to 2.0 AED
- Fix results display (was using page reload, now AJAX)
- Add real-time wallet balance updates
- Implement dynamic results rendering below form
- Add "Get Another Report" functionality

## Template System 🎨
- Update agent generator templates with correct wallet flow
- Add data-wallet-balance attributes for easy targeting
- Fix JavaScript querySelector errors
- Implement proper error handling and logging

## Documentation 📚
- Update CLAUDE.md with wallet best practices
- Add examples of current production agents
- Document required JavaScript functions
- Update pricing information and modern agent features
- Add gitignore entries for nextjs/ and netcop-ai-hub/

## Frontend JavaScript 💻
- Add updateWalletBalance() function for real-time updates
- Implement displayResults() for dynamic content rendering
- Add proper error handling with user-friendly messages
- Support continuous workflow without page refresh

🎉 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-10 16:34:03 +05:30

7.7 KiB

Agent Setup Checklist

Steps to Complete After Running create_agent Command

This checklist covers the 6 essential steps needed after running the automated create_agent command to make your agent fully functional.

The automated system now generates all code files including models, views, processors, and admin interface!


Example Command

python manage.py create_agent "PDF Analyzer" "pdf-analyzer" api \
  --category utilities --price 5.0 \
  --api-base-url "https://api.docparser.com/v1/process" \
  --api-key-env "DOCPARSER_API_KEY" --auth-method bearer

After running this command, follow these steps:


Step 1: Add to Django Settings

File: netcop_hub/settings.py

Add your new agent to INSTALLED_APPS:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    
    # Core apps
    'core',
    'authentication',
    'wallet',
    'agent_base',
    
    # Agent apps
    'weather_reporter',
    'agent_pdf_analyzer',  # ← ADD THIS LINE
]

Step 2: Register URL Routing

File: netcop_hub/urls.py

Add URL pattern for your agent:

urlpatterns = [
    path('admin/', admin.site.urls),
    path('auth/', include('authentication.urls')),
    path('agents/weather-reporter/', include('weather_reporter.urls')),
    path('agents/pdf-analyzer/', include('agent_pdf_analyzer.urls')),  # ← ADD THIS LINE
    path('', include('core.urls')),
]

⚠️ Important: Add agent URLs before the core URLs (the line with path('', include('core.urls'))).


Step 3: Run Database Migrations

Terminal Commands:

# Create migrations for your new agent
python manage.py makemigrations agent_pdf_analyzer

# Apply migrations to database
python manage.py migrate

Expected Output:

Migrations for 'agent_pdf_analyzer':
  agent_pdf_analyzer/migrations/0001_initial.py
    - Create model PdfAnalyzerRequest
    - Create model PdfAnalyzerResponse

Operations to perform:
  Apply all migrations: ...
Running migrations:
  Applying agent_pdf_analyzer.0001_initial... OK

Step 4: Create Marketplace Entry

Method A: Django Shell (Recommended)

python manage.py shell
from agent_base.models import BaseAgent
from decimal import Decimal

BaseAgent.objects.create(
    name="PDF Analyzer",
    slug="pdf-analyzer",
    description="Extract text, generate summaries, and analyze sentiment from PDF documents",
    category="utilities",
    price=Decimal('5.00'),
    icon="📄",
    agent_type="api",
    rating=Decimal('4.5'),
    review_count=0,
    is_active=True
)

# Verify it was created
print("Agent created:", BaseAgent.objects.filter(slug='pdf-analyzer').exists())

Method B: Admin Interface

  1. Go to http://localhost:8000/admin/
  2. Login with superuser account
  3. Click "Base agents" under "AGENT_BASE"
  4. Click "Add Base Agent"
  5. Fill in the form with agent details
  6. Save

Step 5: Add Environment Variables

File: .env

Add API credentials for your agent:

# Existing variables...
OPENWEATHER_API_KEY=15befe6bac7b1cd0268900fb97d31482

# Add your new agent's API key
DOCPARSER_API_KEY=your_actual_api_key_here

For webhook agents, add webhook URLs:

# For webhook-based agents
N8N_WEBHOOK_PDF_ANALYZER=https://your-n8n-instance.com/webhook/pdf-analyzer

Step 6: Create Agent Template

The automated system creates the code structure, but you need to create the template:

# Create the template directory and file:
mkdir -p [agent_name]/templates/

Copy and customize from the weather reporter template:

# Copy the weather reporter template as a starting point:
cp weather_reporter/templates/detail.html [agent_name]/templates/detail.html

# Then customize the template for your specific agent

Template location should be:

# Your agent templates should be in:
agent_[name]/templates/agent_[name]/detail.html

# Example for PDF Analyzer:
agent_pdf_analyzer/templates/agent_pdf_analyzer/detail.html

# Example for Data Analyzer:
data_analyzer/templates/data_analyzer/detail.html

🧪 Step 7: Test Your Agent

7.1 Check Django Configuration

python manage.py check

Expected: System check identified no issues (0 silenced).

7.2 Test Template Loading

python manage.py shell -c "
from django.template.loader import get_template
try:
    template = get_template('detail.html')
    print('✅ Template found successfully')
except Exception as e:
    print('❌ Template error:', e)
"

Expected: ✅ Template found successfully

7.3 Test URL Routing

python manage.py shell -c "from django.urls import reverse; print('Agent URL:', reverse('core:agent_detail', args=['pdf-analyzer']))"

Expected: Agent URL: /agents/pdf-analyzer/

7.4 Test in Browser

  1. Start server: python manage.py runserver
  2. Visit marketplace: http://localhost:8000/marketplace/
  3. Verify agent appears in the list
  4. Click "Use Agent" button
  5. Verify agent page loads correctly (should redirect to login if not authenticated)
  6. Test authentication flow (login → redirect back to agent page)

7.5 Test Complete Flow

  1. Login with test user
  2. Add wallet balance (if needed)
  3. Submit agent form with test data
  4. Verify request processes successfully
  5. Check wallet deduction occurred
  6. Verify results display correctly

🐛 Common Issues & Quick Fixes

Issue 1: "No module named 'agent_pdf_analyzer'"

Fix: Make sure you added the app to INSTALLED_APPS in settings.py

Issue 2: "TemplateDoesNotExist: detail.html"

Fix: Ensure template is in correct location within the agent app:

# Template should be at:
agent_[name]/templates/detail.html

# NOT in the global templates folder
# Restart Django server after moving templates

Issue 3: "NoReverseMatch: Reverse for 'wallet' not found"

Fix: Check template URLs use proper namespaces:

<!-- Wrong -->
{% url 'wallet' %}

<!-- Correct -->
{% url 'core:wallet' %}

Issue 4: "Agent not found" in marketplace

Fix: Verify BaseAgent was created with correct slug:

python manage.py shell -c "from agent_base.models import BaseAgent; print([a.slug for a in BaseAgent.objects.all()])"

Issue 4: Agent page shows 404

Fix: Check URL registration order in netcop_hub/urls.py - agent URLs must come before core URLs.

Issue 5: API key errors

Fix: Verify environment variable name matches processor:

# In processor.py
api_key_env = 'DOCPARSER_API_KEY'  # Must match .env file

📝 Quick Checklist Summary

After running create_agent, complete these 6 steps:

  • Settings: Add agent to INSTALLED_APPS
  • URLs: Add URL pattern to netcop_hub/urls.py
  • Database: Run makemigrations and migrate
  • Marketplace: Create BaseAgent entry (done automatically)
  • Environment: Add API keys to .env
  • Template: Create and customize detail.html template
  • Test: Verify agent works end-to-end

Total time: ~10-15 minutes


🚀 You're Done!

Your agent should now be: Visible in the marketplace
Accessible via direct URL
Functional with authentication
Processing requests successfully
Integrated with wallet system

Next Steps:

  • Customize the agent's UI/templates
  • Add more complex business logic
  • Configure additional API integrations
  • Monitor usage and performance