Run your existing pi install with entity-native code tools:
lookup and editing by symbol name (parseConfig, not "lines 40-58"), backed by
sem for reading, search, and impact
analysis, and weave-mcp for edits and live multi-agent coordination.
sem-pi is a small launcher. It checks that pi, sem, and weave-mcp are
installed, keeps a local checkout of the tool definitions up to date, and
starts pi with them loaded. Your pi config, models, and everything else
about your setup is untouched.
Download sem-pi, put it on your PATH, and make it executable:
curl -fsSL https://raw.githubusercontent.com/Ataraxy-Labs/pi-sem/main/sem-pi -o /usr/local/bin/sem-pi
chmod +x /usr/local/bin/sem-pipi— install from pi's own site.semonPATH:orcurl -fsSL https://raw.githubusercontent.com/Ataraxy-Labs/sem/main/install.sh | shbrew install sem-cli.weave-mcponPATH— download a build from the Ataraxy-Labs/weave releases page. Pointsem-piat a specific binary withPI_SEM_WEAVE_MCP_BINif you don't want it onPATH.- A git repository at your working directory — both
semandweave-mcpresolve paths against a repo root.
Three ways to run, picked with a flag:
# tools mode (default) — curated multi-tool surface bridged into pi
sem-pi --tools
# pure code mode — a single sandboxed tool, no bash/write
sem-pi --pure
# mixed code mode — the code-mode tool plus your usual bash/write
sem-pi --mixedAny other arguments are passed straight through to pi.
Under the hood, sem-pi is exactly the following pi invocations. Run these
directly if you'd rather manage the checkout yourself:
# tools mode
pi -e <checkout>/pi
# pure code mode
PI_SEM_MODE=code pi -e <checkout>/pi
# mixed code mode
PI_SEM_MODE=code PI_SEM_PURE=0 pi -e <checkout>/pisem-pi keeps a shallow clone of
Ataraxy-Labs/sem at
~/.cache/sem-pi/sem, cloning it on first run and fast-forwarding it on every
run after. Set SEM_PI_REF to pin a specific tag or branch instead of
tracking main:
SEM_PI_REF=v0.11.0 sem-pi --toolsThe tool definitions live in sem/pi
in the sem repo. As of this writing that code is on the feat/pi-extension
branch and has not yet merged to main — until it does, sem-pi will clone
successfully but the extension path won't exist yet. Point SEM_PI_REF at
that branch to try it early:
SEM_PI_REF=feat/pi-extension sem-pi --toolsMulti-agent merge coordination needs weave-mcp ≥ 0.5.3; on older builds,
concurrent-edit detection is unavailable and edits fall back to plain
overwrite.
MIT, see LICENSE.