Configuration
orangu uses an INI-style configuration file.
Interactive setup (--init)#
Run orangu --init (short form -i) to generate the configuration interactively:
orangu --init
The wizard:
- Asks for the LLM URL (the server
endpoint). - Queries the server's
/v1/modelsendpoint and pre-fills the first advertised model as the Model value; if no model is detected you enter one manually. - Walks every
[orangu]and server option, showing its default in[brackets]. Press Enter to keep the default. Boolean options acceptYes/Y/No/N(case-insensitive). - Reports which optional external tools it detects:
git lg,delta,bat,gh, andglab. - Shows the resulting configuration and asks for confirmation before writing to
~/.orangu/orangu.conf.
Only values that differ from their default are written, so the generated file stays minimal.
[orangu] section#
The main section selects the default server and sets client-wide limits:
[orangu]
server = main-server
model = ggml-org/gemma-4-E4B-it-GGUF
timeout = 1800
max_tool_rounds = 10
| Key | Required | Description |
|---|---|---|
server |
Yes, if multiple servers | Name of the default server section |
model |
No | General default model name. Overridden by the selected server's own model when set |
timeout |
No | Request timeout in seconds. Default: 1800 |
max_tool_rounds |
No | Maximum tool-calling turns before the client aborts the prompt |
quotes |
No | Quote set shown while the model is thinking. Default: none. Options: none, star_trek, star_wars, marco_pierre_white, gordon_ramsay, calvin_and_hobbes, sun_tzu_english, attila_the_hun, all |
width |
No | Virtual terminal width in characters. Controls canvas width for /show_file output. Default: 512 |
banner |
No | Horizontal placement of the header banner. Default: left. Options: left, center, right |
feedback |
No | Show a green or red dot after each command. Default: off. Options: on / off |
auto_rebase |
No | Automatically rebase before /pull_request if the branch is behind the base. Default: off |
auto_squash |
No | Automatically squash commits before /pull_request if more than one commit is ahead of the base. Default: off |
terminal |
No | Launch command used to open $EDITOR in a new window for /open_file. Example: xterm -e or kitty. Auto-detected when unset |
platform |
No | Code-hosting platform for /pull, /pull_request, /merge, and /comment. Default: github. Options: github, gitlab |
Server sections#
Each server is a named INI section. The section name is what [orangu].server points to:
[main-server]
provider = llama.cpp
endpoint = http://localhost:8100/v1
model = ggml-org/gemma-4-E4B-it-GGUF
| Key | Required | Description |
|---|---|---|
provider |
Yes | llama.cpp or openai |
endpoint |
Yes | OpenAI-compatible API URL. May be set with or without the /v1 path |
model |
No | Model identifier. Overrides [orangu].model when set |
api_key |
No | API key sent as Authorization: Bearer <key>. Required when the server runs with --api-key or for authenticated endpoints |
At least one of
[orangu].model or a server's own model must be set. Each server section must use a unique endpoint; http://x and http://x/v1 are treated as the same host.
- Use
/serverto switch between configured servers at runtime; Tab completion lists every server section - Set
feedback = onto show a green or red dot after each command
Sample file#
The distributed sample lives at:
doc/etc/orangu.conf
It ships with llama.cpp-style servers and a 30-minute timeout suitable for local tool-calling workloads. Copy and adjust to get started quickly.