{"id":47634269,"url":"https://github.com/vindulaintranet/pi-extension-search","last_synced_at":"2026-04-02T00:00:22.119Z","repository":{"id":346223729,"uuid":"1188983805","full_name":"vindulaintranet/pi-extension-search","owner":"vindulaintranet","description":"Pi package with Exa and Brave web search tools","archived":false,"fork":false,"pushed_at":"2026-03-22T21:16:29.000Z","size":56,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-23T14:10:02.208Z","etag":null,"topics":["brave-search","exa","pi-extension","pi-package","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":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vindulaintranet.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","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-03-22T20:56:53.000Z","updated_at":"2026-03-22T23:51:20.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/vindulaintranet/pi-extension-search","commit_stats":null,"previous_names":["vindulaintranet/pi-extension-search"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/vindulaintranet/pi-extension-search","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vindulaintranet%2Fpi-extension-search","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vindulaintranet%2Fpi-extension-search/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vindulaintranet%2Fpi-extension-search/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vindulaintranet%2Fpi-extension-search/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vindulaintranet","download_url":"https://codeload.github.com/vindulaintranet/pi-extension-search/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vindulaintranet%2Fpi-extension-search/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31293139,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-01T21:15:39.731Z","status":"ssl_error","status_checked_at":"2026-04-01T21:15:34.046Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["brave-search","exa","pi-extension","pi-package","search"],"created_at":"2026-04-02T00:00:19.114Z","updated_at":"2026-04-02T00:00:22.095Z","avatar_url":"https://github.com/vindulaintranet.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# pi-extension-search\n\n[![CI](https://github.com/vindulaintranet/pi-extension-search/actions/workflows/ci.yml/badge.svg)](https://github.com/vindulaintranet/pi-extension-search/actions/workflows/ci.yml)\n[![Release](https://img.shields.io/github/v/release/vindulaintranet/pi-extension-search)](https://github.com/vindulaintranet/pi-extension-search/releases)\n\nA public-ready [Pi](https://github.com/badlogic/pi-mono) package that adds two web search tools:\n\n- `exa_search`\n- `brave_search`\n\nCreated by [Fabio Rizzo Matos](https://github.com/fabiorizzomatos) · contact: `fabiorizzo@vindula.com.br`\n\n## What it does\n\nThis package registers search tools for Pi so the agent can fetch current web results directly from:\n\n- [Exa](https://exa.ai/)\n- [Brave Search](https://brave.com/search/api/)\n\nIt also supports loading API keys from Pi settings, not only from shell environment variables.\n\n## Install\n\n### From GitHub\n\n```bash\npi install git:github.com/vindulaintranet/pi-extension-search\n```\n\n### Pin to a release tag\n\n```bash\npi install git:github.com/vindulaintranet/pi-extension-search@v0.1.0\n```\n\n### From a local path\n\n```bash\npi install /absolute/path/to/pi-extension-search\n```\n\nAfter installing, restart Pi or run:\n\n```text\n/reload\n```\n\n## Tools\n\n### `exa_search`\n\nSearch the web with Exa.\n\nParameters:\n- `query`\n- `numResults`\n- `searchType`\n- `includeDomains`\n- `excludeDomains`\n- `useAutoprompt`\n\n### `brave_search`\n\nSearch the web with Brave Search.\n\nParameters:\n- `query`\n- `count`\n- `searchLang`\n- `country`\n- `safeSearch`\n\n## API keys\n\nYou can provide keys in either way below.\n\n### Option 1: shell environment\n\n```bash\nexport EXA_API_KEY=your_exa_key\nexport BRAVE_API_KEY=your_brave_key\n```\n\n### Option 2: Pi settings.json\n\nProject-local file: `\u003cproject\u003e/.pi/settings.json`\n\n```json\n{\n  \"env\": {\n    \"EXA_API_KEY\": \"your_exa_key\",\n    \"BRAVE_API_KEY\": \"your_brave_key\"\n  }\n}\n```\n\nGlobal file: `~/.pi/agent/settings.json`\n\n```json\n{\n  \"env\": {\n    \"EXA_API_KEY\": \"your_exa_key\",\n    \"BRAVE_API_KEY\": \"your_brave_key\"\n  }\n}\n```\n\nThe extension checks the current shell first, then project Pi settings, then global Pi settings.\n\n## Quality checks\n\nRun everything locally with:\n\n```bash\nnpm install\nnpm run validate\n```\n\nThis runs:\n- unit tests for the core search helpers\n- bundle validation for the Pi extension entrypoint\n- `npm pack --dry-run` to validate package contents\n\n## Contributions\n\nIf you want to contribute:\n\n1. fork the repository\n2. create a branch\n3. run `npm run validate`\n4. open a pull request\n\nSee:\n- [CONTRIBUTING.md](./CONTRIBUTING.md)\n- [RELEASING.md](./RELEASING.md)\n\n## How updates reach Pi users\n\n### Users installed from the default branch\n\n```bash\npi install git:github.com/vindulaintranet/pi-extension-search\n```\n\nThey can later run:\n\n```bash\npi update\n```\n\nand Pi will pull the latest package state from the default branch.\n\n### Users installed from a pinned tag\n\n```bash\npi install git:github.com/vindulaintranet/pi-extension-search@v0.1.0\n```\n\nPinned installs do not move automatically on `pi update`. They stay on that exact ref until the user upgrades intentionally.\n\n## Package manifest\n\nThis repository is a Pi package via `package.json`:\n\n```json\n{\n  \"keywords\": [\"pi-package\"],\n  \"pi\": {\n    \"extensions\": [\"./search.ts\"]\n  }\n}\n```\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvindulaintranet%2Fpi-extension-search","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvindulaintranet%2Fpi-extension-search","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvindulaintranet%2Fpi-extension-search/lists"}