{
  "project_id": "fabiojbg/LLMApiGateway",
  "repo": "fabiojbg/LLMApiGateway",
  "name": "LLMApiGateway",
  "github_url": "https://github.com/fabiojbg/LLMApiGateway",
  "homepage_url": null,
  "language": "Python",
  "license": "MIT",
  "project_kind": "project",
  "category": [
    "coding_agent"
  ],
  "tags": [
    "cline-ai",
    "fault-tolerance",
    "gateway",
    "llm",
    "llm-gateway",
    "llm-proxy",
    "openai-api",
    "openrouter",
    "proxy",
    "roocode"
  ],
  "description": "A personal LLM gateway with fault-tolerant capabilities for calls to LLM models from any provider with OpenAI-compatible APIs. Advanced features like retry, model sequencing, and body parameter injection are also available. Especially useful to work with AI coders like Cline and RooCode and providers like OpenRouter.",
  "overview": "Use fabiojbg/LLMApiGateway when the user needs a coding agent project with docker, library-only, local deployment options.",
  "alternatives": [
    {
      "repo": "OpenHands/OpenHands",
      "reason": "Same coding agent intent with coding_agent, workflow overlap."
    },
    {
      "repo": "sgl-project/sglang",
      "reason": "Same coding agent intent with coding_agent, workflow overlap."
    },
    {
      "repo": "kittors/CliRelay",
      "reason": "Same coding agent intent with coding_agent, llm_gateway, workflow overlap."
    }
  ],
  "related": [
    {
      "repo": "Nano-Collective/nanocoder",
      "reason": "Related to fabiojbg/LLMApiGateway through coding agent category and docker deployment."
    },
    {
      "repo": "askalf/dario",
      "reason": "Related to fabiojbg/LLMApiGateway through coding agent category and docker deployment."
    },
    {
      "repo": "jwadow/kiro-gateway",
      "reason": "Related to fabiojbg/LLMApiGateway through coding agent category and docker deployment."
    },
    {
      "repo": "langchain-ai/open-swe",
      "reason": "Related to fabiojbg/LLMApiGateway through coding agent category and docker deployment."
    },
    {
      "repo": "generalaction/emdash",
      "reason": "Related to fabiojbg/LLMApiGateway through coding agent category and docker deployment."
    },
    {
      "repo": "kstevica/captain-claw",
      "reason": "Related to fabiojbg/LLMApiGateway through coding agent category and docker deployment."
    },
    {
      "repo": "agentforce314/clawcodex",
      "reason": "Related to fabiojbg/LLMApiGateway through coding agent category and library_only deployment."
    },
    {
      "repo": "ollama/ollama",
      "reason": "Related to fabiojbg/LLMApiGateway through coding agent category and docker deployment."
    }
  ],
  "dependencies": [
    "LLM provider"
  ],
  "deployments": [
    "docker",
    "library_only",
    "local",
    "cloud"
  ],
  "difficulty": "beginner",
  "cloudflare_ready": false,
  "use_cases": [
    "build AI coding assistants",
    "automate developer workflows",
    "integrate codebase-aware agents"
  ],
  "not_good_for": [
    "edge-only Cloudflare Workers deployment without adaptation",
    "users expecting a complete hosted product"
  ],
  "classification": {
    "category": {
      "confidence": "high",
      "evidence": [
        "Matched \"ide\" in metadata.",
        "Matched \"cline\" in metadata."
      ]
    },
    "deployment": {
      "confidence": "high",
      "evidence": [
        "Found Docker configuration file.",
        "Matched \"pip install\" in repository content.",
        "Local usage is assumed for open source repositories unless contradicted."
      ]
    },
    "difficulty": {
      "confidence": "medium",
      "evidence": [
        "Repository has under 10k stars, so complexity is treated conservatively."
      ]
    },
    "cloudflare_ready": {
      "confidence": "high",
      "evidence": [
        "Runtime blocker: python.",
        "No Cloudflare deployment signal detected.",
        "No wrangler.toml found in inspected repository files."
      ]
    }
  },
  "quality_signals": {
    "stars": 27,
    "recent_commits": 7,
    "contributors": 1,
    "issue_response_time_hours": null,
    "release_frequency_180d": 0
  },
  "quality_signal_confidence": {
    "stars_30d_delta": "snapshot",
    "stars30d_window_days": 36,
    "commits_30d": "complete",
    "releases_180d": "complete",
    "contributors_90d": "complete"
  },
  "quality_score": 5,
  "agent_score": 53,
  "score": 60,
  "agent_score_breakdown": {
    "documentation": 90,
    "maintenance": 9,
    "deployment": 90,
    "popularity": 29,
    "community": 46
  },
  "git_top_score": 60,
  "git_top_score_breakdown": {
    "community": 59,
    "maintenance": 12,
    "documentation": 92,
    "stability": 70,
    "adoption": 36,
    "agent_readability": 100
  },
  "verification": {
    "schema_version": "git-top.verification.v1",
    "overall_status": "partial",
    "observed_at": "2026-09-23T09:01:17.845Z",
    "signals": {
      "activity": {
        "status": "observed",
        "source": "github_metadata",
        "evidence": [
          "project.pushed_at",
          "metrics.recent_push_days"
        ]
      },
      "license": {
        "status": "observed",
        "source": "github_metadata",
        "evidence": [
          "project.license"
        ]
      },
      "documentation": {
        "status": "observed",
        "source": "github_metadata",
        "evidence": [
          "project.description"
        ]
      },
      "runtime": {
        "status": "inferred",
        "source": "git_top_heuristic",
        "evidence": [
          "agent_card.deployment",
          "agent_card.cloudflare_ready"
        ]
      },
      "install": {
        "status": "not_run",
        "source": "git_top_runtime",
        "evidence": [
          "installation/build probe is not enabled"
        ]
      },
      "security": {
        "status": "not_run",
        "source": "git_top_runtime",
        "evidence": [
          "dependency/security scan is not enabled"
        ]
      },
      "mcp": {
        "status": "not_applicable",
        "source": "git_top_runtime",
        "evidence": [
          "project is not classified as mcp_server"
        ]
      }
    },
    "coverage": {
      "observed": 3,
      "inferred": 1,
      "not_run": 2,
      "unknown": 0
    },
    "next_steps": [
      "Run an installation/build probe before production adoption.",
      "Run a dependency and security scan before treating the score as a trust claim."
    ]
  },
  "summary": {
    "tl_dr": "Use fabiojbg/LLMApiGateway when the user needs a coding agent project with docker, library-only, local deployment options.",
    "purpose": "Use fabiojbg/LLMApiGateway when the user needs a coding agent project with docker, library-only, local deployment options.",
    "install": "Run with Docker using the repository's container instructions.",
    "inputs": [
      "coding task",
      "repo context",
      "tool permissions"
    ],
    "outputs": [
      "code changes",
      "patches",
      "developer assistant actions"
    ],
    "good_for": [
      "build AI coding assistants",
      "automate developer workflows",
      "integrate codebase-aware agents",
      "software engineering tasks",
      "code editing",
      "repo automation"
    ],
    "not_good_for": [
      "edge-only Cloudflare Workers deployment without adaptation",
      "users expecting a complete hosted product",
      "static documentation sites",
      "non-code workflows"
    ],
    "deployment": [
      "docker",
      "library_only",
      "local",
      "cloud"
    ],
    "alternatives": [
      {
        "repo": "OpenHands/OpenHands",
        "reason": "Same coding agent intent with coding_agent, workflow overlap."
      },
      {
        "repo": "sgl-project/sglang",
        "reason": "Same coding agent intent with coding_agent, workflow overlap."
      },
      {
        "repo": "kittors/CliRelay",
        "reason": "Same coding agent intent with coding_agent, llm_gateway, workflow overlap."
      }
    ]
  },
  "evidence": {
    "classification": {
      "category": {
        "confidence": "high",
        "evidence": [
          "Matched \"ide\" in metadata.",
          "Matched \"cline\" in metadata."
        ]
      },
      "deployment": {
        "confidence": "high",
        "evidence": [
          "Found Docker configuration file.",
          "Matched \"pip install\" in repository content.",
          "Local usage is assumed for open source repositories unless contradicted."
        ]
      },
      "difficulty": {
        "confidence": "medium",
        "evidence": [
          "Repository has under 10k stars, so complexity is treated conservatively."
        ]
      },
      "cloudflare_ready": {
        "confidence": "high",
        "evidence": [
          "Runtime blocker: python.",
          "No Cloudflare deployment signal detected.",
          "No wrangler.toml found in inspected repository files."
        ]
      }
    },
    "quality_signal_confidence": {
      "stars_30d_delta": "snapshot",
      "stars30d_window_days": 36,
      "commits_30d": "complete",
      "releases_180d": "complete",
      "contributors_90d": "complete"
    },
    "verification": {
      "schema_version": "git-top.verification.v1",
      "overall_status": "partial",
      "observed_at": "2026-09-23T09:01:17.845Z",
      "signals": {
        "activity": {
          "status": "observed",
          "source": "github_metadata",
          "evidence": [
            "project.pushed_at",
            "metrics.recent_push_days"
          ]
        },
        "license": {
          "status": "observed",
          "source": "github_metadata",
          "evidence": [
            "project.license"
          ]
        },
        "documentation": {
          "status": "observed",
          "source": "github_metadata",
          "evidence": [
            "project.description"
          ]
        },
        "runtime": {
          "status": "inferred",
          "source": "git_top_heuristic",
          "evidence": [
            "agent_card.deployment",
            "agent_card.cloudflare_ready"
          ]
        },
        "install": {
          "status": "not_run",
          "source": "git_top_runtime",
          "evidence": [
            "installation/build probe is not enabled"
          ]
        },
        "security": {
          "status": "not_run",
          "source": "git_top_runtime",
          "evidence": [
            "dependency/security scan is not enabled"
          ]
        },
        "mcp": {
          "status": "not_applicable",
          "source": "git_top_runtime",
          "evidence": [
            "project is not classified as mcp_server"
          ]
        }
      },
      "coverage": {
        "observed": 3,
        "inferred": 1,
        "not_run": 2,
        "unknown": 0
      },
      "next_steps": [
        "Run an installation/build probe before production adoption.",
        "Run a dependency and security scan before treating the score as a trust claim."
      ]
    },
    "source_fields": [
      "project.description",
      "project.topics",
      "project.language",
      "project.license",
      "agent_card.summary_for_agent",
      "agent_card.use_cases",
      "agent_card.deployment",
      "agent_card.classification",
      "metrics",
      "verification.signals"
    ],
    "caveats": [
      "edge-only Cloudflare Workers deployment without adaptation",
      "users expecting a complete hosted product",
      "Independent installation, security, or runtime probes have not been run for this project."
    ],
    "confidence_reason": "Classification evidence and quality signals are strong enough for shortlist reasoning when metadata is current.",
    "last_verified_at": "2026-09-23T09:01:17.845Z"
  },
  "caveats": [
    "edge-only Cloudflare Workers deployment without adaptation",
    "users expecting a complete hosted product",
    "Independent installation, security, or runtime probes have not been run for this project."
  ],
  "confidence_reason": "Classification evidence and quality signals are strong enough for shortlist reasoning when metadata is current.",
  "source_fields": [
    "project.description",
    "project.topics",
    "project.language",
    "project.license",
    "agent_card.summary_for_agent",
    "agent_card.use_cases",
    "agent_card.deployment",
    "agent_card.classification",
    "metrics",
    "verification.signals"
  ],
  "last_verified_at": "2026-09-23T09:01:17.845Z",
  "knowledge": {
    "project": {
      "id": "fabiojbg/LLMApiGateway",
      "owner": "fabiojbg",
      "name": "LLMApiGateway",
      "full_name": "fabiojbg/LLMApiGateway",
      "github_url": "https://github.com/fabiojbg/LLMApiGateway",
      "homepage_url": null,
      "description": "A personal LLM gateway with fault-tolerant capabilities for calls to LLM models from any provider with OpenAI-compatible APIs. Advanced features like retry, model sequencing, and body parameter injection are also available. Especially useful to work with AI coders like Cline and RooCode and providers like OpenRouter.",
      "language": "Python",
      "topics": [
        "cline-ai",
        "fault-tolerance",
        "gateway",
        "llm",
        "llm-gateway",
        "llm-proxy",
        "openai-api",
        "openrouter",
        "proxy",
        "roocode"
      ],
      "license": "MIT",
      "stars": 27,
      "forks": 3,
      "open_issues": 0,
      "default_branch": "master",
      "created_at": "2025-04-01T04:12:41Z",
      "updated_at": "2026-09-02T04:20:23Z",
      "pushed_at": "2026-09-02T04:21:21Z",
      "synced_at": "2026-09-23T09:01:17.845Z"
    },
    "agent_card": {
      "project_id": "fabiojbg/LLMApiGateway",
      "project_kind": "project",
      "category": "coding_agent",
      "difficulty": "beginner",
      "deployment": [
        "docker",
        "library_only",
        "local",
        "cloud"
      ],
      "cloudflare_ready": false,
      "use_cases": [
        "build AI coding assistants",
        "automate developer workflows",
        "integrate codebase-aware agents"
      ],
      "not_good_for": [
        "edge-only Cloudflare Workers deployment without adaptation",
        "users expecting a complete hosted product"
      ],
      "alternatives": [
        {
          "project_id": "OpenHands/OpenHands",
          "reason": "Same coding agent intent with coding_agent, workflow overlap."
        },
        {
          "project_id": "sgl-project/sglang",
          "reason": "Same coding agent intent with coding_agent, workflow overlap."
        },
        {
          "project_id": "kittors/CliRelay",
          "reason": "Same coding agent intent with coding_agent, llm_gateway, workflow overlap."
        }
      ],
      "summary_for_agent": "Use fabiojbg/LLMApiGateway when the user needs a coding agent project with docker, library-only, local deployment options.",
      "classification": {
        "category": {
          "confidence": "high",
          "evidence": [
            "Matched \"ide\" in metadata.",
            "Matched \"cline\" in metadata."
          ]
        },
        "deployment": {
          "confidence": "high",
          "evidence": [
            "Found Docker configuration file.",
            "Matched \"pip install\" in repository content.",
            "Local usage is assumed for open source repositories unless contradicted."
          ]
        },
        "difficulty": {
          "confidence": "medium",
          "evidence": [
            "Repository has under 10k stars, so complexity is treated conservatively."
          ]
        },
        "cloudflare_ready": {
          "confidence": "high",
          "evidence": [
            "Runtime blocker: python.",
            "No Cloudflare deployment signal detected.",
            "No wrangler.toml found in inspected repository files."
          ]
        }
      },
      "schema_version": "v1",
      "generated_at": "2026-09-23T09:01:17.845Z"
    },
    "metrics": {
      "project_id": "fabiojbg/LLMApiGateway",
      "stars_30d_delta": 0,
      "commits_30d": 7,
      "releases_180d": 0,
      "contributors_90d": 1,
      "issue_first_response_median_hours": null,
      "recent_push_days": 21,
      "git_score": 5,
      "maintenance_score": 9,
      "signal_confidence": {
        "stars_30d_delta": "snapshot",
        "stars30d_window_days": 36,
        "commits_30d": "complete",
        "releases_180d": "complete",
        "contributors_90d": "complete"
      },
      "calculated_at": "2026-09-23T09:01:17.845Z"
    }
  },
  "resolved_from": {
    "requested_id": "fabiojbg/LLMApiGateway",
    "resolved_id": "fabiojbg/LLMApiGateway",
    "resolution": "direct"
  },
  "metadata": {
    "source": "d1",
    "reason": "d1_query",
    "project_count": 1213,
    "generated_at": "2026-09-26T18:45:50.688Z",
    "snapshot_id": "d1:1213:2026-09-26T18:31:33.655Z",
    "latest_synced_at": "2026-09-26T18:31:33.655Z",
    "schema_version": "git-top.knowledge.v1",
    "loaded_project_limit": 2000,
    "truncated": false
  }
}