{"slug": "freegent-free-agentic-ai-for-everyone", "title": "FreeGent: Free Agentic AI for Everyone", "summary": "FreeGent launched as a free agentic AI platform that routes requests across multiple model providers, including Gemini, Groq, OpenRouter, NVIDIA, HuggingFace and Vercel AI Gateway, using a priority list in which the first non-rate-limited model is used and the system waits for the shortest cooldown if all models are cooling down. FreeGent runs JavaScript in a browser sandbox with a virtual filesystem shim and Python via Pyodide, and it offers optional API keys that upgrade GitHub search from 60 to 5,000 requests per hour and Stack Overflow search from 300 to 10,000 per day. The platform also lets users deploy a Cloudflare Worker to their own account to proxy provider calls when hosting FreeGent on their own domain.", "body_md": "# FreeGent\n\nModels tried in order. First non-rate-limited model is used. If all are cooling down, waits for the shortest cooldown.\n\nModel used for worker subagent calls. \"Default\" follows the priority list rotation. \"Priority model\" always forces the #1 model in the list.\n\nModel used for background tasks: chat title generation, prompt suggestions, etc. \"Default\" uses the first available model from the priority list. \"None\" disables all utility LLM calls.\n\nOverride LLM sampling parameters. Empty = provider default.\n\n| Temperature |  | \n| Top P |  | \n| Top K |  | \n| Min P |  | \n| Presence penalty |  | \n| Repetition penalty |  | \n\nApplied as defaults to **custom endpoints** (vLLM / Ollama / LM Studio). Other providers use their own defaults. Set a value to override; leave blank for provider default.\n\n| Gemini Key |  | [Get key ↗](https://aistudio.google.com/app/apikey) | \n| Groq Key |  | [Get key ↗](https://console.groq.com/keys) | \n| OpenRouter Key |  | [Get key ↗](https://openrouter.ai/keys) | \n| NVIDIA Key |  | [Get key ↗](https://build.nvidia.com/) | \n| TokenHarbor Key |  | [Get key ↗](https://tokenharbor.ai) | \n| Kilo Key |  | [Get key ↗](https://kilo.ai) | \n| Vercel AI Gateway Key |  | [Get key ↗](https://vercel.com/ai-gateway) | \n| MoonMath Key |  | [Get key ↗](https://zro.moonmath.ai/api-keys) | \n| Requesty Key |  | [Get key ↗](https://app.requesty.ai/api-keys) | \n| Nous Portal Key |  | [Get key ↗](https://portal.nousresearch.com/) | \n| HuggingFace Key |  | [Get key ↗](https://huggingface.co/settings/tokens) | \n| Developer key |  |  | \n\nHuggingFace key enables FLUX / SDXL via HF Inference as a fallback for `generate_image` (Pollinations works without a key). Env var: `HF_API_KEY`.\n\nDeveloper key: unlocks the Worker's shared provider keys. When filled, each finished or failed Task chat and every console error/warning is also sent to the Worker's logs, tagged with this session's ID.\n\nWhen a message includes multimedia, requests are routed to these models. \"Auto\" uses the first capable model from the priority list.\n\nAll available models. Use ✕ to remove a model from the catalog.\n\nSnapshot all settings (except API keys) as a named profile.\n\nDirect browser call — no proxy needed.\n\nSent as `X-Brave-Key` header.\n\nUpgrades GitHub search from 60/hr to 5,000/hr.\n\nUpgrades Stack Overflow search from 300/day to 10,000/day.\n\nWhere FreeGent may send requests. The level applies at once and is saved in this browser only (profiles do not carry it).\n\nOptional, Routed level only. freegent.ai and the local dev server already proxy provider calls, so leave this empty unless you host FreeGent on your own domain or fork (the built-in Worker refuses other origins). Then deploy `cf-worker/` to your own Cloudflare account (free tier) and paste the URL — see [Hosting your own site and Worker](https://freegent.ai/docs/local/webui#hosting-your-own-site-and-worker).\n\nBesides the model provider you chose. The location lookup is off at the Provider-only and Local levels, and the page-view counter at Local.\n\nAlways active — no configuration needed. `execute_code(language=\"javascript\")` runs in a browser sandbox with a virtual filesystem shim (`fs`, `path` modules). Files written via `fs.writeFileSync` sync back to the workspace automatically. Limitations: no npm packages, no DOM or canvas. `fetch()` reaches public URLs (directly when the site allows cross-origin requests, otherwise as a plain GET through the same proxy as fetch_url). For canvas/DOM work the AI can generate a self-contained HTML file instead.\n\nRuns Python in the browser via Pyodide. Workspace files are pre-loaded at their normal paths; writes sync back automatically. Use `micropip.install` for pure-Python packages.\n\nControls bash execution only. JavaScript uses the browser sandbox above; Python uses Pyodide.\n\nExposes the `run_git` tool and injects git instructions when messages mention git, commit, push, or pull. Requires the Local code execution sandbox (dev server). Disabled by default.\n\nExposes `ast_query(path, query)` for precise symbol navigation with exact line numbers — find definitions, call sites, imports, exports, and references without grep. Supports: \"functions\", \"classes\", \"imports\", \"exports\", \"symbols\", \"calls:NAME\", \"references:NAME\", \"symbol_at:LINE\". Works in all environments; available to all agent roles when enabled. Disabled by default.\n\nCap tool results stored in history to avoid context bloat.\n\nWhen a read_file result in the main agent context exceeds this length, it is replaced with a structural index of definitions (with line numbers) plus as many full function bodies as fit. Other tools are passed through as-is. 0 disables. Default: 100000.\n\nCompact history before hitting the hard context limit.\n\n| % of window |  | \n| Token count |  | \n\nNudge the agent to prefer execute_code scripts over chained tool calls.\n\nOne sentence of intent between tool calls; telegraphic task strings for workers; workers respond in compressed style. Reduces history growth without affecting output quality.\n\nBase cooldown duration per endpoint after a 429 rate-limit response. Doubles on each consecutive hit (exponential backoff), capped at 10 minutes.\n\nGive workers scoped context and minimal tool subsets instead of the full system prompt.\n\nWorkers with role \"director\" fork the main agent: same system prompt, tools and conversation so far, plus their subtask (prefix-cached). Coder and researcher workers always get only their task. When off, director workers also get only their task. On by default.\n\nWhen total worker text output exceeds 2K chars, synthesise all outputs into one compact summary before returning to the main loop.\n\nAutomatically uses the first model for planning workers; later models in the priority list for execution workers.\n\nNever sends two requests to the same model endpoint at once; a second one waits for the first to finish. Parallel workers each start on a different model, taking the highest one in the priority list that is free. On by default.\n\nEach model in your list is used for N consecutive steps before rotating to the next. A new turn always starts from the first model. Spreads load to stay within per-model TPM limits.\n\nHierarchical delegation depth. At depth 1, coder workers can spawn their own parallel sub-workers for independent sub-tasks. Sub-workers cannot spawn further. Depth 0 disables the feature entirely.\n\nThinking budget applied to worker agents. High by default — workers often tackle harder sub-problems than the main loop.\n\nPass `preserve_thinking: true` to the vLLM chat template so the model's reasoning from each step is re-inserted as a `<think>` block in subsequent turns. Improves multi-turn continuity for Qwen3 and similar models. Only affects provider:vllm with a thinking budget > 0.\n\nRun gate checks at each Kanban column transition. When disabled, tasks move directly to done without checks.\n\nCheck each criterion in the task's ## Acceptance section against the changed files before marking done.\n\nFind and run test files related to changed files. Blocks completion if tests fail. Requires a code sandbox.\n\nRun the project build/lint/typecheck command after each task. Configured via WORKFLOW.md or detected from package.json. Disabled by default.\n\nMaximum QA failure cycles before a task is escalated to blocked instead of retried.\n\nWhen a write_file call changes >50% of an existing file's lines, a second LLM call reviews the edit before it is applied. Rejects it if content was accidentally dropped or broken. Adds latency — off by default.\n\nBefore executing fetch_url, write_file, execute_code, or delete_file, screen the call for prompt injection. Heuristic: fast regex patterns (injection phrases, unsafe paths). LLM-based: also asks a model whether the call follows from your request, but only after content from the web, search or an external server has been read in the turn; adds a model call per risky call.\n\nPause and ask for approval before executing high-risk or write tools. Off by default, except where code runs on your machine without isolation. Inside sub-workers only commands on your machine and MCP tools are asked about.\n\nWhen enabled, the agent loop runs lifecycle gates (task 036) after completing each task. Failures route the task to in-review for rework.\n\nMaintain explicit ledger files for long-horizon coherence (Magentic-One pattern).\n\nAfter each turn, save the session log to `logs/` and create a task to review it for AI inefficiencies. Review tasks will create follow-up tasks for novel issues found.\n\nPause the loop if this many tasks in a row fail without progress. Gives you a chance to inspect and redirect before continuing.\n\nEnable tools per mode. Chat: standard conversations. Cowork: task-runner sessions (also applies to the runner).\n\nConnect external Model Context Protocol servers (Streamable HTTP). Each server's tools start disabled — enable the ones the agent should see. Tool calls send their arguments to the server's host. Context7 is built in: Tools → Context7 Docs.\n\nCustom server\nWorker roles define the system prompt, tool set, and auto-injected skills for each specialist agent. Uncheck a role to prevent workers from using it (they fall back to the generic worker prompt). Edit a system prompt and Save to override the built-in; Reset restores the default.\n\nModels tried in order. First with an available key is used.\n\n| Language |  | \n\nModels tried in order. First with an available key is used.\n\n| Auto-speak replies |  | \n| Browser voice | Applies to Web Speech Synthesis only | \n| Speed | 1 | \n| Pitch | 1 |", "url": "https://wpnews.pro/news/freegent-free-agentic-ai-for-everyone", "canonical_source": "https://freegent.ai", "published_at": "2026-11-01 09:20:16+00:00", "updated_at": "2026-11-01 09:49:50.603724+00:00", "lang": "en", "topics": ["ai-agents", "ai-tools", "developer-tools", "large-language-models"], "entities": ["FreeGent", "Gemini", "Groq", "OpenRouter", "NVIDIA", "HuggingFace", "Vercel AI Gateway", "Cloudflare"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/freegent-free-agentic-ai-for-everyone", "markdown": "https://wpnews.pro/news/freegent-free-agentic-ai-for-everyone.md", "text": "https://wpnews.pro/news/freegent-free-agentic-ai-for-everyone.txt", "jsonld": "https://wpnews.pro/news/freegent-free-agentic-ai-for-everyone.jsonld"}}