code-yeongyu

Pi Websearch — Development skill for Claude Code

Development community

Provider-backed web search tool for pi-coding-agent with config-gated activation, TUI status, and source-aware results.

How to install Pi Websearch

This entry records only its repository, not the path inside it, so there is no exact command to give. Open code-yeongyu/pi-websearch and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Pi Websearch does

Provider-backed web search tool for pi-coding-agent with config-gated activation, TUI status, and source-aware results.

Alternatives in Development

  • Notebooklm Skill — Use this skill to enable Claude Code to communicate directly with your Google NotebookLM notebooks 5.9k ★
  • Agent Of Empires — Manage multiple Claude Code, OpenCode agents from either TUI or Web for easy access on mobile 3.1k ★
  • Coding Agent Session Search — Unified TUI and CLI to index and search your local coding agent session history across 11+ providers (Codex, C 708 ★

README

pi-websearch

Provider-backed `web_search` tool for pi. It starts with zero configuration: OpenAI and Anthropic sessions defer silently to senpi's built-in provider-native web search, while other providers use the built-in DuckDuckGo HTML backend unless a config file overrides it.

Tool Schema

The public tool schema matches free-code:

{
	"query": "The search query to use",
	"allowed_domains": ["example.com"],
	"blocked_domains": ["spam.example.com"]
}

Only `query` is required. `allowed_domains` and `blocked_domains` are mutually exclusive for a single tool call. Result limits are configured per provider, not exposed in the tool schema.

Configuration

The loader checks these files in order:

  1. .pi/websearch.json in the current project
  2. ~/websearch.json
  3. ~/.pi/websearch.json

No config file is required for the default backend. For non-native providers, pi-websearch uses DuckDuckGo's HTML endpoint (`https://html.duckduckgo.com/html/`) because it is free and does not require an API key. Create a config file only when you want a different backend or routing policy.

Example override:

{
	"backend": "perplexity",
	"apiKey": "pplx-...",
	"maxResults": 8,
	"allowedDomains": ["docs.example.com"]
}

Legacy configs that use `"provider"` instead of `"backend"` continue to work.

Multiple provider entries enable fallback and routing:

{
	"strategy": "priority",
	"fallback": true,
	"auto": true,
	"providers": [
		{
			"id": "brave-search",
			"provider": "brave",
			"apiKey": "",
			"priority": 10,
			"maxResults": 8
		},
		{
			"id": "exa-search",
			"provider": "exa",
			"apiKey": "",
			"priority": 10,
			"maxResults": 8
		}
	]
}

Native auto-route

If the active model provider is `openai` or `anthropic`, pi-websearch registers no startup warning and defers to senpi's built-in `openai-web-search` or `anthropic-web-search` extension. Those built-ins wire the provider-native tool direc