Extension Tiers
Extensions are grouped into three tiers based on their role and configurability:Core
Bundled
/gsd extensions enable and /gsd extensions disable.Community
gsd install or /gsd extensions install.Bundled Extensions
These extensions ship with GSD Pi and are enabled by default. Toggle any of them with/gsd extensions enable <id> or /gsd extensions disable <id>.
browser-tools — Browser Automation
browser-tools — Browser Automation
browser_* tool surface that Pi uses to open pages, interact with UI elements, take screenshots, run visual diffs, and record sessions. Used during browser-based UAT, E2E flows, and visual verification.Engine selection. For browser-facing (web-app) projects, Pi prefers the managed GSD Browser engine when its CLI is available and the daemon connects at session start. If the connect probe fails or the CLI is missing, Pi falls back to legacy Playwright for that session and records the reason. Non-browser-facing projects stay on Playwright — browser tools are incidental there and the managed daemon’s startup cost isn’t worth it.The session-start connect probe has a 10-second budget. Falling back to Playwright preserves browser-based UAT instead of blocking the run; the engine actually registered is what later UAT guidance and re-warm-ups see.Overrides. Set these in your shell or your provider environment to force a specific engine or tune startup:browser-executable, live-runtime, mixed, or human-experience always run against whichever engine is registered for the session — the canonical browser_* contract is engine-stable, so prompts and policies don’t change with the engine. UAT specs that drive Playwright directly from a shell command should be declared runtime-executable so they record runtime evidence instead of browser evidence.External MCP clients. gsd-browser also ships as a standalone MCP server for external clients (Claude Desktop, Cursor, custom harnesses). Write the entry with /gsd mcp init. Setting GSD_BROWSER_MCP_ENABLED=0 only skips writing that external entry — it does not disable Pi’s own browser tools.async-jobs — Background Task Execution
async-jobs — Background Task Execution
bg-shell — Background Shell Processes
bg-shell — Background Shell Processes
search-the-web — Web Search Tools
search-the-web — Web Search Tools
/gsd config to use your own quota.subagent — Subagent Spawning
subagent — Subagent Spawning
voice — Voice Transcription
voice — Voice Transcription
visual-brief — Visual Context Capture
visual-brief — Visual Context Capture
context7 — Library Documentation Lookup
context7 — Library Documentation Lookup
CONTEXT7_API_KEY for higher rate limits.mac-tools — macOS Accessibility Automation
mac-tools — macOS Accessibility Automation
remote-questions — Remote Question Routing
remote-questions — Remote Question Routing
universal-config — AI Tool Config Discovery
universal-config — AI Tool Config Discovery
slash-commands — Extension and Command Scaffolding
slash-commands — Extension and Command Scaffolding
/gsd create-slash-command, /gsd create-extension, and /gsd audit. Useful when you want to extend Pi’s capabilities for your team.ttsr — Streaming Output Guardrails
ttsr — Streaming Output Guardrails
Managing Extensions
Inspect and control extensions from inside a GSD session:Installing Community Extensions
Install community extensions from npm using thegsd install command from your shell:
- Starts with
https://or ends with.git→ cloned from git - Contains
/or.and exists on disk → copied from local path - Otherwise → fetched from npm
~/.gsd/extensions/<id>/ and are available across all projects. Restart GSD after installation to activate a new extension.
Example: Installing a Community Provider Extension
pi-dashscope community extension, which adds Alibaba DashScope (ModelStudio) provider support with Qwen3, GLM-5, and other models — with proper OpenAI-compatible endpoint configuration and thinking mode support.
Building Your Own Extension
Extensions are npm packages that implement the GSD extension SDK. An extension can contribute:- Tools — new tools available to Pi during agent sessions
- Slash commands — new
/gsdcommands for the TUI - UI components — dashboard widgets and visualizer tabs
- Provider integrations — new LLM providers or model configurations
- Hooks — event handlers that fire on auto-mode events
