2 Commits

Author SHA1 Message Date
mi222eh 5f35f56edc Refactor code structure for improved readability and maintainability 2026-07-06 21:37:20 +02:00
mi222eh 6ca6a5687a Initial commit 2026-07-02 19:03:58 +02:00
3 changed files with 22 additions and 56 deletions
-55
View File
@@ -1,55 +0,0 @@
# Web Search Skill
## Purpose
Enable the agent to search the web using a self-hosted SearXNG instance for privacy-respecting searches.
## Configuration
- SearXNG Instance: `https://searxng.meeks.freeddns.org`
- API Endpoint: `/search`
- Supported Formats: `json`, `csv`, `rss`
## Usage
### Search the Web
When you need to look up information, find recent developments, or verify facts:
```
search_web(query="what is the latest version of Python", limit=10, language="en")
```
### Parameters
- `query` (required): The search query string
- `limit` (optional): Number of results to return (default: 10, max: 100)
- `language` (optional): Language code (e.g., "en", "sv", "de")
- `time_range` (optional): Time filter - "day", "month", or "year"
- `categories` (optional): Search category - "general", "images", "news", "videos", "science", "it", "music", "files", "map", "realtime"
### Example Queries
- `search_web(query="uv python package manager tutorial")`
- `search_web(query="searxng API documentation", time_range="month")`
- `search_web(query="gitea vs github", categories="general")`
## Implementation Details
The skill uses the SearXNG JSON API:
```
GET https://searxng.meeks.freeddns.org/search?q={query}&format=json&limit={limit}&language={language}
```
### Error Handling
- If the SearXNG instance is unreachable, log the error and try alternative search methods
- If the response format is invalid, parse what's available and report the issue
- If rate limited, wait and retry with exponential backoff
## When to Use
- Researching technical issues or solutions
- Looking up recent software updates or versions
- Finding documentation or tutorials
- Verifying facts or current information
- Investigating error messages or stack traces
- Finding similar projects or libraries
## When NOT to Use
- When you already have the information locally
- For simple factual questions that don't require current data
- When the user explicitly asks not to search the web
+21
View File
@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2026 mi222eh
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
+1 -1
View File
@@ -11,7 +11,7 @@ class AgentSettings(BaseSettings):
gitea_url: str = "" gitea_url: str = ""
gitea_token: str = "" gitea_token: str = ""
gitea_repos_root: str = "" gitea_repos_root: str = ""
agent_model_id: str = "google/gemma-4-26b-a4b" agent_model_id: str = "qwen/qwen3.6-35b-a3b"
agent_max_retries: int = 2 agent_max_retries: int = 2
searxng_url: str = "" searxng_url: str = ""
searxng_username: str = "" searxng_username: str = ""