[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-74211":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":17,"stars30d":18,"stars90d":16,"forks30d":16,"starsTrendScore":19,"compositeScore":20,"rankGlobal":10,"rankLanguage":10,"license":21,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":24,"hasPages":22,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":26,"readmeContent":27,"aiSummary":28,"trendingCount":16,"starSnapshotCount":16,"syncStatus":29,"lastSyncTime":30,"discoverSource":31},74211,"nasiko","Nasiko-Labs\u002Fnasiko","Nasiko-Labs","Developer Control Plane for your AI Agents","",null,"Python",1928,191,10,14,0,1,199,3,67.35,"Other",false,"main",true,[],"2026-06-12 04:01:13","# Nasiko\n\n\u003Cdiv align=\"center\">\n\n**AI Agent Developer Control Plane**\n\n[![License: Apache 2.0](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-Apache%202.0-blue.svg)](https:\u002F\u002Fopensource.org\u002Flicenses\u002FApache-2.0)\n[![Python 3.12+](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpython-3.12+-blue.svg)](https:\u002F\u002Fwww.python.org\u002Fdownloads\u002F)\n[![FastAPI](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FFastAPI-0.100+-green.svg)](https:\u002F\u002Ffastapi.tiangolo.com\u002F)\n[![Docker](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fdocker-%230db7ed.svg?style=flat&logo=docker&logoColor=white)](https:\u002F\u002Fdocker.com\u002F)\n\n**Centralized management, intelligent routing, and observability for AI agents**\n\n[🚀 Quick Start](#-quick-start) •\n[📚 Documentation](docs\u002F) •\n[🏗️ Architecture](#️-architecture) •\n[🛠️ CLI Tool](#️-cli-tool) •\n[📦 Agent Development](#-agent-development)\n\n\u003C\u002Fdiv>\n\n---\n\n## 🌟 What is Nasiko?\n\nNasiko is a developer control plane that transforms how you build, deploy, and manage AI agents at scale. Built with modern microservices architecture, Nasiko provides everything needed to run production AI agent ecosystems.\n\n### 🎯 Core Capabilities\n\n**Agent Lifecycle Management:**\n- **📦 Centralized Registry** - Version-controlled agent storage with metadata management\n- **🚀 Automated Deployment** - Docker-based containerization with Kubernetes orchestration\n- **📝 AgentCard System** - Structured capability definitions for intelligent routing\n- **🔄 Hot Deployment** - Zero-downtime agent updates and rollbacks\n\n**Intelligent Operations:**\n- **🧠 LangChain-Powered Routing** - AI-driven query analysis and agent selection\n- **⚖️ Load Balancing** - Automatic traffic distribution across agent replicas\n- **🎯 Capability Matching** - Semantic matching of queries to agent expertise\n- **📊 Confidence Scoring** - Probabilistic agent selection with fallback handling\n\n**Production Infrastructure:**\n- **🌐 Kong API Gateway** - Enterprise-grade API management with plugins\n- **🔐 Multi-Auth Support** - GitHub OAuth, JWT tokens, and custom authentication\n- **💬 Conversation Logging** - Complete chat history and interaction tracking\n- **🔍 Service Discovery** - Automatic agent registration and health monitoring\n\n**Developer Experience:**\n- **⚡ One-Command Setup** - `docker compose up -d` to full platform\n- **🛠️ Rich CLI Tool** - Complete agent management from command line\n- **🌐 Web Dashboard** - Browser-based interface accessible via Kong Gateway (\u002Fapp\u002F)\n- **🖥️ Desktop Application** - Native desktop app for enhanced user experience\n- **🔗 REST APIs** - Comprehensive programmatic access with OpenAPI docs\n\n**Enterprise Observability:**\n- **📈 Integrated Observability Dashboard** - Built-in monitoring within the web UI\n- **📋 Request Tracing** - End-to-end visibility across microservices via Arize Phoenix\n- **🚨 Health Monitoring** - Automatic agent health checks and alerting\n- **📊 Usage Analytics** - Real-time metrics on agent performance and utilization\n- **💡 LLM-Native Monitoring** - Specialized observability for AI agent interactions\n\n## 🏗️ Architecture\n\nNasiko implements a cloud-native microservices architecture designed for enterprise AI agent orchestration:\n\n```\n                           ┌─────────────────────────────────────┐\n                           │            User Interfaces          │\n                           └─────────────────┬───────────────────┘\n                                             │\n                     ┌─────────────────┬─────────────────┬\n                     │                 │                 │                 \n                ┌────▼────┐       ┌────▼────┐       ┌────▼────┐\n                │Web UI   │       │CLI Tool │       │Desktop  │\n                │(\u002Fapp\u002F)  │       │(Python) │       │App      │\n                └─────────┘       └─────────┘       └─────────┘\n                │                 │                 │\n                └─────────────────┼─────────────────┘\n                                  │\n                              ┌─────────────▼───────────────┐\n                              │      Kong API Gateway       │\n                              │         (Port 9100)         │\n                              │                             │\n                              │ Routes:                     │\n                              │ • \u002Fagents\u002F{name}\u002F → Agents │\n                              │ • \u002Fapi\u002F → Backend API       │\n                              │ • \u002Frouter\u002F → Router Service │\n                              │ • \u002Fauth\u002F → Auth Service     │\n                              │ • \u002Fapp\u002F → Web Interface     │\n                              │ • \u002Fn8n\u002F → N8N Workflows     │\n                              │ • \u002F → Landing (→ \u002Fapp\u002F)     │\n                              └─────────────┬───────────────┘\n                                            │\n              ┌─────────────────────────────┼─────────────────────────────┐\n              │                             │                             │\n    ┌─────────▼─────────┐         ┌─────────▼─────────┐         ┌─────────▼─────────┐\n    │   Core Platform   │         │  Intelligence     │         │    AI Agents      │\n    │    Services       │         │    Services       │         │   (Dynamic)       │\n    └─────────┬─────────┘         └─────────┬─────────┘         └─────────┬─────────┘\n              │                             │                             │\n    ┌─────────▼─────────┐         ┌─────────▼─────────┐         ┌─────────▼─────────┐\n    │FastAPI Backend    │         │Router Service     │         │compliance-checker │\n    │Port: 8000         │         │Port: 8081         │         │github-agent      │\n    │                   │         │                   │         │translator         │\n    │• Agent Registry   │         │• LangChain Engine │         │crewai-workflows   │\n    │• Upload System    │         │• Query Analysis   │         │langgraph-flows    │\n    │• Kubernetes Orch. │         │• Capability Match │         │custom-agents      │\n    │• GitHub OAuth     │         │• Confidence Score │         │... (auto-deployed)│\n    │• Build Pipeline   │         │• Fallback Logic   │         │                   │\n    │• Health Monitoring│         │• Model Selection  │         │• Health Endpoints │\n    └───────────────────┘         └───────────────────┘         │• Auto-Scaling     │\n              │                             │                   │• Phoenix Tracing  │\n              │                             │                   └───────────────────┘\n    ┌─────────▼─────────┐         ┌─────────▼─────────┐                   │\n    │Auth Service       │         │Chat History       │                   │\n    │Port: 8082         │         │Port: 8083         │                   │\n    │                   │         │                   │                   │\n    │• JWT Management   │         │• Conversation Log │                   │\n    │• GitHub OAuth     │         │• Chat Persistence │                   │\n    │• User Sessions    │         │• Retrieval APIs   │                   │\n    │• Role-Based Auth  │         │• Search & Filter  │                   │\n    └───────────────────┘         └───────────────────┘                   │\n              │                             │                             │\n    ┌─────────▼─────────┐                   │                             │\n    │Kong Registry      │                   │                             │\n    │Port: 8080         │                   │                             │\n    │                   │                   │                             │\n    │• Service Discovery│                   │                             │\n    │• Auto-Registration│                   │                             │\n    │• Health Checks    │                   │                             │\n    │• Route Management │                   │                             │\n    └───────────────────┘                   │                             │\n              │                             │                             │\n              └─────────────────────────────┼─────────────────────────────┘\n                                            │\n                              ┌─────────────▼───────────────┐\n                              │     Infrastructure &        │\n                              │      Observability          │\n                              └─────────────┬───────────────┘\n                                            │\n        ┌─────────────────┬─────────────────┼─────────────────┬─────────────────┐\n        │                 │                 │                 │                 │\n   ┌────▼────┐       ┌────▼────┐       ┌────▼────┐       ┌────▼────┐       ┌────▼────┐\n   │MongoDB  │       │Redis    │       │Phoenix  │       │Kong DB  │       │BuildKit │\n   │:27017   │       │:6379    │       │:6006    │       │(PostgSQL│       │(K8s)    │\n   │         │       │         │       │         │       │:5432)   │       │         │\n   │• Agent  │       │• Session│       │• LLM    │       │• Gateway│       │• Image  │\n   │  Storage│       │  Cache  │       │  Traces │       │  Config │       │  Builds │\n   │• Users  │       │• Queues │       │• Request│       │• Routes │       │• Multi- │\n   │• Chat   │       │• Pub\u002FSub│       │  Flows  │       │• Plugins│       │  Arch   │\n   │  History│       │• Locks  │       │• Metrics│       │• Rate   │       │• Registry│\n   └─────────┘       └─────────┘       └─────────┘       │  Limits │       │  Push   │\n                                                         └─────────┘       └─────────┘\n```\n\n### 🔄 Data Flow Patterns\n\n**Agent Deployment Flow:**\n```\nCLI\u002FWeb → Backend API → Redis Stream → Build System → Container Registry → K8s Deployment → Kong Registration\n```\n\n**Query Routing Flow:**  \n```  \nUser Query → Kong Gateway → Router Service → LangChain Analysis → Agent Selection → Kong Proxy → Agent Response\n```\n\n**Observability Flow:**\n```\nAgent Request → Phoenix SDK → Trace Collection → Nasiko Web UI + Phoenix Dashboard → Performance Analytics\n```\n\n### Supported LLM Providers\n\nNasiko supports multiple LLM providers for both the routing engine and agent execution:\n\n| Provider | API Key Env Var | Base URL | Models |\n|----------|----------------|----------|--------|\n| OpenAI (default) | `OPENAI_API_KEY` | Default OpenAI endpoint | gpt-4o, gpt-4o-mini |\n| [MiniMax](https:\u002F\u002Fplatform.minimax.io) | `MINIMAX_API_KEY` | `https:\u002F\u002Fapi.minimax.io\u002Fv1` (global) \u002F `https:\u002F\u002Fapi.minimaxi.com\u002Fv1` (China) | MiniMax-M2.7, MiniMax-M2.7-highspeed, MiniMax-M2.5, MiniMax-M2.5-highspeed |\n| OpenRouter | `OPENROUTER_API_KEY` | `https:\u002F\u002Fopenrouter.ai\u002Fapi\u002Fv1` | Various models |\n\nTo switch the router's LLM provider, set `ROUTER_LLM_PROVIDER` and `ROUTER_LLM_MODEL` in your environment configuration. See [Environment Configuration](#-environment-configuration).\n\n### Key Components\n\n- **Kong Gateway** (9100) - API routing, load balancing, service discovery\n- **FastAPI Backend** (8000) - Agent registry, orchestration, agent upload system\n- **Auth Service** (8082) - User authentication, GitHub OAuth, JWT token management\n- **Router Service** (8081) - LangChain-powered intelligent query routing\n- **Chat History** (8083) - Conversation logging and retrieval service\n- **Kong Registry** (8080) - Automatic agent service discovery and registration\n- **Web Interface** (4000) - Browser dashboard accessible via Kong Gateway (\u002Fapp\u002F)\n- **Agent Network** - Auto-deployed containerized agents with observability\n- **CLI Tool** - Complete command-line management interface\n\n## 🚀 Quick Start\n\n### Prerequisites\n\n- Docker & Docker Compose\n- Python 3.12+\n- 4GB+ RAM recommended\n\n### Local Development Setup\n\n```bash\n# 1. Clone the repository\ngit clone https:\u002F\u002Fgithub.com\u002FNasiko-Labs\u002Fnasiko.git\ncd nasiko\n\n# 2. Create environment configuration\ncp .nasiko-local.env.example .nasiko-local.env\n\n# 3. Edit .nasiko-local.env with your API keys:\n# Generate a secure base64-encoded encryption key\n# Example: 5kfdxaT7WRoseTKqksUY4gR2idR4FuBBEIQk5Cpzlek=\n# USER_CREDENTIALS_ENCRYPTION_KEY=5kfdxaT7WRoseTKqksUY4gR2idR4FuBBEIQk5Cpzlek=\n\n# (optional but recommended)\n# OPENAI_API_KEY=\u003Csk-your-openai-key>\n# GITHUB_CLIENT_ID=\u003Cyour-github-oauth-id>\n# GITHUB_CLIENT_SECRET=\u003Cyour-github-oauth-secret>\n\n# 4. Install Python dependencies (for CLI)\npip install uv\nuv sync\n\n# 5. Start the entire platform\ndocker compose -f docker-compose.local.yml --env-file .nasiko-local.env up -d\n\n# 6. Access the web interface via Kong Gateway\nopen http:\u002F\u002Flocalhost:9100\u002Fapp\u002F\n```\n\n### Verify Installation\n\n```bash\n# Check all services are healthy\ndocker compose -f docker-compose.local.yml --env-file .nasiko-local.env ps\n\n# Test the API\ncurl http:\u002F\u002Flocalhost:8000\u002Fapi\u002Fv1\u002Fhealthcheck\n\n# Test Kong gateway\ncurl http:\u002F\u002Flocalhost:9100\u002Fhealth\n```\n\n**🎉 Success!** Access Nasiko at http:\u002F\u002Flocalhost:9100\u002Fapp\u002F\n\n## 📚 Documentation\n\nFor comprehensive guides and detailed instructions:\n\n- **[Getting Started Guide](docs\u002Fgetting-started.md)** - First login, deploying your first agent, and testing it \n- **[API Reference](http:\u002F\u002Flocalhost:8000\u002Fdocs)** - Full REST API documentation (after startup)\n\n### Quick Links\n\n- **📖 First Login & Agent Deploy**: After setup, follow the [Getting Started Guide](docs\u002Fgetting-started.md) to sign in and deploy your first agent\n- **🔑 Login Credentials**: Generated automatically at `orchestrator\u002Fsuperuser_credentials.json`\n- **🤖 Test Agent**: Use `agents\u002Fa2a-translator.zip` for your first agent upload\n\n## 🛠️ CLI Tool\n\nThe Nasiko CLI provides complete platform management:\n\n### Installation & Authentication\n\n```bash\n# Install CLI (uv sync at the repo root installs all dependencies including the CLI)\npip install uv\nuv sync\n\n# Or install the CLI standalone\n# cd cli && pip install -e .\n\n# Configure API endpoint\nexport NASIKO_API_URL=http:\u002F\u002Flocalhost:9100\n\n# Authenticate with your access key and secret\n# a superuser is automatically created during setup and can be found at nasiko\u002Forchestrator\u002Fsuperuser_credentials.json.\nnasiko login\n\n# Check status\nnasiko status\n```\n\n### Agent Management\n\n```bash\n# Upload agent from directory\nnasiko agent upload-directory .\u002Fmy-agent --name my-agent\n\n# Upload from GitHub repository (clone and upload in one step)\nnasiko github clone owner\u002Frepo --branch main\n\n# Upload ZIP file\nnasiko agent upload-zip agent.zip --name packaged-agent\n\n# Manage registry\nnasiko agent list\nnasiko agent get --name my-agent\n```\n\n### Monitoring & Operations\n\n```bash\n# Platform monitoring\nnasiko status\nnasiko observability sessions\n\n# Repository operations\nnasiko github repos\nnasiko github clone owner\u002Frepo --branch feature-branch\n\n# Infrastructure (K8s)\nnasiko setup bootstrap --provider digitalocean --region nyc3\n```\n\n## 📦 Agent Development\n\n### Agent Structure\n\nEvery agent must follow this structure:\n\n```\nmy-agent\u002F\n├── AgentCard.json          # Required: Agent capabilities\n├── Dockerfile              # Container definition\n├── pyproject.toml          # Python dependencies\n├── docker-compose.yml      # Local development (optional)\n├── src\u002F                    # Source code\n│   ├── main.py            # FastAPI entry point\n│   └── ...                # Agent logic\n└── README.md              # Documentation\n```\n\n### Example Agent\n\n**AgentCard.json** (Required):\n```json\n{\n  \"name\": \"document-analyzer\",\n  \"description\": \"AI agent for document analysis and extraction\",\n  \"capabilities\": [\n    \"document_analysis\",\n    \"pdf_extraction\", \n    \"text_summarization\"\n  ],\n  \"tags\": [\"nlp\", \"documents\", \"analysis\"],\n  \"examples\": [\n    \"analyze this contract\",\n    \"extract data from PDF\",\n    \"summarize document\"\n  ],\n  \"input_mode\": \"text\",\n  \"output_mode\": \"json\",\n  \"agent_protocol_version\": \"a2a-v1\",\n  \"endpoints\": {\n    \"\u002Fanalyze\": \"Analyze document content\",\n    \"\u002Fextract\": \"Extract structured data\",\n    \"\u002Fhealth\": \"Health check endpoint\"\n  }\n}\n```\n\n**src\u002Fmain.py**:\n```python\nfrom fastapi import FastAPI\nfrom pydantic import BaseModel\n\napp = FastAPI()\n\nclass AnalysisRequest(BaseModel):\n    text: str\n    options: dict = {}\n\n@app.post(\"\u002Fanalyze\")\nasync def analyze_document(request: AnalysisRequest):\n    # Your agent logic here\n    return {\n        \"summary\": f\"Analysis of: {request.text[:100]}...\",\n        \"entities\": [\"entity1\", \"entity2\"],\n        \"sentiment\": \"neutral\"\n    }\n\n@app.get(\"\u002Fhealth\")\nasync def health_check():\n    return {\"status\": \"healthy\", \"service\": \"document-analyzer\"}\n```\n\n**Dockerfile**:\n```dockerfile\nFROM python:3.12-slim\n\nWORKDIR \u002Fapp\n# Your agent's pyproject.toml should list its own dependencies (fastapi, uvicorn, etc.)\n# See agents\u002Fa2a-translator\u002F for a working example.\nCOPY pyproject.toml .\nRUN pip install -e .\n\nCOPY src\u002F .\u002Fsrc\u002F\nEXPOSE 8000\n\nCMD [\"uvicorn\", \"src.main:app\", \"--host\", \"0.0.0.0\", \"--port\", \"8000\"]\n```\n\n### Testing Agents Locally\n\n```bash\n# Test agent directly\ncd my-agent\ndocker compose up -d\n\n# Deploy to Nasiko\nnasiko agent upload-directory . --name my-agent\n\n# Test via Kong gateway\ncurl -X POST http:\u002F\u002Flocalhost:9100\u002Fagents\u002Fmy-agent\u002Fanalyze \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"text\": \"Sample document content\"}'\n\n# Test via intelligent routing through Kong\ncurl \"http:\u002F\u002Flocalhost:9100\u002Frouter\u002Froute?query=analyze this document\"\n```\n\n## 🔄 Intelligent Routing System\n\nThe router service automatically selects the best agent for each query:\n\n### How It Works\n\n1. **Query Analysis** - LangChain analyzes user intent and requirements\n2. **Capability Matching** - Compares query against AgentCard.json capabilities  \n3. **Confidence Scoring** - Ranks agents by suitability\n4. **Best Match Selection** - Returns optimal agent URL with confidence score\n\n### Usage Examples\n\n```bash\n# Router automatically selects best agent\ncurl \"http:\u002F\u002Flocalhost:9100\u002Frouter\u002Froute?query=translate this to French\"\n# Returns: {\"agent_url\": \"http:\u002F\u002Flocalhost:9100\u002Fagents\u002Ftranslator\", \"confidence\": 0.95}\n\ncurl \"http:\u002F\u002Flocalhost:9100\u002Frouter\u002Froute?query=check code compliance\"  \n# Returns: {\"agent_url\": \"http:\u002F\u002Flocalhost:9100\u002Fagents\u002Fcompliance-checker\", \"confidence\": 0.89}\n\n# Fallback handling\ncurl \"http:\u002F\u002Flocalhost:9100\u002Frouter\u002Froute?query=unknown task\"\n# Returns: {\"agent_url\": \"http:\u002F\u002Flocalhost:9100\u002Fagents\u002Fgeneral-agent\", \"confidence\": 0.45}\n```\n\n## 📊 Observability & Monitoring\n\n### Automatic Instrumentation\n\nAll agents automatically receive:\n- **Arize Phoenix SDK** injection for LLM observability\n- **Automatic instrumentation** for request\u002Fresponse tracing  \n- **Chat logging** via Kong plugins with conversation persistence\n- **Health monitoring** with automatic restarts and failover\n\n### Monitoring Dashboards\n\n- **Nasiko Web UI**: http:\u002F\u002Flocalhost:9100\u002Fapp\u002F - Integrated observability dashboard via Kong Gateway\n- **Arize Phoenix UI**: http:\u002F\u002Flocalhost:6006 - Direct access to detailed traces and performance metrics\n- **Kong Manager**: http:\u002F\u002Flocalhost:9102 - API gateway analytics and configuration\n- **Agent Registry**: http:\u002F\u002Flocalhost:8000\u002Fdocs - REST API documentation and testing\n\n### Health Checks\n\n```bash\n# Service health\ncurl http:\u002F\u002Flocalhost:8000\u002Fapi\u002Fv1\u002Fhealthcheck   # Backend\ncurl http:\u002F\u002Flocalhost:8081\u002Fhealth               # Router\ncurl http:\u002F\u002Flocalhost:9100\u002Fhealth               # Kong\n\n# Agent health via Kong Gateway\ncurl http:\u002F\u002Flocalhost:9100\u002Fagents\u002Fmy-agent\u002Fhealth\n\n# Comprehensive status\nnasiko status\n```\n\n## 🌐 Environment Configuration\n\n### Required Environment Variables\n\n```bash\n# .nasiko-local.env\n\n# API Keys (Optional but recommended)\nOPENAI_API_KEY=\u003Csk-your-openai-api-key>\nMINIMAX_API_KEY=\u003Cyour-minimax-api-key>\nGITHUB_CLIENT_ID=\u003Cyour-github-oauth-client-id>\nGITHUB_CLIENT_SECRET=\u003Cyour-github-oauth-secret>\n\n# Router LLM Provider (Optional - defaults to openai)\n# Supported: \"openai\", \"openrouter\", \"minimax\"\n# ROUTER_LLM_PROVIDER=openai\n# ROUTER_LLM_MODEL=gpt-4o-mini\n\n# Security (Change in production)\nJWT_SECRET=\u003Cyour-jwt-signing-secret>\nUSER_CREDENTIALS_ENCRYPTION_KEY=\u003Cbase64-encoded-key>\n\n# Database Credentials\nMONGO_ROOT_PASSWORD=secure-mongo-password\nKONG_DB_PASSWORD=secure-kong-password\n\n# Default Admin Account\nSUPERUSER_EMAIL=admin@example.com\nSUPERUSER_USERNAME=admin\nSUPERUSER_PASSWORD=changeme123\n\n# Port Configuration (Optional - defaults shown)\nNASIKO_PORT_BACKEND=8000\nNASIKO_PORT_WEB=4000\nNASIKO_PORT_KONG=9100\nNASIKO_PORT_ROUTER=8081\nNASIKO_PORT_PHOENIX=6006\n```\n\n### Service Ports\n\n| Service | Port | Purpose |\n|---------|------|---------|\n| Web Interface | 4000 | Browser dashboard (access via Kong Gateway at \u002Fapp\u002F) |\n| Backend API | 8000 | REST API and documentation |\n| Auth Service | 8082 | User authentication and GitHub OAuth |\n| Router Service | 8081 | Intelligent query routing |\n| Chat History | 8083 | Conversation logging and retrieval |\n| Kong Gateway | 9100 | Agent access point |\n| Kong Admin | 9101 | Gateway configuration |\n| Kong Manager | 9102 | Gateway web UI |\n| Kong Registry | 8080 | Service discovery and registration |\n| Arize Phoenix | 6006 | Observability and LLM tracing |\n| MongoDB | 27017 | Primary database |\n| Redis | 6379 | Caching and sessions |\n\n## ☁️ Production Deployment\n\n### Cloud Setup (One Command)\n\n```bash\n# DigitalOcean Kubernetes\nuv run cli\u002Fmain.py setup bootstrap \\\n  --provider digitalocean \\\n  --registry-name nasiko-images \\\n  --region nyc3 \\\n  --openai-key sk-proj-your-key\n\n# AWS Kubernetes  \nuv run cli\u002Fmain.py setup bootstrap \\\n  --provider aws \\\n  --registry-name nasiko-images \\\n  --region us-west-2 \\\n  --openai-key sk-proj-your-key\n```\n\nThis command automatically:\n1. ✅ Provisions Kubernetes cluster with Terraform\n2. ✅ Sets up container registry with credentials\n3. ✅ Deploys BuildKit for remote image building\n4. ✅ Installs Nasiko platform with Helm\n5. ✅ Configures ingress and networking\n\n### Manual Setup Steps\n\n```bash\n# 1. Provision cluster\nuv run cli\u002Fmain.py setup k8s deploy --provider digitalocean\n\n# 2. Configure registry\nuv run cli\u002Fmain.py setup registry deploy --provider digitalocean\n\n# 3. Deploy BuildKit\nuv run cli\u002Fmain.py setup buildkit deploy\n\n# 4. Deploy core platform\nuv run cli\u002Fmain.py setup core deploy\n```\n\n### Production Architecture\n\n- **Load Balancing**: Kong gateway with multiple replicas\n- **Auto-scaling**: Kubernetes HPA for agents\n- **Storage**: Persistent volumes for databases\n- **Registry**: Cloud container registries (ECR, DigitalOcean)\n- **Building**: Remote BuildKit with registry integration\n- **Monitoring**: Arize Phoenix + cloud observability\n\n## 📚 Sample Agents\n\nNasiko includes several example agents:\n\n### Available Agents\n\n- **`agents\u002Fa2a-compliance-checker\u002F`** - Document policy compliance analysis\n- **`agents\u002Fa2a-github-agent\u002F`** - GitHub repository operations\n- **`agents\u002Fa2a-translator\u002F`** - Multi-language translation service\n\n### Deploy Sample Agents\n\n```bash\n# Deploy compliance checker\nnasiko agent upload-directory .\u002Fagents\u002Fa2a-compliance-checker --name compliance\n\n# Deploy GitHub agent\nnasiko agent upload-directory .\u002Fagents\u002Fa2a-github-agent --name github\n\n# Test deployed agents via Kong Gateway\ncurl \"http:\u002F\u002Flocalhost:9100\u002Frouter\u002Froute?query=check document compliance\"\ncurl \"http:\u002F\u002Flocalhost:9100\u002Frouter\u002Froute?query=create GitHub issue\"\n```\n\n## 🔧 Development Workflow\n\n### Local Development Commands\n\n```bash\n# Start all services\ndocker compose -f docker-compose.local.yml --env-file .nasiko-local.env up -d\n\n# View logs\ndocker compose -f docker-compose.local.yml --env-file .nasiko-local.env logs -f\n\n# Restart specific services\ndocker compose -f docker-compose.local.yml --env-file .nasiko-local.env restart nasiko-backend\ndocker compose -f docker-compose.local.yml --env-file .nasiko-local.env restart nasiko-router\n\n# Stop all services\ndocker compose -f docker-compose.local.yml --env-file .nasiko-local.env down\n\n# Clean restart (removes data)\ndocker compose -f docker-compose.local.yml --env-file .nasiko-local.env down -v\ndocker compose -f docker-compose.local.yml --env-file .nasiko-local.env up -d\n```\n\n### Alternative Makefile Commands\n\nThe Makefile provides an alternative workflow for running orchestrator components directly on the host (outside Docker) using `uv`. This is useful when iterating on orchestrator code without rebuilding containers.\n\n```bash\nmake start-nasiko        # Clean volumes + run orchestrator and redis listener on host\nmake orchestrator        # Run orchestrator only (via uv)\nmake redis-listener      # Run Redis stream processor (via uv)\nmake clean-all          # Nuclear cleanup — stops all containers, removes volumes and images\nmake backend-app        # Restart backend services\n```\n\n## 🚨 Important Notes\n\n### Critical Dependencies\n\n1. **Redis Stream Listener** - Agent uploads are processed by the `nasiko-redis-listener` service, which starts automatically with Docker Compose. If agent uploads are failing, check that it's healthy:\n\n   ```bash\n   docker logs nasiko-redis-listener\n   docker compose -f docker-compose.local.yml --env-file .nasiko-local.env restart nasiko-redis-listener\n   ```\n\n2. **Docker Networks** - Required networks created automatically:\n   - `app-network` - Core services communication\n   - `agents-net` - Agent-to-agent communication\n\n3. **AgentCard.json** - Mandatory for all agents, defines capabilities for routing\n\n4. **BuildKit** - Required for Kubernetes agent deployments\n\n### Access Patterns\n\n**Kong Gateway Routes** (http:\u002F\u002Flocalhost:9100):\n- **`\u002Fagents\u002F{agent-name}\u002F`** - Dynamic agent access (auto-registered)\n- **`\u002Fapi\u002F`** - Backend API with authentication\n- **`\u002Frouter\u002F`** - Intelligent query routing service  \n- **`\u002Fauth\u002F`** - Authentication endpoints\n- **`\u002Fapp\u002F`** - Web application interface\n- **`\u002Fn8n\u002F`** - N8N workflow automation\n- **`\u002F`** - Landing page (redirects to \u002Fapp\u002F)\n\n**Direct Service Access** (for development only):\n- **Backend API**: `http:\u002F\u002Flocalhost:8000\u002Fapi\u002Fv1\u002F`\n- **Web Interface**: `http:\u002F\u002Flocalhost:4000` (use Kong Gateway `\u002Fapp\u002F` for production)\n- **Router Service**: `http:\u002F\u002Flocalhost:8081` (use Kong Gateway `\u002Frouter` for production)\n\n## 🔍 Troubleshooting\n\n### Common Issues\n\n**Agent won't deploy:**\n```bash\n# Check Redis stream listener is running\ndocker logs nasiko-redis-listener\n\n# Restart the listener if needed\ndocker compose -f docker-compose.local.yml --env-file .nasiko-local.env restart nasiko-redis-listener\n\n# Check Docker daemon\ndocker info\n\n# Check logs\ndocker compose -f docker-compose.local.yml --env-file .nasiko-local.env logs nasiko-backend\n```\n\n**Connection refused:**\n```bash\n# Check services are running\ndocker compose -f docker-compose.local.yml --env-file .nasiko-local.env ps\n\n# Check ports\nlsof -i :8000\nlsof -i :9100\n\n# Restart services\ndocker compose -f docker-compose.local.yml --env-file .nasiko-local.env restart\n```\n\n**Routing not working:**\n```bash\n# Verify router service\ncurl http:\u002F\u002Flocalhost:8081\u002Fhealth\n\n# Check agent registration\ncurl http:\u002F\u002Flocalhost:8000\u002Fapi\u002Fv1\u002Fregistries\n\n# Verify AgentCard.json exists in agent directory\n```\n\n## 🤝 Contributing\n\n1. Fork the repository\n2. Create a feature branch: `git checkout -b feature\u002Famazing-feature`\n3. Make your changes\n4. Test locally: `docker compose -f docker-compose.local.yml --env-file .nasiko-local.env up -d`\n5. Commit changes: `git commit -m 'Add amazing feature'`\n6. Push to branch: `git push origin feature\u002Famazing-feature`\n7. Open a Pull Request\n\n## 📄 License\n\nThis project is licensed under the Apache License 2.0 - see the [LICENSE](LICENSE) file for details.\n\n## 🆘 Support\n\n- **Issues**: [GitHub Issues](https:\u002F\u002Fgithub.com\u002FNasiko-Labs\u002Fnasiko\u002Fissues)\n- **Discussions**: [GitHub Discussions](https:\u002F\u002Fgithub.com\u002FNasiko-Labs\u002Fnasiko\u002Fdiscussions)\n- **Documentation**: This README covers the complete system\n\n---\n\n\u003Cdiv align=\"center\">\n\u003Cstrong>Built with ❤️ for the AI agent community\u003C\u002Fstrong>\n\u003C\u002Fdiv>\n","Nasiko是一个用于AI代理的开发者控制平台，旨在简化大规模构建、部署和管理AI代理的过程。其核心功能包括基于Docker容器化和Kubernetes编排的自动化部署、版本控制的集中式注册表、以及通过LangChain驱动的智能路由实现请求与代理能力之间的最佳匹配。此外，Nasiko还提供了多认证支持、对话日志记录、服务发现等生产级基础设施特性，并通过集成的可观测性仪表板、请求跟踪等功能增强了系统监控能力。此项目特别适合需要在复杂环境中高效管理和优化多个AI代理的企业或开发者使用。",2,"2026-06-11 03:49:32","high_star"]