| .. | ||
| agent-v3 | ||
| didiFramework | ||
| scripts | ||
| README.md | ||
Orchestration Layer
Business logic services for the DIDI platform. Contains the analysis engine and parameters management API.
Services
Agent V3
Analysis pipeline engine. Processes content through multiple detection components and generates risk verdicts.
- Port: 24803
- Container: didi-agent-v3
- Access: Via Kong at /agent-v3/*
didiFramework
CRUD API for detection parameters. Manages techniques, dimensions, weights, and prompts.
- Port: 3005
- Container: didi-framework
- Database: PostgreSQL cluster (bos_parammgmt schema)
Architecture
┌─────────────────────────────────────────────────────────────────────────┐
│ ORCHESTRATION LAYER │
├─────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────┐ ┌─────────────────────────────┐ │
│ │ Agent V3 │ │ didiFramework │ │
│ │ Port 24803 │ │ Port 3005 │ │
│ ├─────────────────────────────┤ ├─────────────────────────────┤ │
│ │ │ │ │ │
│ │ Pipeline Components: │ │ CRUD Endpoints: │ │
│ │ - Techniques Detection │ │ - /api/techniques │ │
│ │ - AI Content Detection │ │ - /api/dimensions │ │
│ │ - Claims Verification │ │ - /api/subdimensions │ │
│ │ - Domain Analysis │ │ - /api/indicators │ │
│ │ - Verdict Aggregation │ │ - /api/weights │ │
│ │ │ │ - /api/prompts │ │
│ │ APIs: │ │ - /api/sync-redis │ │
│ │ - /api/v3/pipeline/* │ │ - /api/history │ │
│ │ - /api/v3/techniques/* │ │ │ │
│ │ - /api/v3/ai-tampered/* │ │ │ │
│ │ - /api/v3/claims/* │ │ │ │
│ │ - /api/v3/history/* │ │ │ │
│ │ │ │ │ │
│ └──────────────┬──────────────┘ └──────────────┬──────────────┘ │
│ │ │ │
│ ▼ ▼ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ Redis Cache │ │
│ │ - Session state │ │
│ │ - Framework parameters (synced) │ │
│ │ - Analysis results (temporary) │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ │ │ │
│ ▼ ▼ │
│ ┌─────────────────────────────────────────────────────────────────┐ │
│ │ PostgreSQL Cluster │ │
│ │ 10.11.50.167:5000 │ │
│ │ - bos_parammgmt: Detection parameters │ │
│ │ - bos_analysis: Analysis results │ │
│ └─────────────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────┘
Directory Structure
orchestration-layer/
├── agent-v3/ # Analysis engine
│ ├── docker-compose.yml
│ ├── src/
│ │ ├── api/ # Route handlers
│ │ ├── components/ # Analysis components
│ │ │ ├── techniques/ # Manipulation detection
│ │ │ ├── ai-tampered/ # AI content detection
│ │ │ ├── claims/ # Claim verification
│ │ │ └── pipeline/ # Orchestration
│ │ ├── config/ # Configuration
│ │ └── core/ # Core utilities
│ └── scripts/ # Build/deploy scripts
├── didiFramework/ # Parameters API
│ ├── docker-compose.yml
│ ├── src/
│ │ ├── routes/ # API endpoints
│ │ ├── config/ # Database config
│ │ ├── types/ # TypeScript types
│ │ └── utils/ # Utilities
│ ├── sql/ # SQL scripts
│ └── scripts/ # Utilities
└── docs/ # Documentation
Quick Start
Start Both Services
# Start didiFramework
cd didiFramework
docker compose up -d
# Start Agent V3
cd ../agent-v3
docker compose up -d
Check Status
docker ps | grep -E "framework|agent-v3"
View Logs
docker logs -f didi-framework
docker logs -f didi-agent-v3
API Overview
Agent V3 Endpoints
Analysis Pipeline:
- POST /api/v3/pipeline/analyze - Analyze text
- POST /api/v3/pipeline/analyze-url - Analyze URL
- POST /api/v3/pipeline/analyze-media - Analyze media
- GET /api/v3/pipeline/:sessionId/status - Check status
- GET /api/v3/pipeline/:sessionId/result - Get result
Individual Components:
- POST /api/v3/techniques/analyze - Techniques only
- POST /api/v3/ai-tampered/analyze - AI detection only
- POST /api/v3/claims/analyze - Claims only
History:
- GET /api/v3/history - List analyses
- GET /api/v3/history/:sessionId - Analysis details
- DELETE /api/v3/history/:sessionId - Delete analysis
didiFramework Endpoints
Parameters:
- GET/POST/PUT/DELETE /api/techniques
- GET/POST/PUT/DELETE /api/dimensions
- GET/POST/PUT/DELETE /api/subdimensions
- GET/POST/PUT/DELETE /api/indicators
Weights:
- GET/PUT /api/weights/component
- GET/PUT /api/weights/multipliers
- GET/PUT /api/weights/scenarios
Sync:
- POST /api/sync-redis - Sync all params to Redis
- GET /api/sync-redis/status - Check sync status
History (proxy):
- GET /api/history - Analysis history
- GET /api/history/:sessionId - Analysis details
Data Flow
- Request arrives at Kong (/agent-v3/*)
- Kong routes to Agent V3 (port 24803)
- Agent V3 loads parameters from Redis (synced from didiFramework)
- Analysis components process content
- Results saved to Redis (temporary) and PostgreSQL (permanent)
- Response returned through Kong
Configuration
Agent V3
Environment variables in docker-compose.yml:
- REDIS_HOST, REDIS_PORT, REDIS_PASSWORD
- PG_HOST, PG_PORT, PG_DATABASE, PG_USER, PG_PASSWORD
- LLM provider API keys
didiFramework
Environment variables:
- DB_HOST, DB_PORT, DB_NAME, DB_USER, DB_PASSWORD
- REDIS_HOST, REDIS_PORT, REDIS_PASSWORD
Dependencies
Both services depend on:
- PostgreSQL cluster (10.11.50.167:5000)
- Redis (didi-cache)
- Network: didi-staging_didi-staging