Skip to content

peterp/pi-sidequest

Repository files navigation

Sidequest

Sidequest gives Pi a side channel: ask context-aware questions without pulling the main conversation off track.

Think of it as a better /btw: grounded in the active Pi session, threaded, persistent, and tool-capable.

Demo

Sidequest demo

Download the MP4 demo

Install

From npm:

pi install npm:pi-sidequest

From GitHub:

pi install git:github.com/peterp/pi-sidequest

For local development:

pi -e /absolute/path/to/pi-sidequest

Or link src/ as an auto-discovered extension directory:

ln -s /absolute/path/to/pi-sidequest/src ~/.pi/agent/extensions/sidequest

Use

Open Sidequest inside Pi:

/sidequest

Default quake console keys:

§
~

Sidequest has two focus areas:

  • selection: choose root or a thread
  • prompt: type and ask the next question

Press Tab to move between them. The inactive area shows [tab] in its border.

Configure the Quake key

Use an env var:

PI_SIDEQUEST_QUAKE_KEY='`'

or a config file:

// ~/.pi/agent/sidequest.json
{
  "quakeKey": "`"
}

Multiple keys are supported:

PI_SIDEQUEST_QUAKE_KEYS='§,~,alt+s'
{
  "quakeKeys": ["§", "~", "alt+s"]
}

Tools

Sidequest runs its own isolated, tool-capable Pi worker. By default it enables:

read, grep, find, ls, sidequest_web_search, sidequest_web_fetch

Override the allowlist:

PI_SIDEQUEST_TOOLS='read,grep,find,ls,sidequest_web_search,sidequest_web_fetch'

sidequest_web_search uses Brave Search when BRAVE_SEARCH_API_KEY is set. Otherwise it falls back to DuckDuckGo HTML search. sidequest_web_fetch fetches public HTTP(S) pages and extracts readable text.

Release

Releases use Changesets and npm trusted publishing. See RELEASE.md for the full process.

For user-facing changes, add a changeset:

npm run changeset

Merging changes to main opens or updates the release PR. Merging that release PR publishes to npm and creates the GitHub release.

About

No description, website, or topics provided.

Resources

License

Stars

46 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors