Web search for Huxley via DuckDuckGo — free, no API key, in-memory cache, circuit-breaker.
Project description
huxley-skill-search
Web search for Huxley via DuckDuckGo. Free, no API key, in-memory cache, circuit-breaker.
Status: bundled with the Huxley repo as a workspace member. The first first-party skill to adopt T1.14's
config_schemaconvention — a useful reference for skill authors.
What it does
search_the_web— "search for..." / "look up..." / "what is..." — runs a DuckDuckGo query via theddgspackage and returns the top hits as structured JSON for the LLM to narrate.
In-memory TTL cache for repeated identical queries within a session. Consecutive-failure circuit breaker: opens for ~60s on N back-to-back failures so a DDG outage doesn't make every query hang for 4s.
Configure
skills:
search:
safesearch: "moderate" # off | moderate | strict
sounds_path: "sounds"
start_sound: search_start # opt-in chime
This skill is the canonical example of config_schema declared:
config_schema = {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"safesearch": {
"type": "string",
"enum": ["off", "moderate", "strict"],
"default": "moderate",
"title": "Safe search",
"x-huxley:help": "How aggressively to filter explicit results...",
}
},
}
v2's PWA Skills panel will render that into a single dropdown with help text. The other config fields (start_sound, sounds_path) are persona-author / framework-shared plumbing and stay un-schemaed.
Requirements
- Network access to
duckduckgo.com. - No API key.
Development
uv run --package huxley-skill-search pytest server/skills/search/tests
uv run ruff check server/skills/search
uv run mypy server/skills/search/src
License
MIT — see LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file huxley_skill_search-0.1.0.tar.gz.
File metadata
- Download URL: huxley_skill_search-0.1.0.tar.gz
- Upload date:
- Size: 17.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b4d39545f3c6e3af9f6f27979a96ba1854db4a8114da171c92e6fcec6937cf11
|
|
| MD5 |
9add1bd6da4b203aa698e5ddd07ccd88
|
|
| BLAKE2b-256 |
8242a40179ec7adbfa5816a8907f519bd60478871e8ce6810242b1ae3a5115ef
|
File details
Details for the file huxley_skill_search-0.1.0-py3-none-any.whl.
File metadata
- Download URL: huxley_skill_search-0.1.0-py3-none-any.whl
- Upload date:
- Size: 14.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a0141367c338b5bb211756787ef916a0047dddcb7da33beb5b21e66d80ba0b74
|
|
| MD5 |
0ac6e34f6a43b2f39eb7a81ca8e46602
|
|
| BLAKE2b-256 |
83b55f174def9bb06ea606f5f7c7de5021c40aa0481d3bc76298064b16561960
|