NAME

knarr - Langertha LLM Proxy with Langfuse Tracing

VERSION

version 0.006

SYNOPSIS

knarr <command> [options]

knarr start                              # Start with ./knarr.yaml
knarr start -c production.yaml -p 9090   # Custom config and port
knarr container                          # Auto-start from environment (Docker mode)
knarr init > knarr.yaml                  # Generate config from environment
knarr init -e .env -e .env.local         # Scan .env files
knarr models                             # List configured models
knarr models --format json               # JSON output
knarr check                              # Validate config file

DESCRIPTION

knarr is the command-line interface for Langertha::Knarr, an LLM proxy that accepts requests in OpenAI, Anthropic, or Ollama format, routes them to any Langertha backend engine, and traces everything via Langfuse.

See Langertha::Knarr for full documentation including Docker usage, config file format, routing behaviour, and environment variable reference.

COMMANDS

start — Start the proxy server using a config file
container — Auto-start from environment variables, no config file needed (Docker mode)
init — Scan environment and .env files for API keys, print generated YAML config
models — List all configured and auto-discovered models
check — Validate the config file and report configuration status

GLOBAL OPTIONS

-c, --config path

Config file path. Defaults to ./knarr.yaml.

-v, --verbose

Enable verbose logging to stderr.

START OPTIONS

-p, --port port

Port to listen on. Overrides the listen setting in the config file.

-H, --host host

Host to bind to. Overrides the listen setting in the config file.

-w, --workers n

Number of worker processes. Defaults to 1.

-n, --trace-name name

Langfuse trace name. Overrides KNARR_TRACE_NAME and the config file.

CONTAINER OPTIONS

-H, --host host

Host to bind to. Defaults to 0.0.0.0 (all interfaces).

-w, --workers n

Number of worker processes. Defaults to 1.

-n, --trace-name name

Langfuse trace name.

INIT OPTIONS

-e, --env-file path

Additional .env file to scan. Repeatable. .env and .env.local in the current directory are scanned automatically.

-l, --listen addr

Listen address to include in generated config. Repeatable. Defaults to 127.0.0.1:8080 and 127.0.0.1:11434.

-o, --output path

Write generated config to a file instead of stdout.

MODELS OPTIONS

-f, --format format

Output format: table (default) or json.

SUPPORT

Issues

Please report bugs and feature requests on GitHub at https://github.com/Getty/langertha-knarr/issues.

CONTRIBUTING

Contributions are welcome! Please fork the repository and submit a pull request.

AUTHOR

Torsten Raudssus <torsten@raudssus.de> https://raudssus.de/

COPYRIGHT AND LICENSE

This software is copyright (c) 2026 by Torsten Raudssus.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.