pi-plugin-cc

agent
Security Audit
Fail
Health Pass
  • License — License: Apache-2.0
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Community trust — 27 GitHub stars
Code Fail
  • process.env — Environment variable access in plugins/pi/scripts/lib/job-control.mjs
  • process.env — Environment variable access in plugins/pi/scripts/lib/pi-rpc.mjs
  • os.homedir — User home directory access in plugins/pi/scripts/lib/pi.mjs
  • process.env — Environment variable access in plugins/pi/scripts/lib/pi.mjs
  • spawnSync — Synchronous process spawning in plugins/pi/scripts/lib/process.mjs
  • process.env — Environment variable access in plugins/pi/scripts/lib/process.mjs
Permissions Pass
  • Permissions — No dangerous permissions requested

No AI report is available for this listing yet.

SUMMARY

Claude Code plugin that routes /pi:review, /pi:rescue, etc. through the Pi coding agent (default: DeepSeek V4). 1:1 fork of codex-plugin-cc.

README.md

pi-plugin-cc — drive the Pi coding agent from Claude Code 🥧

License: Apache 2.0
GitHub stars
GitHub forks
Latest Release
Last Commit

Claude Code Plugin
Pi Coding Agent
Model agnostic
Discord

English · 中文

External references: Pi coding agent · Pi RPC mode · Pi providers

A Claude Code plugin that delegates reviews and coding tasks to the Pi coding agent. 1:1 fork of codex-plugin-cc, runtime swapped from Codex to Pi.

The hard dependency is pi, not any particular LLM. Pi can be configured for DeepSeek, OpenAI, Anthropic, Google, Ollama, LM Studio, or any OpenAI-compatible endpoint via ~/.pi/agent/models.json. The plugin defers all model selection to pi unless you override per command.

  • Code review against the working tree or a branch base, with structured findings
  • Adversarial review that challenges the design — not just spell-checks the diff
  • Task delegation for diagnoses, refactors, and longer rescues, foreground or background
  • Background job controlstatus, result, cancel, and stop-time review gate
  • No OAuth — pi authenticates by API key (provider-specific), no codex login required

Plays well with pi-subagents: if installed, it works inside /pi:rescue runs without configuration.

🔄 How it works

pi-plugin-cc workflow

Codex's broker layer is gone — Pi is one-conversation-per-process, so the plugin spawns a fresh pi --mode rpc for each task. Background jobs are tracked in workspace-scoped state files. Review prompts inline the JSON schema since Pi has no outputSchema knob.

Slash commands

Command What it does
/pi:setup Verifies pi is installed + a provider is configured; toggles the stop-time review gate
/pi:review Standard code review of local git state
/pi:adversarial-review Steerable challenge review — questions the approach itself
/pi:rescue Delegate investigation or implementation to a Pi run via the pi:pi-rescue subagent
/pi:status [job-id] List active / recent Pi jobs in this repository
/pi:result <job-id> Show the stored final output for a finished job
/pi:cancel <job-id> Terminate a running background job

Every command accepts --model <id> to pin a specific model just for that run. With no --model and no env override (see Pick your model), pi falls back to whatever it has configured by default.

Quick Start

# 1. Install pi (required)
npm install -g --ignore-scripts @earendil-works/pi-coding-agent

# 2. Configure a provider — pick one
export OPENAI_API_KEY=sk-...           # OpenAI
export ANTHROPIC_API_KEY=sk-ant-...    # Anthropic
export GOOGLE_API_KEY=...              # Google
export DEEPSEEK_API_KEY=sk-...         # DeepSeek
# or run a local model: see https://github.com/earendil-works/pi (Ollama / LM Studio)

# 3. Verify pi sees a model
pi --list-models | head

Install the plugin in Claude Code:

> /plugin marketplace add Agents365-ai/pi-plugin-cc
> /plugin install pi@agents365-pi
> /reload-plugins
> /pi:setup

/pi:setup returns a readiness report. If pi is missing and npm is on PATH, it offers to install it for you.

Usage

> /pi:review
> /pi:review --base main
> /pi:review --model claude-sonnet-4
> /pi:adversarial-review focus on the new auth middleware
> /pi:rescue investigate why the Windows CI build is failing
> /pi:rescue --background --model gpt-4o refactor src/payments/
> /pi:status
> /pi:status task-mpgyiwb9-e3k641 --wait
> /pi:result task-mpgyiwb9-e3k641
> /pi:cancel task-mpgyiwb9-e3k641

--effort <off|minimal|low|medium|high|xhigh> is passed through to Pi via set_thinking_level. Models that do not support thinking silently ignore it (the plugin logs a one-line note to stderr when this happens).

Pick your model

The plugin keeps three layers of model resolution:

Priority Source Example
1 --model <id> on the slash command /pi:review --model gpt-4o
2 Env var (review / adversarial-review only) export PI_PLUGIN_REVIEW_MODEL=deepseek-v4-flash
export PI_PLUGIN_ADVERSARIAL_REVIEW_MODEL=deepseek-v4-pro
3 Pi's own configured default whatever your ~/.pi/agent/models.json has, or /model last picked in pi TUI

Layer 1 wins over layer 2 wins over layer 3. None of the layers are required — leave them all unset and pi picks for you.

Suggested settings by provider

These are opinions, not requirements. Pick what fits your latency / cost / quality budget.

Provider Everyday review (/pi:review) Adversarial review (/pi:adversarial-review)
DeepSeek deepseek-v4-flash deepseek-v4-pro
OpenAI gpt-4o-mini or gpt-5-mini o1 or gpt-5
Anthropic claude-haiku-4-5 claude-sonnet-4-6 or claude-opus-4-7
Google gemini-2.5-flash gemini-2.5-pro
Local (Ollama) qwen2.5-coder:7b qwen2.5-coder:32b or deepseek-r1

To make these defaults sticky:

export PI_PLUGIN_REVIEW_MODEL=claude-haiku-4-5
export PI_PLUGIN_ADVERSARIAL_REVIEW_MODEL=claude-sonnet-4-6

Configure pi

The minimum is a single env var with your API key. For richer setups, write ~/.pi/agent/models.json:

{
  "providers": {
    "deepseek": { "apiKey": "sk-..." },
    "openai":   { "apiKey": "sk-..." },
    "anthropic":{ "apiKey": "sk-ant-..." },
    "google":   { "apiKey": "..." },
    "openrouter": {
      "api": "openai-completions",
      "apiKey": "sk-or-v1-...",
      "baseUrl": "https://openrouter.ai/api/v1",
      "models": [
        {
          "id": "deepseek/deepseek-chat",
          "name": "DeepSeek via OpenRouter",
          "contextWindow": 128000,
          "maxTokens": 8192,
          "input": ["text"]
        }
      ]
    }
  }
}

Built-in providers (anthropic, openai, google, deepseek, ollama, lmstudio) only need apiKey (and optional baseUrl); pi ships their model lists. For custom OpenAI-compatible endpoints, set api: "openai-completions" and declare the models you want exposed.

Full reference: pi providers docs.

Stop-time review gate

Opt in with /pi:setup --enable-review-gate. When a Claude session ends, the plugin runs a Pi adversarial review of the previous turn and can block the stop if it finds material issues. If pi is unavailable while the gate is enabled, the hook blocks (it does not silently let the session end). Disable with /pi:setup --disable-review-gate.

🔗 Related projects

Project Niche When to use
codex-plugin-cc Same surface, runs Codex You want OpenAI's Codex agent + ChatGPT auth
pi (earendil-works) The coding agent this plugin drives You want to use Pi directly without Claude Code
pi-subagents Pi extension adding subagent tool + /run / /chain / /parallel Let /pi:rescue delegate further to specialized child agents

❤️ Support

If this plugin helps you, consider supporting the author:

WeChat Pay
WeChat Pay
Alipay
Alipay
Buy Me a Coffee
Buy Me a Coffee
Give a Reward
Give a Reward

👤 Author

Agents365-ai

📄 License

Apache License 2.0. Forked from codex-plugin-cc (Apache-2.0, OpenAI) — see NOTICE.

Reviews (0)

No results found