Skip to content

feat(lumo): add a --web-search flag to serve - #13

Merged
major0 merged 5 commits into
major0:mainfrom
vejeta:feat/lumo-web-search
Sep 23, 2026
Merged

major0 merged 5 commits into
major0:mainfrom
vejeta:feat/lumo-web-search

Conversation

@vejeta

@vejeta vejeta commented Sep 23, 2026

Copy link
Copy Markdown
Contributor

What

Add proton lumo serve --web-search (and the $LUMO_WEB_SEARCH env var) to
enable Lumo's native web search on the OpenAI-compatible server.

Why

The server never passed any tools to Generate, so a model reached through
/v1/chat/completions could only answer from its training data -- it could not
use Lumo's built-in web search. The client already supports it: the interactive
lumo chat gates lumo.ToolWebSearch behind a flag; only serve was missing
the wiring.

How

  • New --web-search flag (default off; default overridable via $LUMO_WEB_SEARCH).
  • chatHandler threads it into the streaming and non-streaming paths, which now
    request webSearchTools(webSearch) in GenerateOpts.Tools.
  • Off by default, so existing behaviour is unchanged.

Verified

  • go test ./internal/cli/lumo/ passes (added TestWebSearchTools).
  • Live: proton lumo serve --web-search then a /v1/chat/completions question
    needing fresh information returned a current, web-sourced answer.

Complements #12 (which restores generation on the retired endpoint); this only
affects which tools each generation requests.

The OpenAI-compatible server never enabled Lumo's native web search, so a
model served through it could only answer from its training data. The client
already supports it (the interactive chat gates lumo.ToolWebSearch behind a
flag); serve just did not pass any tools.

Add `proton lumo serve --web-search` (and $LUMO_WEB_SEARCH), which requests
lumo.ToolWebSearch for every generation. When set, answers can draw on
up-to-date web results; off by default, so behaviour is unchanged otherwise.
@major0
major0 merged commit 9a3b180 into major0:main Sep 23, 2026
9 of 10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants