Codewhale is an open-source terminal coding agent that reads your project, edits files, runs commands and checks its own work. It ships 40+ provider routes plus any OpenAI-compatible endpoint, with DeepSeek as its default model. It targets engineers running long, multi-step refactors and debugging tasks from the terminal.
base_url or *_BASE_URL setting./v1 for anything speaking the OpenAI wire (/v1/chat/completions).GET /v1/models.Skip it — one-line setup
The script installs Codewhale from its official source, writes the gateway settings into the
tool's own config file (backing up any existing one) and runs a live check. It asks for your gateway key, or
take it from --key / --key-file. --uninstall restores exactly what it wrote.
curl -fsSL https://quantoport.com/agents/codewhale/setup | bash
1 · Install
Install Codewhale from its own official source.
curl -fsSL https://codewhale.net/install.sh | sh # macOS/Linux; Windows: winget install HunterBown.CodeWhale; or npm install -g codewhale
2 · Configure — point it at QuantoPort
Gateway base URL https://quantoport.com; get your key from the console.
1) Create ~/.codewhale/config.toml (or point CODEWHALE_CONFIG_PATH / --config at one). 2) Select the built-in OpenAI-compatible provider and point it at our gateway: provider = "openai" default_text_model = "<model-id>" [providers.openai] api_key = "YOUR_API_KEY" base_url = "https://quantoport.com/v1" On the China endpoint use base_url https://api.shinlinkai.com/v1 (OpenAI wire only). 3) You can also store the key first: codewhale auth set --provider openai --api-key "YOUR_API_KEY", then edit [providers.openai].base_url. 4) Restart the model client to apply. Pick the model with /model; the TUI's /provider (or F3) also accepts a pasted Base URL + key.
3 · Verify
One request proves you are on our channel.
codewhale exec "reply with OK"
4 · Common pitfalls
- Put the endpoint under the [providers.openai] table, not the legacy top-level base_url, or the OpenAI-compatible route will not pick it up.
- If the gateway accepts
/chat/completionsbut rejects/v1/chat/completions, add path_suffix = "/chat/completions" under [providers.openai]. - Editing the base URL in
config.tomlrequires restarting the model client to take effect. - A non-localhost http:// gateway needs
DEEPSEEK_ALLOW_INSECURE_HTTP=1 at launch; https is unaffected.
Sources for the tool-side steps: github.com/codewhale-hq/Codewhale github.com/codewhale-hq/Codewhale/blob/main/docs/CONFIGURATI github.com/codewhale-hq/Codewhale/blob/main/docs/PROVIDERS.m github.com/codewhale-hq/Codewhale/blob/main/config.example.t