From 16e4aa73f74e75eaae5cbde8b7db8f72f4f9266a Mon Sep 17 00:00:00 2001
From: tth37 <xgpsthd0902@outlook.com>
Date: Wed, 30 Apr 2025 01:13:31 +0800
Subject: [PATCH] Add tutorials for external web search

---
 docs/tutorials/web-search/external.md      | 132 +++++++++++++++++++++
 static/images/tutorial_external_search.png | Bin 0 -> 32697 bytes
 2 files changed, 132 insertions(+)
 create mode 100644 docs/tutorials/web-search/external.md
 create mode 100644 static/images/tutorial_external_search.png

diff --git a/docs/tutorials/web-search/external.md b/docs/tutorials/web-search/external.md
new file mode 100644
index 0000000..7d450c3
--- /dev/null
+++ b/docs/tutorials/web-search/external.md
@@ -0,0 +1,132 @@
+---
+sidebar_position: 17
+title: "External"
+---
+
+:::warning
+This tutorial is a community contribution and is not supported by the Open WebUI team. It serves only as a demonstration on how to customize Open WebUI for your specific use case. Want to contribute? Check out the contributing tutorial.
+:::
+
+## External Web Search API
+
+This option allows you to connect Open WebUI to your own self-hosted web search API endpoint. This is useful if you want to:
+
+*   Integrate a search engine not natively supported by Open WebUI.
+*   Implement custom search logic, filtering, or result processing.
+*   Use a private or internal search index.
+
+### Open WebUI Setup
+
+1.  Navigate to the Open WebUI `Admin Panel`.
+2.  Go to the `Settings` tab and then select `Web Search`.
+3.  Toggle `Enable Web Search` to the on position.
+4.  Set `Web Search Engine` from the dropdown menu to `external`.
+5.  Fill `External Search URL` with the full URL of your custom search API endpoint (e.g., `http://localhost:8000/search` or `https://my-search-api.example.com/api/search`).
+6.  Fill `External Search API Key` with the secret API key required to authenticate with your custom search endpoint. Leave blank if your endpoint doesn't require authentication (not recommended for public endpoints).
+7.  Click `Save`.
+
+![Open WebUI Admin panel showing External Search config](/images/tutorial_external_search.png)
+
+### API Specification
+
+Open WebUI will interact with your `External Search URL` as follows:
+
+*   **Method:** `POST`
+*   **Headers:**
+    *   `Content-Type: application/json`
+    *   `Authorization: Bearer <YOUR_EXTERNAL_SEARCH_API_KEY>`
+*   **Request Body (JSON):**
+    ```json
+    {
+      "query": "The user's search query string",
+      "count": 5 // The maximum number of search results requested
+    }
+    ```
+    *   `query` (string): The search term entered by the user.
+    *   `count` (integer): The suggested maximum number of results Open WebUI expects. Your API can return fewer results if necessary.
+
+*   **Expected Response Body (JSON):**
+    Your API endpoint *must* return a JSON array of search result objects. Each object should have the following structure:
+    ```json
+    [
+      {
+        "link": "URL of the search result",
+        "title": "Title of the search result page",
+        "snippet": "A brief description or snippet from the search result page"
+      },
+      {
+        "link": "...",
+        "title": "...",
+        "snippet": "..."
+      }
+      // ... potentially more results up to the requested count
+    ]
+    ```
+    *   `link` (string): The direct URL to the search result.
+    *   `title` (string): The title of the web page.
+    *   `snippet` (string): A descriptive text snippet from the page content relevant to the query.
+
+    If an error occurs or no results are found, your endpoint should ideally return an empty JSON array `[]`.
+
+### Example Implementation (Python/FastAPI)
+
+Here is a simple example of a self-hosted search API using Python with FastAPI and the `duckduckgo-search` library.
+
+```python
+import uvicorn
+from fastapi import FastAPI, Header, Body, HTTPException
+from pydantic import BaseModel
+from duckduckgo_search import DDGS
+
+EXPECTED_BEARER_TOKEN = "your_secret_token_here"
+
+app = FastAPI()
+
+
+class SearchRequest(BaseModel):
+    query: str
+    count: int
+
+
+class SearchResult(BaseModel):
+    link: str
+    title: str | None
+    snippet: str | None
+
+
+@app.post("/search")
+async def external_search(
+    search_request: SearchRequest = Body(...),
+    authorization: str | None = Header(None),
+):
+    expected_auth_header = f"Bearer {EXPECTED_BEARER_TOKEN}"
+    if authorization != expected_auth_header:
+        raise HTTPException(status_code=401, detail="Unauthorized")
+
+    query, count = search_request.query, search_request.count
+
+    results = []
+    try:
+        with DDGS() as ddgs:
+            search_results = ddgs.text(
+                query, safesearch="moderate", max_results=count, backend="lite"
+            )
+
+        results = [
+            SearchResult(
+                link=result["href"],
+                title=result.get("title"),
+                snippet=result.get("body"),
+            )
+            for result in search_results
+        ]
+
+    except Exception as e:
+        print(f"Error during DuckDuckGo search: {e}")
+
+    return results
+
+
+if __name__ == "__main__":
+    uvicorn.run("main:app", host="0.0.0.0", port=8888)
+```
\ No newline at end of file
diff --git a/static/images/tutorial_external_search.png b/static/images/tutorial_external_search.png
new file mode 100644
index 0000000000000000000000000000000000000000..e932b314db3b73d2462fe6c630d5cd49ef5a1bbf
GIT binary patch
literal 32697
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
a`*^%tk*nH$XRHQ)&9$|+Ic2qc+dlxW`?hre

literal 0
HcmV?d00001