Skip to main content

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_schema convention — a useful reference for skill authors.

What it does

  • search_the_web — "search for..." / "look up..." / "what is..." — runs a DuckDuckGo query via the ddgs package 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

huxley_skill_search-0.1.0.tar.gz (17.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

huxley_skill_search-0.1.0-py3-none-any.whl (14.1 kB view details)

Uploaded Python 3

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

Hashes for huxley_skill_search-0.1.0.tar.gz
Algorithm Hash digest
SHA256 b4d39545f3c6e3af9f6f27979a96ba1854db4a8114da171c92e6fcec6937cf11
MD5 9add1bd6da4b203aa698e5ddd07ccd88
BLAKE2b-256 8242a40179ec7adbfa5816a8907f519bd60478871e8ce6810242b1ae3a5115ef

See more details on using hashes here.

File details

Details for the file huxley_skill_search-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for huxley_skill_search-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a0141367c338b5bb211756787ef916a0047dddcb7da33beb5b21e66d80ba0b74
MD5 0ac6e34f6a43b2f39eb7a81ca8e46602
BLAKE2b-256 83b55f174def9bb06ea606f5f7c7de5021c40aa0481d3bc76298064b16561960

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page