Skip to content

code-yeongyu/pi-google-google-search

Repository files navigation

pi-google-google-search

ci license: MIT

Google native search extension for the pi coding agent.

This package is the standalone extraction of senpi's former builtin google-google-search extension.

Behavior

The extension does not register a new tool. It intercepts Google provider requests before they are sent and ensures a native googleSearch tool is present for google-generative-ai / google-vertex payloads when Google search is enabled (default-on).

Case Result
API is google-generative-ai or google-vertex, PI_GOOGLE_GOOGLE_SEARCH is unset/empty/truthy, and no Tool object has a googleSearch key injects a new Tool entry { googleSearch: {} }
Existing Tool object already has googleSearch key (any value) preserves caller payload without duplication or overwrite
Existing Tool object has only functionDeclarations keeps that object and adds separate { googleSearch: {} } entry
PI_GOOGLE_GOOGLE_SEARCH is falsy (0, false, no, off) no-op
API is non-Google no-op

Truthy values for PI_GOOGLE_GOOGLE_SEARCH are: 1, true, yes, on (case-insensitive, surrounding whitespace allowed). Unknown values fall back to enabled to preserve default-on behavior.

It also appends a system-prompt section for Google sessions indicating native google_search availability when enabled.

Installation

The package targets the pi coding agent. Pi loads extensions from ~/.pi/agent/extensions/, project .pi/extensions/, or via the --extension / -e CLI flag.

# From npm (once published)
pi install npm:pi-google-google-search

# From git
pi install git:github.com/code-yeongyu/pi-google-google-search

# Manual placement
git clone https://github.com/code-yeongyu/pi-google-google-search ~/.pi/agent/extensions/pi-google-google-search
cd ~/.pi/agent/extensions/pi-google-google-search && npm install

# Dev / one-shot test
pi -e /path/to/pi-google-google-search/src/index.ts

After installation, restart pi or run /reload inside an interactive session.

Development

npm install
npm test
npm run typecheck
npm run check
pi -e ./src/index.ts

The test suite uses vitest. TypeScript is strict, Node-only, and uses ESM imports with .js suffixes.

Origin

Ported from packages/coding-agent/src/core/extensions/builtin/google-google-search/index.ts in the senpi-mono fork of pi-mono.

Related

  • senpi — the fork/runtime these extensions are extracted from.
  • Ultraworkers Discord — community link from the senpi README.
  • Dori — the product powered by senpi under the hood.

About

Google native search policy extension for the pi coding agent. Ensures native googleSearch tools are present on Google API payloads by default and appends Google Search guidance to the system prompt.

Topics

Resources

License

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors