Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Add web-search-plus skill (multi-provider web search + extraction, no MCP)#2725

Open
robbyczgw-cla wants to merge 1 commit into
nanocoai:main from
robbyczgw-cla:add-web-search-plus
Open

Add web-search-plus skill (multi-provider web search + extraction, no MCP) #2725
robbyczgw-cla wants to merge 1 commit into
nanocoai:main from
robbyczgw-cla:add-web-search-plus

Conversation

@robbyczgw-cla

@robbyczgw-cla robbyczgw-cla commented Jun 10, 2026
edited
Loading

Copy link
Copy Markdown
Contributor

What

Adds web-search-plus — a self-contained utility skill giving the container agent multi-provider web search + URL extraction via a wsp CLI. Search + extract only, no LLM synthesis, no MCP.

Engine vendored byte-identical from hermes-web-search-plus v2.4.0 — pure Python stdlib (no pip deps; HTTP via urllib). 13 providers with deterministic routing + fallback.

Why

The built-in WebSearch runs as a server-side LLM tool billed against the Agent-SDK credit pool. web-search-plus calls providers directly, so it runs outside that pool (self-hosted SearXNG is 0ドル), with provider control + higher-quality extraction. It coexists with WebSearch — it does not replace it.

Conformance to the skills model

Built to docs/skill-guidelines.md:

  • Utility skill, self-contained in .claude/skills/add-web-search-plus/; apply copies files in — no branch, no git merge.
  • One integration pointpython3 added to the container Dockerfile — guarded by a structural test (src/wsp-skill.test.ts, vitest). Negative-probe verified: red on unapplied tree, green on applied.
  • REMOVE.md reverses every change (copied files, Dockerfile edit, test).
  • Apply is idempotent (re-run safe). Present-tense steps, no VERIFY.md.
  • Apply copies no credential values into the container (no secret threading).

Verification (full /add cycle, real keys)

  • Apply → image build (python3 3.11.2) → REMOVE leaves git status clean → apply twice = idempotent. pnpm test 353/353, tsc clean.
  • Credentials, both paths E2E-verified:
    • Per-group .wsp.env (real key): real Serper key → wsp search in the built container → live results.
    • OneCLI gateway injection: a host-scoped vault secret (api.search.brave.com, header X-Subscription-Token) is injected by the gateway for an all-mode agent — verified with a real Brave search returning live results while the container sent no auth header.
  • Multi-provider + routing: serper, tavily, exa each return live results; --explain-routing decides + explains; explicit provider selection works.
  • Small-model robustness: the apply was performed by a small model from SKILL.md alone, with no ambiguity reported; all files landed correctly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

No reviews

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

1 participant

AltStyle によって変換されたページ (->オリジナル) /