@ilya-lesikov/pi-pi
Pi-Pi Coding Agent: based on Pi Coding Agent, but twice as good
Install
pi install npm:@ilya-lesikov/pi-pi
Installs from npm into ~/.pi/agent/.
Add -l for project-local (.pi/). Manage with pi list / pi update / pi remove.
What this package can reach
Detected automatically from the source at
version 0.14.0.
This describes access, not safety — you decide whether it's appropriate for what
the package claims to do.
- Behavior — Changes how the agent thinks Modifies the system prompt, injects messages, or rewrites conversation context.
- Extension bus — Talks to other extensions Uses pi.events to emit or listen on a shared channel, so it can coordinate with — or be driven by — other installed extensions.
- Commands — Runs shell commands Spawns processes on your machine.
- Credentials — Handles your API keys Reads or passes provider credentials. Highest-trust capability there is.
- Files — Reads files outside your project Touches paths beyond the working directory, such as your home folder.
- Intercepts tools — Can block or rewrite tool calls Subscribes to tool_call/tool_result/input. Can change a command after you approved the one displayed.
- Keystrokes — Reads raw terminal input Hooks ui.onTerminalInput, so it sees what you type. Legitimate for shortcut handling; the same access a keylogger needs.
- Network — Talks to the internet Makes outbound network requests. Check the destinations are ones you expect.
- LLM traffic — Sees raw model API traffic Reads or replaces provider requests, headers or responses — including your prompts.
- Tool control — Can switch pi's tools on and off Calls setActiveTools, so it can disable built-ins — including safety-relevant ones.
- New tools — Adds model-callable tools Gives the agent new abilities. Additive and visible, unlike an override.
- UI — Draws its own interface Renders widgets, footers, dialogs or full-screen views.
Network destinations found in the source (3)
llm-api.flant.ru · mcp.exa.ai · openrouter.ai
Static analysis only — addresses built at runtime won't appear here.
What it actually did when run
observedLoaded in a sandbox with no network, a read-only filesystem and a recording stand-in for pi's API. This is what it called — not what the source suggests it might.
Tools registered Agentget_subagent_resultsteer_subagentTaskCreateTaskListTaskGetTaskUpdateTaskOutputTaskStopTaskExecuteask_user
Events subscribed agent_endagent_startask:answeredask:cancelledask:openedbefore_agent_startbefore_provider_requestcontextinputmessage_endmessage_startmessage_updatesession_before_compactsession_before_switchsession_compactsession_shutdownsession_startsession_switchsubagents:completedsubagents:createdsubagents:failedsubagents:first_toolsubagents:first_turnsubagents:readysubagents:register-agentssubagents:rpc:pingsubagents:rpc:ping:reply:5d446178-d8c1-44a5-927a-2a34b1d2e471subagents:rpc:ping:reply:8f9eb14b-4b28-42fb-8f7f-92d1fea08d30subagents:rpc:spawnsubagents:rpc:stopsubagents:set-extension-onlysubagents:startedsubagents:unregister-agentstool_calltool_execution_endtool_execution_starttool_execution_updatetool_resultturn_endturn_start
APIs called events.emitevents.onregisterCommandregisterMessageRendererregisterToolsessionManager.getSessionIdui.customui.selectui.select.startsWithui.setWorkingMessage
6 calls the source scan did not predict
on("subagents:rpc:ping") · on("subagents:rpc:ping:reply:5d446178-d8c1-44a5-927a-2a34b1d2e471") · on("subagents:rpc:ping:reply:8f9eb14b-4b28-42fb-8f7f-92d1fea08d30") · on("subagents:rpc:spawn") · on("subagents:rpc:stop") · ui.select.startsWith
Reached through a value the scan could not follow — passed as an argument, stored on another object, or returned by a helper.
Run against version 0.14.0 on 2026-08-02.
Registration-time behaviour under default settings; other configurations may differ.
Reviews
0 publishedSign in with GitHub to write a review, reply, or vote.
No reviews yet — be the first.
More in Tool providers
- @juicesharp/rpiv-web-tools — Pi extension. Web search and fetch for the model with pluggable providers (Brave, Tavily, …
- pi-web — Web UI for pi that keeps sessions alive in real workspaces — run and monitor pi from the b…
- @vaayne/pi-web-tools — Pi extension for web fetching and search capabilities
- @firstpick/pi-utils — Shared utilities for Firstpick Pi extension packages.