Skip to content

feat(pi): support Pi coding agent via Dockerfile.pi#920

Merged
thepagent merged 8 commits into
mainfrom
feat/pi-agent-support
May 26, 2026
Merged

feat(pi): support Pi coding agent via Dockerfile.pi#920
thepagent merged 8 commits into
mainfrom
feat/pi-agent-support

Conversation

@chaodu-agent
Copy link
Copy Markdown
Collaborator

@chaodu-agent chaodu-agent commented May 25, 2026

This PR introduces support for the Pi coding agent (using the pi-acp adapter) in OpenAB.

Key Changes

  • Dockerfile.pi: Created a new Dockerfile that inherits from node:22-bookworm-slim. It installs pi-acp (the Agent Client Protocol adapter) and @earendil-works/pi-coding-agent (the Pi coding agent CLI) globally.
  • Helm Configuration:
    • Updated values.yaml with a commented example configuration for the pi agent.
    • Updated templates/NOTES.txt to display the authentication instructions (pi /login) for the pi agent.
  • Documentation / guidance references:
    • Updated docs/config-reference.md and docs/steering-design-guide.md to reference the Pi coding agent and its hot memory directories.
    • Updated AGENTS.md to correct the Dockerfile count and include Dockerfile.pi.

Use Cases & Advantages of Pi Agent

  • Minimalist & High Context Space: Pi only exposes 4 core tools (read, write, edit, bash) and utilizes a tiny system prompt. This drastically reduces prompt overhead and maximizes the available context window size for project source files.
  • Multi-Model Support: Pi is model-agnostic and supports 15+ LLM providers. Developers can switch models mid-session.
  • Built-in Subscription Auth: Pi natively supports Anthropic (Claude Pro/Max) and ChatGPT Plus/Pro (Codex) subscriptions via OAuth — no openab-auth-proxy sidecar needed for these providers.
  • Branching Session Trees: Pi saves session history as trees, enabling clean branching of code exploration.

Authentication

kubectl exec -it <pod> -- pi /login

Supported providers:

Provider Auth Method Subscription
Anthropic (Claude Pro/Max) OAuth via pi /login Claude subscription
ChatGPT Plus/Pro (Codex) OAuth via pi /login ChatGPT subscription
Any API key provider env = { OPENAI_API_KEY = "..." } Pay-per-token

Tested

  • Built Dockerfile.pi on zf (x86_64) ✅
  • Deployed as 周嘟嘟 bot on zf k3s with pi-acp
  • ChatGPT Plus/Pro (Codex) subscription configured and working ✅

Discord Discussion URL: https://discord.com/channels/1486155598964719616/1507511678596808764

@chaodu-agent chaodu-agent requested a review from thepagent as a code owner May 25, 2026 19:13
@github-actions github-actions Bot added the closing-soon PR missing Discord Discussion URL — will auto-close in 3 days label May 25, 2026
@github-actions github-actions Bot removed the closing-soon PR missing Discord Discussion URL — will auto-close in 3 days label May 25, 2026
@chaodu-agent
Copy link
Copy Markdown
Collaborator Author

LGTM ✅ — Pi agent support is now complete, tested, and wired into the release path.

What This PR Does

Adds OpenAB support for the Pi coding agent via Dockerfile.pi, Helm chart examples, setup documentation, and steering/memory guidance.

How It Works

The PR builds a dedicated Pi runtime image with pi-acp and @earendil-works/pi-coding-agent, adds Pi deployment guidance to Helm/docs, installs required runtime tooling including git, and wires Dockerfile.pi into Docker smoke testing and release image matrices.

Findings

# Severity Finding Location
1 🟢 Dockerfile.pi installs pinned Pi packages and required runtime tools, including git. Dockerfile.pi
2 🟢 Pi is covered by Docker smoke tests; smoke-test (Dockerfile.pi, -pi, pi-acp) passed. .github/workflows/docker-smoke-test.yml
3 🟢 The -pi image is included in release build, manifest merge, and stable promotion matrices. .github/workflows/build-operator.yml
4 🟢 Dockerfile inventory is corrected to match the current 11 Dockerfiles. AGENTS.md
5 🟢 PR body includes the required Discord Discussion URL and the discussion check passes. PR body
Baseline Check
  • PR opened: 2026-05-25
  • Main already has: no Dockerfile.pi or Pi-specific docs/config references
  • Net-new value: adds a dedicated Pi agent image, Helm/documentation guidance, release workflow coverage, and smoke-test validation
Verification
  • changes: pass
  • helm-unittest: pass
  • PR Discussion URL Check: pass
  • smoke-test (Dockerfile.pi, -pi, pi-acp): pass
  • Full Docker smoke matrix: pass

Note: GitHub does not allow the PR author account to submit an approving review on its own PR, so this is recorded as a review comment rather than an approval event.

@shaun-agent
Copy link
Copy Markdown
Contributor

shaun-agent commented May 26, 2026

OpenAB PR Screening

This is auto-generated by the OpenAB project-screening flow for context collection and reviewer handoff.
Click 👍 if you find this useful. Human review will be done within 24 hours. We appreciate your support and contribution 🙏

Screening report screening posted and project item moved.

GitHub comment: #920 (comment)
Project action: openabdev/1 item PVTI_lADOEFbZWM4BUUALzgtwwwI moved Incoming -> PR-Screening

Intent

PR #920 adds first-class container and chart support for running the Pi coding agent through the pi-acp adapter in OpenAB. The operator-visible problem is that deployers currently have no packaged Pi agent image, Helm example, or login guidance comparable to the existing agent integrations.

Feat

Feature work. The PR adds Dockerfile.pi, wires that image into build and smoke-test workflows, adds a commented Helm values example, updates Helm notes with pi /login guidance, and refreshes docs/AGENTS references for Pi and its hot memory directories.

Who It Serves

Deployers and agent runtime operators who want Pi available as an OpenAB-managed coding agent. Maintainers also benefit because the integration points are documented and CI-visible.

Rewritten Prompt

Add Pi coding agent support to OpenAB as a packaged agent option. Create Dockerfile.pi, wire it into CI build/smoke coverage, add Helm example config and login notes, and update docs for image usage, auth expectations, and Pi hot memory paths.

Merge Pitch

This should move forward if Pi is intended to be a supported runtime option. Risk is moderate-low because the change is additive, but reviewers should check Dockerfile contract fit, unpinned global npm installs, and whether the smoke test catches packaging drift.

Best-Practice Comparison

OpenClaw and Hermes Agent mostly do not apply; this is packaging, not scheduling or durable job execution. The relevant overlap is isolated execution and explicit runtime/auth state.

Implementation Options

Conservative: merge Dockerfile plus CI only.

Balanced: merge current integration after checking dependency/version and smoke-test strength.

Ambitious: add pinned versions, ACP startup validation, Helm schema/docs coverage, and a Pi runbook.

Comparison Table

Option Speed Complexity Reliability Maintainability User Impact Fit for OpenAB now
Conservative Fastest Low Medium Medium Limited Good minimal path
Balanced Fast Medium Good Good Useful Pi support Best fit
Ambitious Slowest High Highest Highest Strongest Good follow-up

Recommendation

Take the balanced path. Keep this PR scoped, ask for one reviewer pass on dependency pinning/version drift and smoke-test strength, then advance if those check out.

- No auth proxy required (native subscription support like Codex/Copilot)
- Minimal tool surface (4 tools) maximizes context window
- Multi-model support (15+ providers, switchable mid-session)
- Branching session trees for code exploration
@thepagent thepagent merged commit 7ac97d9 into main May 26, 2026
15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants