Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 9 additions & 1 deletion docs/operations.md
Original file line number Diff line number Diff line change
Expand Up @@ -95,8 +95,9 @@ All of these can go in `.env` (auto-loaded) or your shell.
| `ANTHROPIC_API_KEY` | (none) | Set if not using subscription auth. |
| `OPENAI_API_KEY` | (none) | Same. |
| `EXXETA_KB_VAULTS` | (none) | Optional override/additional Markdown vault config for the knowledge tools. Primary persistent config is `~/.exxperts/app/kb-vaults.json`. |
| `EXXETA_SEARCH_PROVIDER` | (unset = built-in DuckDuckGo) | Web search provider: unset for the built-in DuckDuckGo backend, `searxng` for a local SearXNG, `disabled` to turn web search off. |
| `EXXETA_SEARCH_PROVIDER` | (unset = built-in DuckDuckGo) | Web search provider: unset for the built-in DuckDuckGo backend, `searxng` for a local SearXNG, `youcom` for You.com search, `disabled` to turn web search off. |
| `EXXETA_SEARCH_BASE_URL` | (none) | Required when `EXXETA_SEARCH_PROVIDER=searxng`, for example `http://127.0.0.1:8888`. Start a local instance with `./scripts/searxng start`. |
| `YOU_API_KEY` or `YDC_API_KEY` | (none) | Required when `EXXETA_SEARCH_PROVIDER=youcom`. Get your API key at [you.com/platform/api-keys](https://you.com/platform/api-keys). |
| `PORT` | `8787` | Web server port. |

## Local SearXNG
Expand All @@ -110,11 +111,18 @@ node scripts\searxng.mjs start # Windows (PowerShell or cmd)

The helper writes `~/.exxperts/app/web-search.json` if no web-search config exists yet. Equivalent `.env` overrides are:

**For SearXNG:**
```bash
EXXETA_SEARCH_PROVIDER=searxng
EXXETA_SEARCH_BASE_URL=http://127.0.0.1:8888
```

**For You.com:**
```bash
EXXETA_SEARCH_PROVIDER=youcom
YOU_API_KEY=your_api_key_here
```

The helper writes generated SearXNG settings to `~/.exxperts/app/searxng/settings.yml` with SearXNG JSON output enabled because `web_search` calls `/search?format=json`. Full reference: [`web-search.md`](web-search.md).

## Ports
Expand Down
32 changes: 31 additions & 1 deletion docs/web-search.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,9 @@ DuckDuckGo rate-limits automated queries, and on some networks it blocks
them outright; when that happens the room shows an honest error naming the
block. For heavy use, or on a network where DuckDuckGo blocks searches, a
**local SearXNG container** is the reliable path: it aggregates several
engines and is not subject to DuckDuckGo's limits. When SearXNG is configured it is always preferred;
engines and is not subject to DuckDuckGo's limits. **You.com** provides
enhanced web search with an optional API key for improved results and
higher quotas. When SearXNG is configured it is always preferred;
if it stops answering, searches fall back to the built-in DuckDuckGo backend
until it is back. Setting `EXXETA_SEARCH_PROVIDER=disabled` turns web search
off entirely.
Expand All @@ -16,6 +18,30 @@ search engine (DuckDuckGo directly, or the engines SearXNG aggregates), so
search terms do leave the machine; results and the rest of your data do not.
Avoid searching confidential client/internal content.

The following sections cover optional search provider setup. For SearXNG,
the standard way to turn it on is `exxperts setup search`; for You.com,
set the environment variables described below.

## Setup (optional You.com)

You.com provides enhanced web search with better result quality and higher
quotas compared to the default DuckDuckGo backend.

1. **Get an API key** (one-time): Visit [you.com/platform/api-keys](https://you.com/platform/api-keys)
to create a free account and generate your API key.
2. **Set environment variables** before starting exxperts:
```bash
export EXXETA_SEARCH_PROVIDER=youcom
export YOU_API_KEY=your_api_key_here
# OR alternatively:
# export YDC_API_KEY=your_api_key_here
```
3. **Start exxperts** as usual (`exxperts web`, `exxperts cli`, or the desktop app).

That's it: web search now uses You.com for all queries. You.com does not
require any additional setup like Docker containers, and provides consistent
results without rate limiting issues.

The rest of this page covers the optional SearXNG setup. The standard way to
turn it on, on any install type, is `exxperts setup search`; the setup below
walks through it, with the script-level detail for developers working from a
Expand Down Expand Up @@ -87,3 +113,7 @@ exists yet, plus generated SearXNG settings to
`~/.exxperts/app/searxng/settings.yml` (JSON output enabled, because
`web_search` calls `/search?format=json`). Environment variables override the
shared config; see [`operations.md`](operations.md) for `EXXETA_SEARCH_*`.

**You.com configuration:**
- `EXXETA_SEARCH_PROVIDER=youcom` - Enable You.com search provider
- `YOU_API_KEY` or `YDC_API_KEY` - Your You.com API key from [you.com/platform/api-keys](https://you.com/platform/api-keys)
75 changes: 1 addition & 74 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading