FreeGent

Drop files to attach
New Chat
⬡ —
How can I help?
Drop files here
✓ Tasks
Idle
To Do 0
In Progress 0
Review 0
Done 0
API Credentials
Gemini Key Get key ↗
Groq Key Get key ↗
OpenRouter Key Get key ↗
NVIDIA Key Get key ↗
TokenHarbor Key Get key ↗
Kilo Key Get key ↗
Vercel AI Gateway Key Get key ↗
MoonMath Key Get key ↗
Requesty Key Get key ↗
Nous Portal Key Get key ↗
HuggingFace Key Get key ↗
Developer key

HuggingFace key enables FLUX / SDXL via HF Inference as a fallback for generate_image (Pollinations works without a key). Env var: HF_API_KEY.

Developer key: unlocks all of the Worker's provider keys for your own sessions. 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.

Search and Tool Keys

Direct browser call — no proxy needed.

Sent as X-Brave-Key header.

Upgrades GitHub search from 60/hr to 5,000/hr.

Upgrades Stack Overflow search from 300/day to 10,000/day.

Model Selections

Guest access: Checking…
Model Priority

Models tried in order. First non-rate-limited model is used. If all are cooling down, waits for the shortest cooldown.

Worker Model

Model used for worker subagent calls. "Default" follows the priority list rotation. "Priority model" always forces the #1 model in the list. A model without a key gives way to the next one that has one.

Utility Model

Model 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. A model without a key gives way to the next one that has one.

Sampling

Override LLM sampling parameters. Empty = not sent: the provider's or server's own default applies.

Temperature
Top P
Top K
Min P
Presence penalty
Repetition penalty

A value you set is sent to custom endpoints (vLLM / Ollama / LM Studio); Temperature is sent to every provider. Fields are empty by default, so each model runs with its own provider's defaults.

Media Model Routing

When a message includes multimedia, requests are routed to these models. "Auto" uses the first capable model from the priority list.

Model Catalog

All available models. Use ✕ to remove a model from the catalog.

Save Current

Snapshot all settings (except API keys) as a named profile.

Network privacy

Where FreeGent may send requests. The level applies at once and is saved in this browser only (profiles do not carry it).

CORS Proxy / CF Worker URL

Optional, 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.

Other requests

Besides the model provider you chose. The location lookup is off at the Provider-only and Local levels, and the page-view counter at Local.

Context Management

Cap tool results stored in history to avoid context bloat.

When 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.

Compact history before hitting the hard context limit.

% of window
Token count
Prompt Construction

Nudge the agent to prefer execute_code scripts over chained tool calls.

One sentence of intent between tool calls; telegraphic task strings for workers; workers respond in compressed style. Reduces history growth without affecting output quality.

Agent Loop

Base cooldown duration per endpoint after a 429 rate-limit response. Doubles on each consecutive hit (exponential backoff), capped at 10 minutes.

Give workers scoped context and minimal tool subsets instead of the full system prompt.

Workers 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.

When total worker text output exceeds 2K chars, synthesise all outputs into one compact summary before returning to the main loop.

Automatically uses the first model for planning workers; later models in the priority list for execution workers.

Never 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.

Each 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.

Hierarchical 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.

Thinking budget applied to worker agents. High by default — workers often tackle harder sub-problems than the main loop.

Pass 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.

QA Gates

Run gate checks at each Kanban column transition. When disabled, tasks move directly to done without checks.

Check each criterion in the task's ## Acceptance section against the changed files before marking done.

Find and run test files related to changed files. Blocks completion if tests fail. Requires a code sandbox.

Run the project build/lint/typecheck command after each task. Configured via WORKFLOW.md or detected from package.json. Disabled by default.

Maximum QA failure cycles before a task is escalated to blocked instead of retried.

When 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.

Before 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.

Pause 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.

Autonomous Agent Loop

When enabled, the agent loop runs lifecycle gates (task 036) after completing each task. Failures route the task to in-review for rework.

Maintain explicit ledger files for long-horizon coherence (Magentic-One pattern).

After 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.

Pause the loop if this many tasks in a row fail without progress. Gives you a chance to inspect and redirect before continuing.

JavaScript in Browser

Always 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.

Python in Browser (Pyodide)

Runs 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.

Not loaded
Bash Sandbox

Controls bash execution only. JavaScript uses the browser sandbox above; Python uses Pyodide.

Git Integration

Exposes 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.

Code Structure Queries (AST)

Exposes 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.

Web Search

Used by web_search and the research tools. Their keys are in the Credentials tab.

Tools

Enable tools per mode. Chat: standard conversations. Cowork: task-runner sessions (also applies to the runner).

MCP Servers

Connect 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.

Custom server

Worker 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.

Speech Input (STT)

Models tried in order. First with an available key is used.

Language
Speech Output (TTS)

Models tried in order. First with an available key is used.

Auto-speak replies
Browser voice Applies to Web Speech Synthesis only
Speed 1
Pitch 1

FreeGent