Ferry
Keep the agent. Choose the model.
English · 简体中文
Ferry keeps Codex in charge while bounded work runs on the model you choose.
Agent ≠ Model. Read the Ferry Thesis →
Why Ferry
Some tasks deserve frontier reasoning. Others are bounded enough for a faster, cheaper, or simply better-suited coding model.
Ferry preserves that choice without replacing Codex or choosing models for you.
Ferry work, not judgment.
Install
The easiest path is to let Codex set up Ferry. Paste this into Codex:
Read https://raw.githubusercontent.com/PunkGo/ferry/main/README.md and https://raw.githubusercontent.com/PunkGo/ferry/main/CUSTOM_PROVIDER_SETUP.md. Configure and verify my custom provider first, then install Ferry using the recommended path.
Ferry is for delegating Codex work to a custom provider and model. If you only need native Codex workers, use Codex's built-in worker directly.
Before installing Ferry, configure and verify a custom provider. Its provider, model, and authentication must already work in Codex.
For manual setup, requirements are Python 3.10+, an existing Codex CLI
installation, and either uv (recommended) or pipx.
Use exactly one package manager for Ferry. uv tool is the default path:
uv tool install ferry-codex
ferry setup
pipx remains a supported alternative; do not install the same Ferry package
with both managers.
pipx install ferry-codex
ferry setup
Start a fresh Codex session, then run the same-seam readiness check:
Run Ferry Doctor for my configured custom provider and model in this project. Keep it read-only, test the real coding-tool lifecycle, and explain any BLOCKED result by owner.
Ferry reuses your host codex executable; it does not bundle Python or install
a second Codex CLI.
Use
After your custom provider works in Codex, ask Codex in natural language. There are no Ferry worker commands to learn.
Use Ferry with my configured DeepSeek provider for this bounded implementation.
Keep this Codex thread as lead and independently verify the resulting diff and tests.
Correct or stop live work in the same conversation:
Steer the Ferry worker: preserve the public API and limit the change to src/parser.py.
Interrupt the Ferry worker now.
The worker's report is delivery data. Codex checks the actual worktree and runs the real acceptance commands before accepting it.
Use a custom provider
Ferry does not configure models, endpoints, authentication, or credentials. The provider, model, and authentication must already work in Codex before Ferry uses them. Follow the official Codex custom-provider guide.
Ferry never silently substitutes the owner model when an explicitly requested provider is missing, misconfigured, or reports a different native identity.
Manage the integration
ferry status
Close every Codex session using Ferry before upgrading or uninstalling.
uv tool upgrade ferry-codex && ferry setup
ferry uninstall && uv tool uninstall ferry-codex
With the supported pipx alternative, use:
pipx upgrade ferry-codex && ferry setup
ferry uninstall && pipx uninstall ferry-codex
These commands manage only the Ferry package and Codex plugin integration. They do not delete Codex threads, provider configuration, credentials, or project files.
Support and security
Ferry's native-worker, OpenAI, DeepSeek, steer, interrupt, uv/pipx lifecycle, and Windows paths have versioned conformance evidence. See SUPPORT.md for the exact tested matrix.
Report security issues through SECURITY.md. Contributions are welcome after reading CONTRIBUTING.md.
License
Metadata
Release files for ferry-codex 0.1.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ferry_codex-0.1.6.tar.gz | 30.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ferry_codex-0.1.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 74.0 kB
Release files / ferry_codex-0.1.6.tar.gz
| Download URL | ferry_codex-0.1.6.tar.gz |
|---|---|
| Size | 30.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2914f9f4cf49a893172b508279f81edc222735602ce23fbe006634ff559bf12a
|
|
BLAKE2b-256 checksum How to use checksums |
fde838505c1d3268969ddcf39bfba3bc506846d1db4ca53d6abd02703352b1d2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.11
|
Release files / ferry_codex-0.1.6-py3-none-any.whl
| Download URL | ferry_codex-0.1.6-py3-none-any.whl |
|---|---|
| Size | 43.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3d1dd35ccc87556d0f7b4a58265ce37f63990284add7f1ed12c6580172195d32
|
|
BLAKE2b-256 checksum How to use checksums |
1f0576fbc9498bc95e004878bb854747cf5ef65ce6762872869bbba79778b463
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.11
|