Unified interface for all code agents — LLM proxy routing, Docker sandboxing, profile management, and browser tools. Switch models and providers without reconfiguring.
Project description
CodeFreedom
Unified interface for all code agents. Simple LLM routing. Sandboxing just a click away.
Full documentation: https://nilayparikh.github.io/codefreedom/
What is CodeFreedom?
The Problem
AI code agents are powerful, but the ecosystem around them is fragmented. Each agent carries its own configuration, model preferences, and runtime dependencies. There is no portable layer that lets you move between agents, models, or providers without starting over.
That fragmentation creates three compounding risks:
- Vendor lock-in -- choosing a provider today can constrain your choices tomorrow. As the model landscape evolves, being tied to one ecosystem means missing better capabilities, pricing, or reliability from competitors.
- Unmanaged cost -- without visibility across providers, there is no way to route work to the most cost-effective model. Token spend grows unchecked because switching providers is a manual, error-prone process.
- Complexity as a barrier -- setting up proxies, sandboxes, and provider integrations demands infrastructure expertise. Developers who should be building products spend time plumbing tooling, or avoid the tools altogether.
The Solution
CodeFreedom is a CLI that sits between you and your code agent (Claude Code, MiMoCode, OpenCode, etc.). It provides a portable abstraction layer so you can:
- Switch models and providers -- change your backend without reconfiguring your agent.
- Isolate environments -- reproducible, sandboxed sessions per project with GPU support.
- Manage everything from one place -- profiles, proxy routing, and sandbox settings live in
~/.codefreedom.
It orchestrates agents through their publicly supported interfaces (environment variables, CLI flags, API endpoints). No patching, no reverse-engineering.
Supported Agents
| Agent | Alias | Description |
|---|---|---|
| Claude Code | cc |
Anthropic's code agent |
| MiMoCode | mc |
Xiaomi's code agent |
| OpenCode | oc |
OpenCode code agent |
All agents share the same proxy, sandbox, and tooling layers.
Video Walkthrough
Quick Start
Install
pip install codefreedom
Pick a recipe and set up
# See available recipes
cf s i -l
# Plan + apply a recipe (recommended -- shows preview, prompts to confirm)
cf s i -pa costeffective-coding
A recipe is a pre-built configuration bundle that wires up proxy, profiles, and provider settings in one step. See recipes/ for options.
Start the proxy and launch an agent
# Start the LiteLLM proxy (auto-starts browser tools)
cf r px start
# Launch your agent
cf r ag cc # Claude Code
cf r ag mc # MiMoCode
cf r ag oc # OpenCode
# Or launch in a sandboxed container
cf r ag cc --sandbox
cf r ag cc --sandbox --cuda # NVIDIA GPU
cf r ag cc --sandbox --rocm # AMD GPU
Common commands
| Command | What it does |
|---|---|
cf s i -l |
List available recipes |
cf s i -pa <recipe> |
Plan + apply a recipe |
cf r px start |
Start proxy + tools |
cf r px stop |
Stop proxy + tools |
cf r px status |
Check proxy health |
cf r ag cc |
Launch Claude Code |
cf r ag mc |
Launch MiMoCode |
cf r ag oc |
Launch OpenCode |
cf run tools status |
Check tool container status |
cf manage admin backup |
Backup config |
cf manage doctor |
Diagnose issues |
See the full documentation for proxy setup, custom profiles, browser tools, and more.
Features
| Feature | Details |
|---|---|
| LLM proxy | Self-hosted LiteLLM image (embedded PostgreSQL, multi-provider routing) |
| Agent launcher | Claude Code, MiMoCode, OpenCode -- local + sandbox modes |
| Sandboxing | Pre-configured containers (CPU, CUDA, ROCm) for each agent |
| Profiles | Model switching, env inheritance, isolation |
| Browser tools | Chrome (CDP + MCP), Camoufox stealth browser (MCP), GitHub MCP, Web Bridge |
| Backup & restore | Config backups with diff preview and selective restore |
Requirements
- Python 3.10+
- Docker -- required for sandbox mode and the proxy
- Node.js -- for local mode (agent-specific)
Principles
- Just configuration. Profiles are environment variables. Proxy routing is standard LiteLLM config.
- Opt-in providers. Set an API key to enable a provider. Leave it empty to disable. Nothing phones home.
- All config in one place.
~/.codefreedomis the single source of truth.
Data Privacy
CodeFreedom is a local configuration tool. It does not collect telemetry, connect to external servers, or store/transmit your prompts, code, or API keys.
All configuration lives on your machine in ~/.codefreedom/. You are responsible for reviewing the privacy policies of every provider and tool you configure.
Disclaimer
CodeFreedom is provided "as is" without warranty of any kind. Use at your own risk. See NOTICE for trademark and third-party disclaimers.
License
Apache 2.0 -- see LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file codefreedom-0.2.1rc1.tar.gz.
File metadata
- Download URL: codefreedom-0.2.1rc1.tar.gz
- Upload date:
- Size: 188.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a0b540f8b745eedefb4709f51cb9f7e0e4b555bfdfb84de4deb6147601f319d1
|
|
| MD5 |
8377c6066cb8bc389c31b8339bd60977
|
|
| BLAKE2b-256 |
7413d39ff33dbe748ee051c04e05adc9ac251f297d1683018962bd1fe274f2b7
|
Provenance
The following attestation bundles were made for codefreedom-0.2.1rc1.tar.gz:
Publisher:
publish-rc.yml on nilayparikh/codefreedom
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
codefreedom-0.2.1rc1.tar.gz -
Subject digest:
a0b540f8b745eedefb4709f51cb9f7e0e4b555bfdfb84de4deb6147601f319d1 - Sigstore transparency entry: 1875609241
- Sigstore integration time:
-
Permalink:
nilayparikh/codefreedom@0cc5fa5936cee1da79db724430892c518d692875 -
Branch / Tag:
refs/heads/release/v0.2.1 - Owner: https://github.com/nilayparikh
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-rc.yml@0cc5fa5936cee1da79db724430892c518d692875 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file codefreedom-0.2.1rc1-py3-none-any.whl.
File metadata
- Download URL: codefreedom-0.2.1rc1-py3-none-any.whl
- Upload date:
- Size: 164.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
59e9a0fd51d4a56c6e2b14b7123257e52e01529397798f0cbe92e8814fb1b3a7
|
|
| MD5 |
7d9b44dbe7536016e13f1880020c14f6
|
|
| BLAKE2b-256 |
b5f2f45217d721bb1f723c9981dae5a2e17e619a949a367cfb828c36755695b5
|
Provenance
The following attestation bundles were made for codefreedom-0.2.1rc1-py3-none-any.whl:
Publisher:
publish-rc.yml on nilayparikh/codefreedom
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
codefreedom-0.2.1rc1-py3-none-any.whl -
Subject digest:
59e9a0fd51d4a56c6e2b14b7123257e52e01529397798f0cbe92e8814fb1b3a7 - Sigstore transparency entry: 1875609327
- Sigstore integration time:
-
Permalink:
nilayparikh/codefreedom@0cc5fa5936cee1da79db724430892c518d692875 -
Branch / Tag:
refs/heads/release/v0.2.1 - Owner: https://github.com/nilayparikh
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-rc.yml@0cc5fa5936cee1da79db724430892c518d692875 -
Trigger Event:
workflow_dispatch
-
Statement type: