Changelog v0.6.0
This version adds experimental support for choosing model tiers and thinking mode from Lumo v2.
All credits to @tibr for implementing #72 and thanks @denics for testing!
Lumo v2.0: model tiers + thinking mode
lumo-tamer now talks to Proton's current ai/v1/chat/completions endpoint instead of the legacy ai/v1/chat endpoint. End-to-end U2L encryption is preserved.
Model tiers
Select a model tier via the model field:
| Model | Description |
|---|---|
lumo |
Default, Proton auto-selects the tier |
lumo-lite |
Faster, lighter model |
lumo-max |
More capable model |
All three are listed on /v1/models. Unknown model names return HTTP 400.
Thinking mode
Enable reasoning via reasoning_effort (Chat Completions) or reasoning.effort (Responses API):
| Value | Effect |
|---|---|
high / medium / low |
Enables thinking (Lumo has binary on/off; all three are equivalent) |
none |
Disables thinking (lumo-tamer extension, not in the OpenAI spec) |
Reasoning tokens are consumed silently by default. Set reasoning.surfaceThinking: true in config.yaml to expose them to clients as reasoning_content in streaming deltas (Deepseek-style convention, supported by Cursor, Open WebUI, etc.).
New config options
All optional, defaults shown:
defaultModelTier: "auto" # auto | lumo-lite | lumo-max
allowedModels: # restrict which models clients may request
- lumo
- lumo-lite
- lumo-max
reasoning:
default: "none" # default effort when client doesn't specify
surfaceThinking: false # stream reasoning_content to clients