Open Websearch
by @aas-ee
Single entry skill for open-websearch setup and focused live retrieval, preferring local CLI/daemon paths while remaining compatible with workspace-exposed M...
clawhub install open-websearchπ About This Skill
name: open-websearch description: Single entry skill for open-websearch setup and focused live retrieval, preferring local CLI/daemon paths while remaining compatible with workspace-exposed MCP tools. version: 1.4.0 version_note: Prefer local CLI/daemon onboarding and retrieval when available, while preserving MCP-compatible setup, activation, and focused web research guidance. allowed-tools: - search - fetchWebContent - fetchGithubReadme
Open WebSearch
Use this as the single user-facing entry skill for open-websearch.
Assumption:
open-websearch CLI/daemon setup.open-websearch MCP tools such as search, fetchWebContent, and fetchGithubReadme is also a valid path and should continue to work.open-websearch capability in the current workspace, not as a broken skill.Entry behavior
1. First determine whether open-websearch is already usable through a local CLI/daemon path or through workspace-exposed MCP tools.
2. If either path is available, use the retrieval rules below and prefer the smallest working path.
3. If neither path is available, explain the missing capability, state the consequence, ask whether the user wants to continue with setup or enablement, and then follow the smallest matching setup path.
4. Keep the line clear between not configured, setup completed but not active in this runtime, and already searched; do not imply live retrieval happened when it did not.
5. Treat open-websearch --help as the primary CLI reference. When command names, daemon flags, spawn behavior, or action parameters are unclear, check --help before guessing.
Setup and activation workflow
When capability is missing, follow this order:
1. Detect the current state.
- First determine whether the user needs local CLI/daemon setup, local MCP configuration, HTTP connection setup, source/build reuse, or only validation/reconnection.
2. Choose the smallest matching path.
- Prefer the path that reuses what already exists instead of installing a second path.
3. Collect required inputs before doing work.
- Confirm the target path: local CLI/daemon, existing MCP, local source/build reuse, or existing HTTP endpoint.
- Confirm whether the environment needs npm proxy, npm mirror, or runtime proxy settings.
- Confirm whether there is already a reusable local command, checkout, daemon, endpoint, or client config.
- If browser-assisted mode may be needed, confirm whether Playwright, a browser binary, or a remote browser endpoint already exists.
4. Confirm risky actions before executing them.
- Ask before installing packages, downloading Playwright or browser binaries, editing MCP/client config, starting a long-lived daemon, or writing endpoint-related config.
5. Perform the chosen path only after the required inputs and confirmations are in place.
- local CLI/daemon mode when the runtime can launch open-websearch directly
- existing MCP mode when the workspace already exposes the tools and only needs validation or reconnection
- local source/build mode when the user already has a working local checkout
- existing HTTP endpoint mode when the user already has a reachable open-websearch server
6. Validate before claiming success.
- Do not silently skip validation, and do not treat package installation or config changes as success by themselves.
7. Report the final state explicitly.
- capability active
- setup completed but activation pending reload/reconnect
- setup incomplete or failed
8. Do not bring up Playwright or browser setup by default for ordinary search or page fetch; only escalate to browser-assisted guidance when the user explicitly wants Bing Playwright mode, browser fallback is expected, or the failure strongly suggests missing browser support.
9. When the goal is to start or validate the local daemon path, use explicit commands: open-websearch serve to start it and open-websearch status to check it. Do not treat bare open-websearch as the recommended daemon start command.
10. During setup, when package installation is required, ask about proxy or npm mirror needs before long-running install steps in restricted networks. If installation repeatedly hangs, times out, or fails on package download, treat that as an environment or network issue first, not as an open-websearch core failure.
11. If the next step after daemon startup is expected to perform live network actions such as search, fetch-web, or other public-page retrieval, ask about runtime proxy needs before starting open-websearch serve. If the goal is only minimal local validation such as serve followed by status, runtime proxy can wait until a real networked action is planned.
Default behavior
Decision rules
search.fetchWebContent on that result URL.fetchGithubReadme over generic page fetching.Engine selection
startpage for general English-language web search when it is available.bing as a secondary broad web engine when needed. If request-mode Bing is blocked, suggest SEARCH_MODE=auto.site:-restricted query, retry once without the site: prefix before concluding the target has no usable results.baidu, csdn, or juejin when the user clearly wants Chinese-language or China-hosted sources.Retrieval workflow
Apply the decision rules above in order: direct URL fetch first, focused search second, deep reading only when needed, and repository README retrieval before generic page fetching.
Critical safety rules
Reliability notes
open-websearch serve for daemon startup, open-websearch status for daemon checks, and one-shot commands such as open-websearch search ... or open-websearch fetch-web ... for direct actions.open-websearch --help first and follow the current help output rather than relying on memory.USE_PROXY and PROXY_URL.npm install, npm install -g, npx, or Playwright browser downloads, confirm proxy or mirror expectations before starting the install step in restricted networks.npm --proxy ... --https-proxy ... install ... for one-shot installs, or npm config set proxy, npm config set https-proxy, and npm config set registry before retrying.open-websearch serve and the networked search/fetch actions that follow it.FETCH_WEB_INSECURE_TLS only affects fetchWebContent, not the search engines.SEARCH_MODE currently matters for Bing only.browserType.launch, Executable doesn't exist, Playwright client is not available, or a missing Chromium executable, treat it first as missing browser dependency or browser configuration, not as a generic open-websearch core failure.MCP unavailable response
When capability is missing, respond in this order:
1. State that the missing capability is usable open-websearch access in the current workspace, either through local CLI/daemon or through MCP integration.
2. State what cannot be done yet: live web search, page fetch, and GitHub README retrieval through open-websearch.
3. State that the skill itself is still fine; the current workspace just is not exposing a usable open-websearch path yet.
4. Ask whether the user wants to continue with setup or enablement, because setup may involve installation, config changes, starting a local process, or reconnecting the current runtime.
5. If the user agrees, choose the smallest matching path: local CLI/daemon mode, existing MCP validation/reconnection, local source/build mode, existing HTTP endpoint mode, or validation/reconnection only.
6. If part of the request can still be completed without web access, do that part and label it clearly as non-live help.
7. State plainly that no live web retrieval was performed until the capability is active.
Validation and activation
open-websearch path and core tools.Read references/setup.md for setup paths, references/tools.md for tool behavior, and references/engine-selection.md for selection heuristics when needed.