FAQ
Do I have to use the AI?
Section titled “Do I have to use the AI?”No. Without an assistant: block the page loses nothing, and no model is called. See running with no AI.
Does anything leave my network?
Section titled “Does anything leave my network?”With no assistant, or a local one, these are what Valet itself fetches from outside, and only if you use them:
| What | From |
|---|---|
| App icons | jsDelivr, once, then cached in data/icons. Put your own file at data/icons/<name>.png or .svg to skip it. |
| Site icons on links | DuckDuckGo’s icon service, once each, unless you set icon on the link. |
| Weather | Open-Meteo, if you use weather. |
| Feeds and news | The sites you configure: rss, hackernews, reddit, markets and so on. |
| A custom font | Only if appearance.font.url is remote. A local file works offline. |
There’s no telemetry or analytics in the code. A hosted model sees your questions, and whatever its tools return.
Can the model see my API keys?
Section titled “Can the model see my API keys?”No. Tools run on the server, and the model gets their results. Every value a ${NAME} stood for is redacted from anything Valet sends out. See secrets.
What stops it from doing something stupid?
Section titled “What stops it from doing something stupid?”write and control tools wait for your approval each time, and the card shows what’s about to happen. A web page or document it read can make it ask, and nothing more. You can also set any integration to read or none. See approvals.
Why are there no buttons on my page?
Section titled “Why are there no buttons on my page?”With no sign-in, Valet is read-only. Turn on sign-in, or set auth.trustNetwork: true if only your VPN or a proxy reaches it. See sign-in.
Why did a card disappear?
Section titled “Why did a card disappear?”Media, photo and chart cards with nothing to show give up their slot. It comes back when there’s something to show. Your “Now playing” card is empty when nobody’s watching.
How much does it use?
Section titled “How much does it use?”About 65 MB of RAM. It’s one Node process, with no database. Heavy things, such as the assistant and the 3D models, load on first use.
How often does it call my services?
Section titled “How often does it call my services?”Each widget polls on its own interval, once for all open tabs, while a page is open. With nobody looking, history.background still takes one request per widget every 5 minutes, so graphs have no gaps. Turn that off with history: { background: false }.
Can several people use it?
Section titled “Can several people use it?”Yes, with local, proxy or oidc. Everyone signed in sees the same page and has the same rights: there are no roles. For a read-only kitchen tablet, read-only share links are on the roadmap.
Do you support my camera’s MJPEG stream?
Section titled “Do you support my camera’s MJPEG stream?”No. See what’s not supported. A snapshot URL works.
My service isn’t listed.
Section titled “My service isn’t listed.”api maps a JSON API to a card from YAML, http checks up or down, and service() is about ten lines. Before asking for a new one, try those.
An integration shows wrong numbers.
Section titled “An integration shows wrong numbers.”Every built-in passes its tests against a sample of its API, but a sample can’t prove your version still answers that way. Open an issue with the response it sent, and take your private data out of it first.
Can I change the words, or the language?
Section titled “Can I change the words, or the language?”Yes: labels covers what Valet writes itself, and format covers dates and numbers. What services and the assistant write stays theirs. The status sentence is built from English, so set hero.status: false on a page in another language.
Can I change how it looks?
Section titled “Can I change how it looks?”Yes: see appearance. Colours, fonts, corners, glass, density, wallpaper, and your own CSS come last.
Can the assistant edit my config?
Section titled “Can the assistant edit my config?”Only with access: { config: control }, and it shows you a diff and saves after you approve. It can’t touch auth, assistant, appearance, mcp, plugins or allowedHosts, and it won’t write a secret. Mount the config folder read-only and it hands you the diff instead.
Is there a demo?
Section titled “Is there a demo?”The screenshots on this site are from the demo in the repo’s demo/ folder: real Valet, a made-up homelab, and a scripted model. You can run it yourself with Docker. See demo/README.md.
It runs with sandbox: true: nothing is saved, and each visitor gets a private copy. See the recipe.
Licence?
Section titled “Licence?”MIT. See credits.