pi-simple-web

Strict separation-of-concerns web, GitHub, PDF, search, and YouTube tools for Pi

Packages

Package details

extension

Install pi-simple-web from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:pi-simple-web
Package
pi-simple-web
Version
0.1.0
Published
Jun 21, 2026
Downloads
148/mo · 11/wk
Author
tranhoangnguyen0310
License
MIT
Types
extension
Size
26.6 KB
Dependencies
4 dependencies · 3 peers
Pi manifest JSON
{
  "extensions": [
    "./index.ts"
  ]
}

Security note

Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.

README

pi-simple-web

Strict separation-of-concerns web tools for the Pi coding agent.

pi-simple-web replaces broad, ambiguous URL tools with narrow tools that each do one job and reject the wrong input with an actionable suggestion.

Tools

  • read_webpage - ordinary webpages/articles/docs only. Rejects GitHub, YouTube, PDFs, media, and direct search tasks.
  • read_github_repo - GitHub repository root/tree URLs only. Rejects GitHub file/blob/raw URLs.
  • read_github_file - GitHub blob/raw file URLs only. Rejects repo roots and trees.
  • read_pdf - direct remote PDF URLs only.
  • read_youtube_transcript - YouTube transcript/caption extraction only. Requires yt-dlp.
  • inspect_video_frames - one YouTube image frame at an explicit timestamp. Requires yt-dlp and ffmpeg.
  • search_web - plain-language web search query only. Rejects direct URLs.
  • get_web_content - retrieves cached full output using a contentId returned by another tool.
  • read_url - deprecated compatibility alias that intentionally errors to reduce ambiguity.

Install

pi install npm:pi-simple-web

For YouTube transcript and frame tools:

brew install yt-dlp ffmpeg

Design

The package enforces routing in code, not just in descriptions:

  • A GitHub URL passed to read_webpage is rejected with a suggestion to use read_github_repo or read_github_file.
  • A direct URL passed to search_web is rejected with a suggestion to use a reader.
  • A repo URL passed to read_github_file is rejected with a suggestion to use read_github_repo.
  • A PDF passed to read_webpage is rejected with a suggestion to use read_pdf.

This keeps the agent from accidentally switching modes because of optional parameters.

Publishing

npm pack --dry-run
npm publish --access public

License

MIT