feat: add Grok Build as ACP backend#822
Conversation
|
All PRs must reference a prior Discord discussion to ensure community alignment before implementation. Please edit the PR description to include a link like: This PR will be automatically closed in 3 days if the link is not added. |
056d6fc to
b0da853
Compare
OpenAB PR ScreeningThis is auto-generated by the OpenAB project-screening flow for context collection and reviewer handoff.
Screening reportposted screening for PR #822 and moved project item `PVTI_lADOEFbZWM4BUUALzgsxeLU` from `Incoming` to `PR-Screening`.GitHub comment: #822 (comment) IntentAdd xAI Grok Build as a first-class ACP backend for OpenAB. The operator-visible problem is deployers currently need custom setup to run Grok Build through OpenAB. FeatFeature work. Adds a Grok runtime image, config example, workflow coverage, and ACP initialization auth handling when Who It ServesDeployers and agent runtime operators first. Maintainers benefit from a documented, reviewable backend path. Rewritten PromptImplement Grok Build as an optional ACP backend. Add Merge PitchWorth advancing because native ACP support makes Grok a reasonable backend. Main risk is shared ACP handshake regression. Reviewer concern: whether auth is narrowly gated, tested, and diagnosable. Best-Practice ComparisonOpenClaw and Hermes mostly do not apply because this is not scheduling, persistence, delivery routing, file locking, or scheduled prompt state. Relevant overlap is explicit runtime isolation and clear process/session setup. Auth should stay tied to the spawned ACP process, not hidden ambient state. Implementation Options
Comparison Table
RecommendationUse the balanced path. Keep Grok support and ACP auth together only with targeted protocol tests and clear failure behavior. Split Helm preset support, fuller operator docs, and richer handshake logging into follow-ups. |
b0da853 to
8282548
Compare
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
chaodu-agent
left a comment
There was a problem hiding this comment.
I reviewed the Grok backend integration and found no blocking issues. CI is fully green; this is ready to merge once an external reviewer approves.
This comment has been minimized.
This comment has been minimized.
Add xAI Grok Build support via native ACP protocol (`grok agent stdio`). Changes: - Dockerfile.grok: runtime image with Grok Build CLI installed - connection.rs: auto-authenticate when initialize returns authMethods - config.toml.example: add Grok Build config example The authenticate step is triggered automatically when the agent's initialize response includes authMethods (as Grok Build does), so existing backends (Kiro, Claude, Codex, Gemini) are unaffected. Closes openabdev#821
8282548 to
9d0ef84
Compare
|
ON HOLD ⏸️ — Grok Build backend ($300/month SuperGrok Heavy subscription) StatusThis PR is technically sound (CI green, clean implementation), but is on hold due to cost concerns. The SuperGrok Heavy subscription required for Grok Build is $300/month — too expensive for current usage. What This PR DoesAdds xAI Grok Build as a new ACP backend, leveraging its native ACP support via Findings
Action: Keeping on hold until subscription cost is justified. No code changes needed. |
Summary
Add xAI Grok Build as a new ACP backend for OpenAB, leveraging its native ACP support via
grok agent stdio.Changes
Dockerfile.grok— Runtime image that installs Grok Build CLIsrc/acp/connection.rs— Auto-authenticate wheninitializeresponse containsauthMethods(Grok Build requires an explicitauthenticatecall afterinitialize)config.toml.example— Add Grok Build configuration exampleHow It Works
Grok Build natively speaks ACP (Agent Client Protocol) over JSON-RPC on stdin/stdout. The protocol flow is:
initialize→ returnsauthMethodsarrayauthenticate→ withxai.api_keyorcached_tokensession/new→ create sessionsession/prompt/session/update→ normal ACP flowThe
authenticatestep is auto-triggered only when the agent returnsauthMethodsin its initialize response, so existing backends (Kiro, Claude, Codex, Gemini) are completely unaffected.Configuration
Notes
Closes #821