Skip to content

Security Notice

This document has been auto-published from the internal knowledge base. All passwords, API keys, tokens, and IP addresses have been redacted for security.

Bots & AI Agents Mission Control

Complete inventory of all AI agents, bots, and automated intelligence systems across the HandyManny ecosystem.


Table of Contents

  1. Interactive Bots — User-facing chat interfaces
  2. AI Workflow Orchestrators — n8n workflows with AI
  3. Scheduled AI Services — Automated daily/periodic tasks
  4. AI Infrastructure — Shared services & credentials
  5. Quick Reference — All workflows, endpoints, credentials

Interactive Bots

1. CrowBot — Telegram Bot Orchestrator (ACTIVE)

Primary intelligent assistant for daily operations via Telegram.

Architecture

  • Entry: Telegram bot (Python, srv1379713) → n8n Orchestrator (srv1139900) → Sub-services
  • Fallback: If orchestrator unreachable, bot falls back to direct Claude Haiku chat
  • WhatsApp: Evolution API integration DISABLED (2026-02-28, env var security fix)

n8n Workflows (5, ALL ACTIVE)

WorkflowIDWebhookSchedule
OrchestratorcE3MeCxzEq8stEzU/crowbot-orchestratorOn-demand
Security Patrol2OZeifB6TsZXrpzM/crowbot-securityDaily 3 AM CST
Version Manager7R3kt0bM9TLhUPzq/crowbot-versionsDaily 2 AM CST
Daily BriefingDluVLcWCRANrFwp3/crowbot-briefingDaily 7 AM CST
Context Aggregator3KV33ay3BGnmqORk/crowbot-contextOn-demand

Intent Classification (12 Categories)

IntentRoutes To
OCEAN_TRACKOcean Tracker (AzACxa8tKeisIYss)
TRUCK_TRACKBatch Tracker (fCVbPtxhdMcroH4P)
SHIPMENT_STATUSHandyManny API /api/shipments
DOCUMENT_QUERYClaude Haiku (Expediente context)
SYSTEM_HEALTHMC Status (FJBz5E7sDbct4OSN)
SECURITY_CHECKSecurity Patrol
VERSION_CHECKVersion Manager
CALENDARClaude Haiku (suggests MC)
DAILY_PLANContext Aggregator → Claude Haiku
TODO_STATUSContext Aggregator → Claude Haiku
PROJECT_STATUSContext Aggregator → Claude Haiku
GENERAL_CHATClaude Haiku (CrowBot persona)

Telegram Bot Details

  • Location: /opt/telegram-bot/ on srv1379713
  • Service: telegram-bot.service (systemd)
  • Owner Chat ID: 5523342814
  • Deps: httpx, python-telegram-bot, anthropic
  • Env: ORCHESTRATOR_URL, ORCHESTRATOR_TIMEOUT=120

VPS Config Files

  • /docker/crowbot/security-baseline.json, version-registry.json, orchestrator-config.json, file-hashes.txt

Test Results (2026-02-28 — FULLY OPERATIONAL)

  • Orchestrator: WORKING (latest execution: success)
  • Intent Classification: All 12 categories operational
  • Smart Routing: Ocean tracking, truck tracking, system health, security, versions, daily plan, todos, projects
  • Sub-services: Context Aggregator 4/4, Briefing ✅, Security GREEN ✅, Versions ✅
  • ⚠️ OCEAN_TRACK times out on blocked carriers only (OOCL, Wan Hai, ZIM)

Recent Fixes (2026-02-28)

Issue: n8n updated security policy blocked environment variable access ($env.*), causing WhatsApp Reply node to fail with "access to env vars denied"

Fix Applied:

  • Disabled WhatsApp Reply node via n8n REST API
  • Method: Fetched workflow → Modified nodes array → Updated via PUT /api/v1/workflows/{id}
  • n8n API Key used: eyJhbGci... (Claude API key from user_api_keys table)
  • WhatsApp functionality temporarily disabled; Telegram remains primary channel
  • Orchestrator now responds via Webhook Response node only

Verification:

  • Latest execution 18322: finished=1, status=success
  • Test response: Full JSON with intent classification + response text
  • Zero env var errors in recent executions

Known Issues

  • SSH commands in Security Patrol may return empty (credential verification needed)
  • WhatsApp integration disabled (was non-critical, removed to fix env var blocking)
  • OCEAN_TRACK times out on carriers with heavy anti-bot (OOCL, Wan Hai, ZIM)

2. OpenClaw / Clawbot — Multi-Channel AI Chatbot (ACTIVE)

Advanced AI chatbot with Telegram, WhatsApp, and Web UI access.

Basics

  • Version: v2026.2.26 (updated 2026-02-27, latest)
  • VPS: srv1379713 ([VPS_IP]), port 63034 localhost-only
  • Container: openclaw-ruln-openclaw-1
  • Channels: Telegram @HMannyBot + WhatsApp (linked 2026-02-27)
  • Auth Method: OpenAI via OAuth, Anthropic via API key

Access & Authentication

Web UI:

  • URL: http://localhost:63034 (via SSH tunnel)
  • Tunnel: ssh user@server -N
  • Gateway Token: A4orghkMigPlg18UIaWMlsgx21c85EQZ

Telegram: @HMannyBot (Telegram bot token in .env)

WhatsApp: Linked via openclaw channels login (credentials saved, reconnects on restart)

Model Configuration (2026-02-28 — GPT-5.3 CODEX)

Primary Model: openai/gpt-5.3-codex 🚀 LATEST CODING MODEL

  • Context: 266K tokens (largest available)
  • Max Output: 16K tokens
  • Reasoning: Enabled
  • Multimodal: text + images
  • Cost: $5 input / $20 output per 1M tokens
  • Optimized for: Code generation, debugging, architecture, full-stack development
  • Alias: codex

Fallback Chain:

  1. openai/gpt-4.1-mini (fast, cheap, 125K ctx)
  2. anthropic/claude-haiku-4-5-20251001 (cheapest, 195K ctx)
  3. anthropic/claude-sonnet-4-5-20250929 (reasoning, 195K ctx)
  4. anthropic/claude-opus-4-6 (most powerful, 195K ctx, $75/1M output)

Available Providers:

  • OpenAI (via OAuth): gpt-5.3-codex, gpt-4.1-mini, gpt-4.1-nano
  • Anthropic (via API key): claude-opus-4-6, claude-sonnet-4-5, claude-haiku-4-5
  • Local: Ollama (Llama 3.1 8B/70B, needs SSH tunnel)

Model Switching: Use aliases in chat: @codex, @sonnet, @opus, @haiku, @mini, @nano

Setup & Onboarding (2026-02-27)

Initial Setup:

bash
ssh user@server
cd /docker/openclaw-ruln
docker compose exec openclaw openclaw onboard

OAuth Flow:

  1. Wizard provides OAuth URL for OpenAI
  2. Open URL in browser, authorize OpenAI
  3. Copy redirect URL from browser (even if 404 error)
  4. Paste full redirect URL back into terminal
  5. OpenClaw extracts code and completes OAuth

Link WhatsApp:

bash
docker compose exec openclaw openclaw channels login
# Select WhatsApp, scan QR code with phone

Key Config Files (VPS)

FilePurpose
/docker/openclaw-ruln/.envEnv vars (Telegram token, Brave API)
.openclaw/openclaw.jsonMain config (auto-generated on boot)
.openclaw/agents/main/agent/models.jsonRuntime model cache
.openclaw/agents/main/agent/auth.jsonProvider auth (OpenAI OAuth tokens)
.openclaw/agents/main/agent/auth-profiles.jsonAuth profiles + usage stats

Useful Commands

bash
# Health check
docker compose exec openclaw openclaw health

# Update OpenClaw
docker compose pull openclaw && docker compose down && docker compose up -d

# Configure settings
docker compose exec openclaw openclaw config set <key> <value>

# List available models
docker compose exec openclaw openclaw models list

# Access Web UI
openclaw dashboard  # (generates login URL)

# Link new channel
docker compose exec openclaw openclaw channels login

Critical: Entrypoint Behavior

  • Hostinger's /entrypoint.sh/hostinger/server.mjs auto-injects providers from env vars and overwrites openclaw.json on every boot
  • To remove a provider: delete from .env AND docker compose down && up -d (not docker restart)
  • OAuth tokens persist in auth.json (survive reboots)

3. WhatsApp Bot — n8n Workflow (ACTIVE)

Standalone WhatsApp bot for customer interactions.

  • n8n ID: RU2w9L7oHM0HnAcU
  • Status: Active
  • Integration: Evolution API
  • Purpose: Customer support automation, shipment notifications
  • Related: Error Handler workflow (0A6m78fcTqd53C1N)

AI Workflow Orchestrators

4. Ocean Tracker Orchestrator (ACTIVE)

Unified AI-powered tracking for 11 ocean carriers with headless browser and AI parsing.

Overview

  • n8n Workflow: AzACxa8tKeisIYss (ACTIVE, 19 nodes)
  • Webhook: POST /ocean-track with {"tracking_number": "...", "carrier": "ONE|MSC|MAERSK|CMA|..."}
  • Pipeline: Webhook → Detect Carrier → IF Error → Switch (11 routes + fallback) → Track → Normalize → Respond
  • Carrier auto-detection from container prefix when carrier not specified

11 Carrier Workflows (12 total with orchestrator)

CarrierWorkflow IDWebhookHB RouteStatus
ONEsjIvD2jvQBJJQsCQGET /one-trackingdirect APIVERIFIED 3/3
MSCyktm8HGmhAMclGLGPOST /msc-track/track/mscVERIFIED 3/3
Yang MingY4otOacbdvQy5qphPOST /yangming-track/track/yangmingVERIFIED 2/2
Evergreen2lcog1Lq9p1gxaOfPOST /evergreen-track/track/evergreenVERIFIED 1/1
HMM3DJfFyyQyXVLhVM1POST /hmm-track/track/hmmVERIFIED 2/2
CMA-CGMvuM2hK1ptcl53bvqPOST /cma-track/track/cmaVERIFIED
MaerskPJOoXo1rDx0YiCOXPOST /maersk-trackdirect APINEEDS API KEY
COSCOucOvO235wlsnkvW9POST /cosco-track/track/coscoActive
OOCLNZIx89az0CXBNxSNPOST /oocl-track/track/ooclBLOCKED (Cloudflare)
Wan HaiOkZspGGpM4AkoCW1POST /wanhai-track/track/wanhaiBLOCKED (Imperva)
ZIMWbasTpPdndzwXlB1POST /zim-track/track/zimBLOCKED (Akamai)

AI Technology

  • Primary: Headless Browser Service (Playwright + AI parsing with Claude Haiku)
  • Fallback: Direct carrier APIs where available (ONE, Maersk)
  • Anti-Bot: Stealth plugin, rotating user agents, random delays, mouse movement

Container Prefix Auto-Detection

  • ONE: ONEU, KKTU, TEMU, NYKU, ONEY
  • MSC: MEDU, MSCU, MSRU, GESU, TRHU (+ slot: LTIU, IMTU, HMCU)
  • Maersk: MAEU, MSKU, MRKU, MRSU, TCLU, TCNU (+ slot: UETU)
  • CMA-CGM: CMAU, CMDU, CXDU, CGMU
  • COSCO: COSU, CSLU, CCLU, CSNU
  • HMM: HDMU, HMMU
  • Evergreen: EGLV, EGHU, EGSU
  • Yang Ming: YMLU, YMJA
  • OOCL: OOLU, OOCL
  • Wan Hai: WHLU, WHSU, WHLC
  • ZIM: ZIMU

5. WSI Follow-up Email Ingestor (ACTIVE)

AI-powered email classifier for WSI follow-up tasks with Mission Control integration.

Overview

  • n8n ID: bpSRrvueoqy1E32M
  • Status: Active
  • Webhook: POST /wsi-tasks
  • Production URL: https://n8n.[VPS_HOSTNAME]/webhook/wsi-tasks
  • API Key: [API_KEY] (body field api_key)
  • AI Model: claude-haiku-4-5-20251001 (credential [CREDENTIAL_ID])

Architecture

  • Single webhook serves both email ingestion and CRUD API
  • IF Route: $json.body.action exists → CRUD Handler (TRUE) | AI Classify (FALSE)
  • Email ingestion path: Webhook → Route(FALSE) → AI Classify (Claude Haiku) → Store Task
  • CRUD API path: Webhook → Route(TRUE) → CRUD Handler
  • Storage: $getWorkflowStaticData('global') — persists in n8n DB, max 500 tasks

AI Classification Output

Claude Haiku classifies each email into:

  • priority: HIGH | MEDIUM | LOW
  • category: MISSING_DOCS | PAYMENT | TRACKING | CUSTOMS | GENERAL
  • sentiment: NEUTRAL | URGENT | FRUSTRATED
  • summary, action_required, due_suggestion, shipment_ref

CRUD API Actions

All require api_key in body.

ActionFieldsDescription
liststatus, priority, category, search, limitList/filter tasks
gettask_idGet single task
updatetask_id, status, assigned_to, notes, priorityUpdate task
deletetask_idDelete task
statsCounts by status/priority/category
bulk_updatetask_ids[], status, assigned_toBulk update

Task Statuses

PENDING → IN_PROGRESS → DONE

Mission Control Integration

  • Section 4 "WSI Follow-up Tasks" with live JS polling every 60s
  • Stats boxes (total, pending, in-progress, done)
  • Filter buttons by status
  • Task cards with priority badges, category pills, email context
  • Inline status update and assign buttons

6. Expediente AI Extract (ACTIVE)

AI-powered document data extraction for Expediente platform.

  • n8n ID: 0DN5KduorqBsJk4B
  • Webhook: /expediente-extract
  • Status: Active
  • Purpose: Extract structured data from uploaded documents using Claude AI
  • Integration: Expediente Next.js app → n8n webhook → Claude Haiku → structured JSON

7. Expediente Contract Generator (ACTIVE)

AI-powered contract generation for Expediente platform.

  • n8n ID: owJ7egjjRphZIqgY
  • Webhook: /expediente-contract
  • Status: Active
  • Purpose: Generate legal contract documents based on case data
  • AI Model: Claude Haiku/Sonnet for contract drafting

8. HandyManny Geocode AI (ACTIVE)

AI-powered address geocoding for shipment tracking.

  • n8n ID: J76GltqEdd731XGY
  • Webhook: /webhook/geocode-ai
  • Status: Active
  • Purpose: Convert addresses to coordinates using AI + geocoding APIs
  • Integration: HandyManny shipment creation → geocode → map display

9. AP Invoice Processor (INACTIVE — Ready for Testing)

AI-powered AP invoice extraction and validation system.

Overview

  • n8n ID: YYUjYczdRH8kIfAG
  • Nodes: 24
  • Status: Inactive (ready for testing)
  • Webhook: POST /ap-invoice-process
  • AI Model: Claude 3.5 Haiku (credential [CREDENTIAL_ID])

Architecture Flow

Webhook POST /ap-invoice-process
  → Extract File Info (multipart or base64 JSON)
    → Extract Text from PDF
      → PDF Quality Gate (word count >= 20, has numbers)
        → AI Extract (Claude 3.5 Haiku, 15 fields + tax)
          → AI Extraction Validation
            → 8 PARALLEL exception checks:
              1. Query AP - Find Purchasing Party
              2. Query Shipment - Find by BL/Container
              3. Check Duplicate Invoice
              4. Check Payment Status
              5. Check Amount Tolerance
              6. Check Currency Mismatch
              7. Check Tax IVA (16% validation)
              8. Check Shipment Dates
              → Exception Evaluator
                → Build Response (Success/Blocked/Rejected)
                  → Respond to Webhook
                    → Audit Log

AI Extraction Schema (15 fields)

vendor_name, vendor_code, invoice_number, invoice_date, invoice_amount, currency, tax_amount, tax_rate, master_bill_of_lading, house_bill_of_lading, container_number, vessel_name, voyage_number, consignee, description

Exception Check Rules

CheckConditionSeverity
DUPLICATE_INVOICEInvoice# found in AccTransactionHeaderblock
ALREADY_PAIDVendor AP lines already postedblock
AMOUNT_TOLERANCE>25% variance from expectedblock
AMOUNT_TOLERANCE10-25% variancewarn
CURRENCY_MISMATCHInvoice currency != CW charge currencywarn
TAX_IVATax rate != 16% or math mismatchwarn
DATE_BEFORE_DEPARTUREInvoice date < shipment ETDwarn
DATE_TOO_OLDInvoice date > 180 days after arrivalwarn

Response Types

  1. Success (success: true): All checks passed or only warnings
  2. Blocked (success: false, blocked: true): Has blocking exceptions
  3. Rejected (success: false, rejected: true): Early rejection (PDF unreadable or AI extraction incomplete)

Pending

  • Activate workflow and test with real AP invoice PDFs
  • Verify CargoWise table/column names match production DB
  • Connect Audit Log node to storage (Google Sheets, HTTP, or DB)

10. AN Audit System (INACTIVE — 7 Workflows)

Multi-workflow AI validation system for Arrival Notices.

Overview

Standalone n8n workflow system that receives parsed Arrival Notice data, queries CargoWise (CW) for comparison data, runs all TFS validation rules, and returns a structured JSON audit result. Split across 7 modular n8n workflows.

Workflow IDs

#Workflow Namen8n IDNodesType
1AN Audit -- OrchestratorAsL9OZSRkD7calhd19Webhook + dispatch
2AN Audit -- Field Validation5Ftc0ei99NGwHl5c2Pure logic
3AN Audit -- CW ComparisonTM1SzEe34ssgXRKc3SQL + logic
4AN Audit -- ETA & RoutingZj3MAJ9wZa4QlDnX3SQL + logic
5AN Audit -- Container Auditkjaov3J6MaXvCJWG3SQL + logic
6AN Audit -- Regulatory LogicHdJJUOgZnblifCYK2Pure logic
7AN Audit -- Financial AuditKtoUCulKnYfG9DKE3SQL + logic (FRT only)

Architecture

  • Orchestrator: Webhook POST /an-audit → Determine Type (FRT/CHB) → CW Match SQL → IF Match → dispatch to 6 sub-workflows sequentially → Aggregate Results → Respond
  • Sub-workflows: executeWorkflowTrigger v1.1 with inputSource: "passthrough"
  • Execute Sub-workflow nodes: v1.2 with source: "database"

Sub-Workflow Details

  1. Field Validation (pure logic): TFS Table 0 required field matrix
  2. CW Comparison (1 SQL query): Vessel, carrier, POL, POD, consignee comparison
  3. ETA & Routing (1 SQL query): Transport legs, variance detection, RAIL routing
  4. Container Audit (1 SQL query): Per-container validation against CW
  5. Regulatory Logic (pure logic): IT#/RRN updates based on discharge rules
  6. Financial Audit (1 SQL query, FRT only): AP existence, telex release, cost variance

Process Result Logic

  • Any stop_processing: true → EXCEPTION
  • FRT + telex missing → FINANCIAL_PENDING
  • Minor issues but no stops → PARTIAL_SUCCESS
  • No issues → SUCCESS

Status

  • All 7 workflows created and validated (currently inactive)
  • Pending: activate orchestrator, end-to-end test with real CW data

11. CHAROS Batch Tracker (ACTIVE)

AI-powered batch truck tracking with branded email reports.

Flow 1: CHAROS Batch Tracker

  • n8n ID: fCVbPtxhdMcroH4P
  • Nodes: 8
  • Webhook: POST /charos-batch-track
  • Production URL: https://n8n.[VPS_HOSTNAME]/webhook/charos-batch-track
  • Status: Active
  • AI Model: claude-haiku-4-5-20251001 (credential [CREDENTIAL_ID])
  • Headless Browser: http://headless-browser:3000/scrape

Flow 2: CHAROS Email Report

  • n8n ID: ry7zDIJTBXzV1dez
  • Nodes: 7
  • Webhook: POST /charos-email-report
  • Status: Active (Gmail OAuth configured)
  • Features: CHAROS branded HTML email, KPI boxes, status categorization, container chips

Status Categorization Logic

PatternCategory
Default (tracking found)on_time
stop/park/idle/detenid/estacionastopped
delay/retras/demora/lentodelayed
session_expired: trueexpired
tracking_found: falsenot_found

12. WSI Sales Digest Generator (ACTIVE)

Automated daily AI-powered sales digest email.

  • n8n ID: BssAxFxxEWk2T67T
  • Status: Active
  • Schedule: Daily 5 AM CST (cron)
  • Purpose: Generate daily sales summary email for WSI team
  • AI Model: Claude Haiku for digest generation
  • Data Sources: Salesforce Data Hub, CargoWise metrics

13. VIA Q&A Sync (ACTIVE)

AI-powered Q&A synchronization for VIA platform.

  • n8n ID: hZwPmavou0yhBXlQ
  • Status: Active
  • Purpose: Sync and process VIA platform Q&A data
  • Integration: VIA dashboard knowledge base

14. Via-Dev Intelligence (ACTIVE)

Development intelligence and monitoring for VIA platform.

  • n8n ID: Q1xBoqjsUQLmfpqC
  • Status: Active
  • Purpose: Monitor VIA development metrics and generate insights

15. Mission Control AI Workflows (3 ACTIVE)

AI-powered Mission Control automation suite.

WorkflowIDPurpose
MC StatusFJBz5E7sDbct4OSNSystem health monitoring with AI analysis
MC EmailoR4E28Vizh6bNEHzAutomated email notifications
MC AIYQCY1c9bZTghl8yvAI process scanning and monitoring

Scheduled AI Services

16. CrowBot Security Patrol (DAILY 3 AM CST)

Automated security scanning and alerting system.

  • n8n ID: 2OZeifB6TsZXrpzM
  • Schedule: Daily 3 AM CST
  • Scans: Port scan, Docker security, auth logs, SSL cert expiry (4 domains), DB security, file integrity (SHA-256), system resources
  • Output: GREEN/YELLOW/RED JSON + Telegram alert
  • Alert Threshold: Any YELLOW or RED finding triggers immediate notification

17. CrowBot Version Manager (DAILY 2 AM CST)

Automated version and dependency monitoring.

  • n8n ID: 7R3kt0bM9TLhUPzq
  • Schedule: Daily 2 AM CST
  • Checks: Docker images, n8n version, SSL expiry, npm audit (HandyManny, Expediente), image version comparison
  • Output: Version registry JSON + Telegram alert for outdated packages

18. CrowBot Daily Briefing (DAILY 7 AM CST)

AI-generated daily briefing for task planning.

  • n8n ID: DluVLcWCRANrFwp3
  • Schedule: Daily 7 AM CST
  • Flow: Cron → Fetch Context (4 sources) → Build AI Prompt → Claude Haiku → Parse → Format → Telegram
  • Output Categories: DEBE HACER HOY / DEBERÍA HACER / VICTORIAS RÁPIDAS / ESTADO
  • Context Sources: projects.json, MC status, WSI tasks, HandyManny dashboard stats
  • AI Pattern: Build request body as JS object in Code node → =&#123;&#123; JSON.stringify($json.requestBody) &#125;&#125; in HTTP node

19. CrowBot Context Aggregator (ON-DEMAND)

Multi-source context aggregation for AI decision-making.

  • n8n ID: 3KV33ay3BGnmqORk
  • Trigger: On-demand via CrowBot commands
  • Architecture: 7-node sequential chain (avoids Merge bug + Code sandbox fetch() limitation)
  • Sources: projects.json (basic auth), MC status, WSI tasks (CRUD), HandyManny dashboard stats
  • Fault Tolerance: All HTTP nodes use onError: continueRegularOutput

20. OpenClaw Daily Sync (6 AM + EVERY 4 HOURS)

Automated context sync for OpenClaw AI chatbot.

Basics

  • Location: ~/openclaw-sync/
  • Schedule: 6 AM daily, every 4 hours (Task Scheduler)
  • Purpose: Syncs Google Calendar + projects + notes → USER.md on VPS

Files

~/openclaw-sync/
├── sync_to_openclaw.sh       # Main sync script
├── fetch_calendar.py         # Google Calendar API
├── config.env                # VPS details
├── claude_ai_projects.md     # Manually maintained project list
├── calendar-credentials.json # Google OAuth creds
├── run-daily.bat             # Task Scheduler launcher

Config

  • VPS: [VPS_IP], SSH key ~/.ssh/id_hostinger
  • Workspace: /docker/openclaw-ruln/data/.openclaw/workspace/
  • Calendar: Python fallback with google-api-python-client

Maintenance

  • Update projects: edit ~/openclaw-sync/claude_ai_projects.md
  • Calendar token: auto-refreshes; if expired, run python fetch_calendar.py manually

21. HandyManny Auto-Track (EVERY 4 HOURS)

Automated shipment tracking refresh.

  • n8n ID: XEYwLqrwEJwCz39g
  • Schedule: Every 4 hours
  • Webhook: /api/shipments/auto-track
  • Purpose: Auto-refresh tracking data for active shipments in HandyManny portal
  • Integration: Calls Ocean Tracker Orchestrator for updated container status

AI Infrastructure

Headless Browser Service (VPS 1139900)

Shared Playwright-based browser automation service for AI scraping.

Basics

  • Docker: /docker/headless-browser/ on [VPS_IP] (srv1139900)
  • Tech: Playwright v1.51.0 + stealth plugin + Fastify
  • Internal URL: http://headless-browser:3000 (Docker root_default network)
  • Local source: ~/projects/docker-stack/headless-browser/src/
  • Deploy: SCP → cd /docker/headless-browser && docker compose up -d --build
  • Resources: 2GB RAM, 2 CPU, 1GB shm, MAX_CONCURRENT=5

11 Routes

/health, /scrape (generic), /track/msc, /track/maersk, /track/cma, /track/cosco, /track/hmm, /track/evergreen, /track/yangming, /track/oocl, /track/wanhai, /track/zim

Anti-Bot Features

  • playwright-extra + puppeteer-extra-plugin-stealth
  • Rotating user agents (8 realistic UAs)
  • Random delays (500-2000ms), mouse movement, scrolling
  • Cookie consent auto-dismiss, resource blocking (images/fonts/analytics)

Performance

  • MSC page fetch: ~6s (305KB HTML → 4.7KB cleaned text)
  • Full e2e: ~8.3s (webhook to response)

Used By

  • Ocean Tracker Orchestrator (9 carriers)
  • CHAROS Batch Tracker
  • Truck Tracker
  • MSC Shipment Tracker

Anthropic / Claude AI Credentials

Shared Claude API access across all AI workflows.

Primary Credential

  • ID: [CREDENTIAL_ID]
  • Type: Anthropic API account
  • Models: Claude 3.5 Haiku, Claude 3.5 Sonnet, Claude Opus 4.6
  • Usage: ALL n8n AI workflows use this credential

Used By (20+ workflows)

  • Ocean Tracker Orchestrator + 11 carrier workflows
  • WSI Follow-up Email Ingestor
  • Expediente AI Extract
  • Expediente Contract Generator
  • HandyManny Geocode AI
  • AP Invoice Processor
  • CHAROS Batch Tracker
  • CrowBot Daily Briefing
  • CrowBot Context Aggregator
  • WSI Sales Digest Generator
  • Mission Control AI workflows
  • And more...

Model Selection Strategy

Use CaseModelReasoning
Email classificationHaiku 4.5Fast, cheap, accurate for structured data
HTML parsingHaiku 4.5Handles HTML well, cost-effective
Document extractionHaiku 3.5Balance of speed and accuracy
Contract generationSonnet 3.5Complex reasoning, higher quality output
Daily briefingHaiku 4.5Quick summaries, conversational output
Security analysisSonnet 3.5Thorough analysis, pattern recognition

Mission Control AI Status Monitor

Real-time AI service monitoring dashboard.

Overview

  • Location: Mission Control admin section (mc.handymanny.cloud)
  • Endpoint: GET /api/ai-status
  • Refresh: Manual button + auto-refresh every hour
  • Status: Deployed (2026-02-26)

Monitored Services (5)

  1. Claude API (Anthropic) — model availability, quota, current model
  2. Ollama (local) — server status, available models
  3. NVIDIA (free API) — DeepSeek V3.2, Nemotron Ultra availability
  4. Gemini (Google) — Flash/Pro availability
  5. n8n Anthropic — credential status, workflow health

Status Indicators

  • Green: Service operational, API responding
  • Yellow: Service degraded, high latency, or approaching quota
  • Red: Service down, API error, or quota exceeded
  • Current Model: Shows active Claude model (sonnet/opus/haiku)

Integration

  • JavaScript polling every 60 minutes
  • Admin-only visibility
  • Links to n8n workflows using each service
  • Usage stats (if available from provider)

Quick Reference

All AI Workflows (30+ Active)

#Workflow NameIDTypeStatus
1Ocean Tracker OrchestratorAzACxa8tKeisIYssAI OrchestratorACTIVE
2ONE TrackersjIvD2jvQBJJQsCQOceanACTIVE
3MSC Trackeryktm8HGmhAMclGLGOceanACTIVE
4Yang Ming TrackerY4otOacbdvQy5qphOceanACTIVE
5Evergreen Tracker2lcog1Lq9p1gxaOfOceanACTIVE
6HMM Tracker3DJfFyyQyXVLhVM1OceanACTIVE
7CMA-CGM TrackervuM2hK1ptcl53bvqOceanACTIVE
8Maersk TrackerPJOoXo1rDx0YiCOXOceanACTIVE
9COSCO TrackerucOvO235wlsnkvW9OceanACTIVE
10OOCL TrackerNZIx89az0CXBNxSNOceanBLOCKED
11Wan Hai TrackerOkZspGGpM4AkoCW1OceanBLOCKED
12ZIM TrackerWbasTpPdndzwXlB1OceanBLOCKED
13WSI Follow-up IngestorbpSRrvueoqy1E32MAI ClassifierACTIVE
14Expediente AI Extract0DN5KduorqBsJk4BAI ExtractorACTIVE
15Expediente Contract GenowJ7egjjRphZIqgYAI GeneratorACTIVE
16HandyManny Geocode AIJ76GltqEdd731XGYAI GeocoderACTIVE
17AP Invoice ProcessorYYUjYczdRH8kIfAGAI ExtractorINACTIVE
18AN Audit OrchestratorAsL9OZSRkD7calhdAI ValidatorINACTIVE
19AN Field Validation5Ftc0ei99NGwHl5cAN AuditINACTIVE
20AN CW ComparisonTM1SzEe34ssgXRKcAN AuditINACTIVE
21AN ETA & RoutingZj3MAJ9wZa4QlDnXAN AuditINACTIVE
22AN Container Auditkjaov3J6MaXvCJWGAN AuditINACTIVE
23AN Regulatory LogicHdJJUOgZnblifCYKAN AuditINACTIVE
24AN Financial AuditKtoUCulKnYfG9DKEAN AuditINACTIVE
25CHAROS Batch TrackerfCVbPtxhdMcroH4PAI ParserACTIVE
26CHAROS Email Reportry7zDIJTBXzV1dezEmail GenACTIVE
27Truck Tracker2GF72l5GeWcUYohmAI ParserACTIVE
28WSI Sales DigestBssAxFxxEWk2T67TAI GeneratorACTIVE
29VIA Q&A SynchZwPmavou0yhBXlQAI SyncACTIVE
30Via-Dev IntelligenceQ1xBoqjsUQLmfpqCAI MonitorACTIVE
31MC StatusFJBz5E7sDbct4OSNAI MonitorACTIVE
32MC EmailoR4E28Vizh6bNEHzEmail GenACTIVE
33MC AIYQCY1c9bZTghl8yvAI ScannerACTIVE
34CrowBot OrchestratorcE3MeCxzEq8stEzUBotACTIVE
35CrowBot Security Patrol2OZeifB6TsZXrpzMScheduledACTIVE
36CrowBot Version Manager7R3kt0bM9TLhUPzqScheduledACTIVE
37CrowBot Daily BriefingDluVLcWCRANrFwp3ScheduledACTIVE
38CrowBot Context Aggregator3KV33ay3BGnmqORkAI AggregatorACTIVE
39HandyManny Auto-TrackXEYwLqrwEJwCz39gScheduledACTIVE
40WhatsApp BotRU2w9L7oHM0HnAcUBotACTIVE

Webhook Endpoints

All webhooks are on: https://n8n.[VPS_HOSTNAME]/webhook/

EndpointWorkflowMethodAuth
/ocean-trackOcean Tracker OrchestratorPOSTNone
/one-trackingONE TrackerGETNone
/msc-trackMSC TrackerPOSTNone
/yangming-trackYang Ming TrackerPOSTNone
/evergreen-trackEvergreen TrackerPOSTNone
/hmm-trackHMM TrackerPOSTNone
/cma-trackCMA-CGM TrackerPOSTNone
/maersk-trackMaersk TrackerPOSTNone
/cosco-trackCOSCO TrackerPOSTNone
/oocl-trackOOCL TrackerPOSTNone
/wanhai-trackWan Hai TrackerPOSTNone
/zim-trackZIM TrackerPOSTNone
/wsi-tasksWSI Follow-up IngestorPOSTAPI Key
/expediente-extractExpediente AI ExtractPOSTNone
/expediente-contractExpediente Contract GenPOSTNone
/webhook/geocode-aiHandyManny Geocode AIPOSTNone
/ap-invoice-processAP Invoice ProcessorPOSTNone
/an-auditAN Audit OrchestratorPOSTNone
/charos-batch-trackCHAROS Batch TrackerPOSTNone
/charos-email-reportCHAROS Email ReportPOSTNone
/crowbot-orchestratorCrowBot OrchestratorPOSTNone
/crowbot-securitySecurity PatrolPOSTNone
/crowbot-versionsVersion ManagerPOSTNone
/crowbot-briefingDaily BriefingPOSTNone
/crowbot-contextContext AggregatorPOSTNone
/api/shipments/auto-trackHandyManny Auto-TrackPOSTNone

Credentials Matrix

CredentialIDTypeUsed By (count)
Anthropic[CREDENTIAL_ID]API Key20+ workflows
MS SQL (CW)[CREDENTIAL_ID]Database15+ workflows
Gmail[CREDENTIAL_ID]OAuth5 workflows
SSH srv1139900ssh-srv1139900-pkSSH KeyCrowBot, Version Manager
Anthropic Header[CREDENTIAL_ID]HTTP AuthLegacy workflows
CrowBot Telegramcrowbot-telegram-01Telegram APICrowBot Orchestrator

API Keys

KeyWebhookFieldPurpose
[API_KEY]/wsi-tasksbody api_keyWSI Follow-up CRUD API
[API_KEY]/sf-databody api_keySalesforce Data Hub

Scheduled Tasks Summary

TaskFrequencyWorkflow/Service
CrowBot Security PatrolDaily 3 AM CSTn8n 2OZeifB6TsZXrpzM
CrowBot Version ManagerDaily 2 AM CSTn8n 7R3kt0bM9TLhUPzq
CrowBot Daily BriefingDaily 7 AM CSTn8n DluVLcWCRANrFwp3
OpenClaw Daily Sync6 AM + Every 4 hoursWindows Task Scheduler
HandyManny Auto-TrackEvery 4 hoursn8n XEYwLqrwEJwCz39g
WSI Sales DigestDaily 5 AM CSTn8n BssAxFxxEWk2T67T

Bot Performance Metrics

CrowBot (2026-02-23)

  • Intent Classification: 15/16 pass rate (93.75%)
  • Response Time: <2s for most intents
  • Timeout Rate: 1/16 (OCEAN_TRACK on OOCL only)
  • Uptime: 99.8% (7-day average)

OpenClaw (2026-02-27)

  • Channels: 3 (Telegram, WhatsApp, Web UI)
  • Model: gpt-4o-mini (default)
  • Uptime: 99.9%
  • Auto-sync: 6 times per day

Ocean Tracker (2026-02-21)

  • Success Rate: 14/25 test BLs (56%)
  • Blocked Carriers: 3/11 (OOCL, Wan Hai, ZIM)
  • Average Response Time: 8.3s (headless browser), 1-2s (direct API)
  • Daily Volume: ~200 tracking requests

WSI Follow-up (Live)

  • Tasks Processed: 147 total
  • AI Classification Accuracy: 94% (manual review)
  • Average Processing Time: 3.2s per email
  • Mission Control Integration: Live with 60s polling

Future Enhancements

Planned

  • Arrival Alert Pipeline (CrowBot) — Auto-notify <48h arrivals
  • Client Auto-Responder (CrowBot) — WhatsApp→tracking automation
  • Document Expiry Watchdog (CrowBot) — Monitor document deadlines
  • Maersk API Integration — Add Consumer-Key to workflow
  • OOCL/Wan Hai/ZIM — Anti-bot bypass with residential proxies
  • AP Invoice Processor — Activate and production test
  • AN Audit System — Activate and integrate with eAdaptor workflow

Under Development

  • Hamid (Anti-Bot Specialist) — Working on OOCL, Wan Hai, ZIM unblocking (starting 2026-02-23)

Troubleshooting

CrowBot Not Responding

  1. Check Telegram bot service: ssh user@server 'systemctl status telegram-bot'
  2. Check n8n orchestrator: https://n8n.[VPS_HOSTNAME] → workflow cE3MeCxzEq8stEzU
  3. Check fallback mode: Bot should respond with "Orchestrator unreachable, using fallback"
  4. Test orchestrator directly: curl -X POST http://localhost:5678/webhook/crowbot-orchestrator -H "Content-Type: application/json" -d '{"message":"test","chatId":"5523342814","userName":"Test","source":"telegram"}'
  5. Check recent executions in n8n for errors
  6. Restart bot: ssh user@server 'systemctl restart telegram-bot'

If env var errors appear again:

  1. Disable problematic nodes via n8n API (see Recent Fixes section)
  2. n8n API key location: sqlite3 /var/lib/docker/volumes/n8n_data/_data/database.sqlite 'SELECT apiKey FROM user_api_keys WHERE label="Claude API";'
  3. Fetch workflow: curl -H "X-N8N-API-KEY: <key>" http://localhost:5678/api/v1/workflows/cE3MeCxzEq8stEzU
  4. Update workflow: Use Python script to disable node + PUT request

OpenClaw Offline

  1. ssh user@server -N`
  2. Check container: ssh user@server 'docker ps | grep openclaw'
  3. Restart: ssh user@server 'cd /docker/openclaw-ruln && docker compose restart'
  4. Check OAuth: Run openclaw onboard if model list empty

Ocean Tracker Timeout

  1. Check headless browser: http://headless-browser:3000/health
  2. Restart browser: ssh user@server 'cd /docker/headless-browser && docker compose restart'
  3. Check specific carrier workflow in n8n
  4. For blocked carriers (OOCL/Wan Hai/ZIM): Contact Hamid

WSI Follow-up Tasks Not Showing

  1. Check Mission Control Section 4 polling (60s interval)
  2. Test CRUD API: curl -X POST https://n8n.[VPS_HOSTNAME]/webhook/wsi-tasks -H "Content-Type: application/json" -d '{"api_key":"[API_KEY]","action":"stats"}'
  3. Check n8n workflow bpSRrvueoqy1E32M active
  4. Check Power Automate flow is flagging emails correctly

AI Extraction Failing

  1. Check Anthropic credential in n8n: credential ID [CREDENTIAL_ID]
  2. Verify API quota not exceeded
  3. Check AI Status Monitor in Mission Control for Claude API health
  4. Review n8n execution logs for specific error message

Last Updated: 2026-02-28 Total AI Workflows: 40 active, 7 inactive Total Bots: 3 (CrowBot [Telegram only], OpenClaw, WhatsApp Bot) Total Scheduled Services: 6 AI Infrastructure: 1 headless browser service, 1 shared Anthropic credential Recent Fixes: CrowBot Orchestrator (2026-02-28) — WhatsApp node disabled, full Telegram functionality restored

HandyManny Documentation System