@jonibr/pi-fusion

Lead/sidekick multi-model harness for pi — a frontier lead delegates work to a cheap sidekick agent with persistent per-task context (Devin Fusion pattern)

Packages

Package details

extensionskill

Install @jonibr/pi-fusion from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:@jonibr/pi-fusion
Package
@jonibr/pi-fusion
Version
0.1.1
Published
Jul 14, 2026
Downloads
90/mo · 12/wk
Author
jonibr
License
MIT
Types
extension, skill
Size
15.6 KB
Dependencies
0 dependencies · 3 peers
Pi manifest JSON
{
  "extensions": [
    "./extensions"
  ],
  "skills": [
    "./skills"
  ]
}

Security note

Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.

README

pi-fusion

Lead/sidekick multi-model harness for pi, after the Devin Fusion pattern: your session's frontier model stays in the lead seat (plan, ambiguity, review, commit) and delegates the implement → test → lint loop to a cheaper sidekick agent.

Each delegate spawns a sidekick with fresh context; follow_up continues the same task in its persistent, cache-friendly context. Sidekick sessions are saved as normal pi sessions (pi --resume to inspect).

Install

pi install /path/to/pi-fusion   # or git:github.com/you/pi-fusion

Tools

  • delegate(brief) — fresh sidekick, blocks, returns report + task_id
  • follow_up(task_id, message) — continue that sidekick's cached context

Skill

fusion — the delegation playbook (delegate early, spec-quality briefs, review via git diff, follow_up over rewrite).

Config

In ~/.pi/agent/settings.json or .pi/settings.json:

{
  "fusion": {
    "sidekickModel": "anthropic/claude-sonnet-4-6:high",
    "timeoutMinutes": 10
  }
}

sidekickModel uses pi's provider/model[:thinkingLevel] syntax.

Override the sidekick model without editing settings (highest precedence first):

  • /fusion-model provider/model[:thinking] — set for the current session (no args: show current)
  • PI_FUSION_MODEL=provider/model[:thinking] pi — set at launch

Model changes apply to new delegate calls; existing tasks keep their model.