spora-ai / spora-plugin-serper
Serper.dev Google search results for Spora agents.
Package info
github.com/spora-ai/spora-plugin-serper
Type:spora-plugin
pkg:composer/spora-ai/spora-plugin-serper
Requires
- php: ^8.4.1
- spora-ai/spora-core: >=0.30.0 <2.0.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.94
- mockery/mockery: ^1.6
- pestphp/pest: ^5.0
- phpstan/phpstan: ^2.1
- phpstan/phpstan-mockery: ^2.0
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
Spora plugin: serper. The full reference (install, configuration, per-tool parameters, development) has moved to the docs site:
docs.spora-ai.com/develop/plugins/reference/serper
See the docs site for the canonical reference. The README previously in this repo has been migrated there.
Translations
This plugin ships a German catalogue at locales/de.json,
declared through translationsPaths() in src/SerperPlugin.php. The host
merges it under core's own catalogue, so a German install reads the plugin's
operator copy in German.
The key is the English source string, byte for byte — editing the English
in the source changes the key, so the old entry stops matching and the new
English has no entry. The gate is this repository's own
tests/Unit/LocaleCatalogTest.php: it fails on an empty translation, on a
translation identical to its key, and on a key the source no longer produces.
Translated
- the tool's display name —
Serper Search - the
api_keysetting description - the
plugin.jsondescription
The http_timeout setting's description is core's own string: core's
catalogue already translates it, and core wins a key collision, so this
plugin does not repeat it.
Never translated — these strings are read by the model, so the operator sees exactly what the model sees:
#[Tool].description#[ToolOperation].description#[ToolParameter].description- every
#[ToolSetting].labeland its option labels
The approval prompt describeAction() returns stays English: it interpolates
the query itself, so the rendered sentence matches no catalogue template.
See the plugin author guide → Translations.