Summary
Make Thuki's agentic /search work out of the box, with no Docker stack for the user to run themselves.
Current state
/search depends on two local Docker services started from a repo clone:
- SearXNG meta-search engine (
sandbox/search-box/searxng/)
- Trafilatura reader (
sandbox/search-box/reader/)
Both run on 127.0.0.1 only. Until they are running (bun run search-box:start), /search stays disabled in chat. Every other Thuki feature works without them. See docs/agentic-search.md#setup.
This is a hard wall: it requires Docker Desktop, a repo clone, and a terminal, so /search is effectively unavailable to anyone using the packaged app.
Goal
/search works after a normal app install, with nothing for the user to set up.
Possible approaches (open)
- Bundle the search + reader services as native sidecars supervised by Thuki, the way the llama.cpp engine sidecar already is.
- Ship pre-built container images / a managed runtime with the app instead of a repo-clone Compose stack.
- A Rust-native reader (Trafilatura-equivalent extraction) plus an embedded or bundled meta-search path, to drop the container dependency entirely.
Approach is undecided; this issue tracks the work and the decision.
Constraints
- Must preserve the local-first, private posture: all queries and fetched pages stay on
127.0.0.1, no third-party search API, no phone-home.
- Should not bloat the base download for users who never use
/search (consider lazy/optional install).
References
docs/agentic-search.md (pipeline + setup)
sandbox/search-box/ (the interim Docker stack)
Summary
Make Thuki's agentic
/searchwork out of the box, with no Docker stack for the user to run themselves.Current state
/searchdepends on two local Docker services started from a repo clone:sandbox/search-box/searxng/)sandbox/search-box/reader/)Both run on
127.0.0.1only. Until they are running (bun run search-box:start),/searchstays disabled in chat. Every other Thuki feature works without them. See docs/agentic-search.md#setup.This is a hard wall: it requires Docker Desktop, a repo clone, and a terminal, so
/searchis effectively unavailable to anyone using the packaged app.Goal
/searchworks after a normal app install, with nothing for the user to set up.Possible approaches (open)
Approach is undecided; this issue tracks the work and the decision.
Constraints
127.0.0.1, no third-party search API, no phone-home./search(consider lazy/optional install).References
docs/agentic-search.md(pipeline + setup)sandbox/search-box/(the interim Docker stack)