pi-twins
Run the same prompt on two models, get one synthesized answer.
What this is
pi-twins sends your prompt to two AI models in parallel, then Pi itself reads both responses and synthesizes a single answer from the best parts. Configure model pairs via YAML. No more manually tabbing between chatbot UIs to compare answers.
Features
- Dual-model execution — run the same prompt on two models simultaneously
- Automatic synthesis — Pi reads both responses and produces one unified answer
- YAML configuration — define model pairs (e.g. Claude + Gemini) in
~/.pi/twins.yaml - Model discovery —
/twins:scanto see which models are available - On-demand only — activate via
/twins:runwhen you want it, no overhead otherwise
Install
Install the published npm package with Pi:
pi install npm:pi-twinsPin a specific version:
pi install npm:pi-twins@0.2.0Try it without permanently installing:
pi -e npm:pi-twinsQuick start
Try this package locally:
pi -e .Then run:
/twins:run
Enter a prompt when asked. Pi runs both models in parallel and synthesizes one answer.
Configuration
Create ~/.pi/twins.yaml:
pairs:
default:
- anthropic/claude-sonnet-4
- google/gemini-2.5-pro
coding:
- anthropic/claude-sonnet-4
- openai/gpt-4o/twins:run uses the default pair when present. If default is missing, it falls back to the first configured pair.
Run /twins:config to create a starter file, or /twins:scan to list model IDs.
Commands
| Command | Description |
|---|---|
/twins:run |
Send the same prompt to two models and synthesize one answer |
/twins:scan |
List available model IDs for ~/.pi/twins.yaml |
/twins:config |
Create or show the pi-twins config file |
The twins_run tool is also available for agent-driven twin runs.
Package contents
| Path | Purpose |
|---|---|
extensions/ |
Pi extension entrypoints (/twins:* commands, twins_run tool) |
lib/ |
Config loader, model scanner, parallel runner, synthesis helpers |
docs/ |
Usage examples and release notes |
Development
npm install
npm run ciLocal smoke test:
pi -e .Release
This package uses npm Trusted Publishing (no NPM_TOKEN required).
npm version patch # or minor / major
git push && git push --tagsPushing a package.json version bump to main triggers auto-release.yml, which tags the release and dispatches publish.yml.
See docs/release.md for setup details.
Docs
docs/examples.md— command and tool examplesdocs/release.md— Trusted Publishing details
Security
Pi packages can execute code with your local permissions. Review extensions before installing third-party packages.
For vulnerability reporting, see SECURITY.md.
Links
- npm: https://www.npmjs.com/package/pi-twins
- GitHub: https://github.com/eiei114/pi-twins
- Issues: https://github.com/eiei114/pi-twins/issues
License
MIT