{"id":50578545,"url":"https://github.com/demigodmode/pi-web-agent","last_synced_at":"2026-06-05T00:02:57.128Z","repository":{"id":353164690,"uuid":"1210930959","full_name":"demigodmode/pi-web-agent","owner":"demigodmode","description":"Reliable web tools for Pi: search for sources, fetch over HTTP, and use headless browsing only when explicitly requested.","archived":false,"fork":false,"pushed_at":"2026-05-25T22:24:31.000Z","size":581,"stargazers_count":21,"open_issues_count":7,"forks_count":2,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-26T00:28:52.610Z","etag":null,"topics":["coding-agent","pi","typescript","web-fetch","web-search"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/demigodmode.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-14T22:46:57.000Z","updated_at":"2026-05-25T23:44:49.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/demigodmode/pi-web-agent","commit_stats":null,"previous_names":["demigodmode/pi-web-agent"],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/demigodmode/pi-web-agent","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/demigodmode%2Fpi-web-agent","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/demigodmode%2Fpi-web-agent/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/demigodmode%2Fpi-web-agent/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/demigodmode%2Fpi-web-agent/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/demigodmode","download_url":"https://codeload.github.com/demigodmode/pi-web-agent/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/demigodmode%2Fpi-web-agent/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33924837,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-04T02:00:06.755Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["coding-agent","pi","typescript","web-fetch","web-search"],"created_at":"2026-06-05T00:02:56.426Z","updated_at":"2026-06-05T00:02:57.121Z","avatar_url":"https://github.com/demigodmode.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# pi-web-agent\n\n[![CI](https://github.com/demigodmode/pi-web-agent/actions/workflows/ci.yml/badge.svg)](https://github.com/demigodmode/pi-web-agent/actions/workflows/ci.yml)\n[![npm version](https://img.shields.io/npm/v/@demigodmode/pi-web-agent)](https://www.npmjs.com/package/@demigodmode/pi-web-agent)\n[![Docs](https://img.shields.io/badge/docs-github%20pages-blue)](https://demigodmode.github.io/pi-web-agent/)\n\n`@demigodmode/pi-web-agent` is a Pi package for web access.\n\nMost agent web tools blur search, fetch, browser rendering, and research into one vague thing. `pi-web-agent` exposes one public research tool, `web_explore`, and keeps search/fetch/headless work inside that bounded workflow.\n\nThe point is keeping the model-facing boundary simple: ask `web_explore` to research a question, and it handles direct links, discovery, HTTP reads, targeted browser rendering, source ranking, and caveats internally.\n\nThat sounds obvious, but a lot of agent tooling gets fuzzy right there. This package is meant to be stricter about what it actually did and more willing to say when a read was not good enough to trust.\n\n## Install\n\nCompatibility notice: current `pi-web-agent` requires Pi 0.74+ because Pi packages moved to the `@earendil-works/*` scope. Update Pi before updating this package. If you are on an older Pi version, stay on `@demigodmode/pi-web-agent@0.6.x` until Pi is updated.\n\n```bash\npi install npm:@demigodmode/pi-web-agent\n```\n\nAfter installing, reload or restart Pi. Run `/web-agent` for the action menu, or `/web-agent doctor` to check whether the package loaded cleanly and which web backends are configured.\n\nHeadless rendering first tries a detectable Chromium-family browser: Chrome, Chromium, Edge, or Brave. If none is found, it falls back to Playwright-managed Chromium and still launches headless. Firefox/Safari-only systems can still use search and plain HTTP reads; browser-rendered fallback uses Chromium.\n\nLater on, update installed packages with:\n\n```bash\npi update\n```\n\n## Docs\n\nDocs site:\n\n- https://demigodmode.github.io/pi-web-agent/\n\nWork on the docs locally:\n\n```bash\nnpm run docs:dev\n```\n\nBuild the docs:\n\n```bash\nnpm run docs:build\n```\n\n## Presentation modes\n\n`pi-web-agent` renders web tool output in one visible mode at a time:\n\n- `compact` — short summary, default everywhere\n- `preview` — slightly richer bounded view\n- `verbose` — fuller bounded view\n\nSee the `v0.3.0` release notes for a before/after of the transcript cleanup:\n\n- https://github.com/demigodmode/pi-web-agent/releases/tag/v0.3.0\n\n## Settings\n\nPrimary UI:\n\n```text\n/web-agent settings\n```\n\nHelper commands:\n\n```text\n/web-agent doctor\n/web-agent show\n/web-agent changelog\n/web-agent reset project\n/web-agent reset global\n/web-agent mode preview\n/web-agent mode web_explore verbose\n/web-agent mode web_explore inherit\n```\n\nConfig files:\n\n```text\nGlobal:  ~/.pi/agent/extensions/pi-web-agent/config.json\nProject: .pi/extensions/pi-web-agent/config.json\n```\n\nPrecedence:\n\n- built-in defaults\n- global config\n- project config\n\nProject config overrides global config.\n\nExample:\n\n```json\n{\n  \"presentation\": {\n    \"defaultMode\": \"compact\",\n    \"tools\": {\n      \"web_explore\": { \"mode\": \"verbose\" }\n    }\n  }\n}\n```\n\nBackend config is also supported. Defaults remain DuckDuckGo search, plain HTTP fetch, and local-browser headless fallback with managed Chromium fallback configured.\n\nBackend settings can be changed from:\n\n```text\n/web-agent settings\n```\n\nChoose **Backends** to edit search/fetch providers, fallback behavior, and SearXNG or Firecrawl base URLs interactively. Firecrawl API keys should stay in environment variables rather than being written into config files.\n\nIf you already run SearXNG or Firecrawl, see the self-hosted backend guide:\n\n- https://demigodmode.github.io/pi-web-agent/self-hosted-backends\n\n## Local development\n\n```bash\nnpm install\nnpm test\nnpm run lint\nnpm run build\n```\n\nFor local Pi work, this repo includes `.pi/extensions/pi-web-agent.ts`.\n\nIf Pi is already running, use `/reload` after changes.\n\n## License\n\nAGPL-3.0-only. See `LICENSE`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdemigodmode%2Fpi-web-agent","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdemigodmode%2Fpi-web-agent","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdemigodmode%2Fpi-web-agent/lists"}