@anton-kochev/echo
v0.4.1
Published
Echo: a read-only side-channel question asker for pi sessions and project code.
Maintainers
Readme
echo
A read-only side-channel question asker for pi sessions and project code.
Echo adds a /ask command that spawns an isolated pi side-process with only read-only tools enabled. Answers are shown to you and stored in extension history, but they are not injected into the main agent context — so you can probe the session and project without polluting the conversation that's doing real work.
Install
pi install npm:@anton-kochev/echoPin to a version:
pi install npm:@anton-kochev/echo@<version>For local development from a checkout of pi-extensions:
pi install ./echoProject-local install:
pi install ./echo -lTemporary test run:
pi -e ./echoPithos .pithos config
pi:
extensions:
"@anton-kochev/echo": "npm:0.1.0"Commands
Inside pi:
/ask [--model <provider/model>] [--] <question>
/asked
/ask-clear/ask— ask Echo a question./asked— browse previous Echo answers interactively with ↑/↓ and open one with Enter./ask-clear— clears any stale Echo widget left by older versions.
What Echo can access
Echo launches an isolated Pi side process with only read-only tools enabled:
readgrepfindls
It does not receive bash, edit, or write. Echo runs from the current project directory, so it can inspect source code and project files read-only.
Session context strategy
Echo uses progressive disclosure to keep token usage low:
- A small recent-session excerpt is included in the side-agent prompt.
- The full current-session transcript is written to a temporary markdown file.
- The side agent is instructed to inspect that transcript only when needed, preferably with targeted
grep/readcalls. - The temporary transcript is deleted after the side process exits.
Examples
/ask what is this session about?
/ask what files define the extension loading behavior?
/ask --model anthropic/claude-haiku-4-5 summarize the recent decisions
/askedNotes
This package imports pi runtime packages as peer dependencies:
@earendil-works/pi-coding-agent@earendil-works/pi-tuitypebox
Do not bundle those dependencies; pi provides them at runtime.
extensions/index.ts is a thin jiti trampoline that disables jiti's module cache for src/echo.ts, so editing the implementation and running /reload always evaluates the newest code.
