feat(providers): cli-shim — shell out to claude/codex/gemini CLIs via OAuth (RFC) - #26634
feat(providers): cli-shim — shell out to claude/codex/gemini CLIs via OAuth (RFC)#26634Gradata wants to merge 5 commits into
Conversation
…PT-account model fix
Hermes agent loop calls create(stream=True) for most turns and iterates the result with 'for chunk in stream'. Previously the shim ignored stream= and returned the whole SimpleNamespace response, causing 'types.SimpleNamespace object is not iterable' downstream. Now emit OpenAI-shaped chunks: one content delta, one per tool_call, and a final chunk with finish_reason + usage. CLIs don't support per-token streaming so each chunk carries the full payload. This was the root cause of fleet-wide cli-shim failures after the provider was wired up.
|
This is great news! Any chance you can prioritize this feature? I'm sure not only me but a lot of people in the community would benefit from this as this features reduces the infrastructure cost. |
|
Thanks for the detailed RFC and the work on the subprocess facade. This automated hermes-sweeper review is closing this under the standing in-tree-provider-integration policy:
Please consider publishing this as a standalone plugin repository using the existing provider/plugin surface. If a generic framework capability is genuinely missing, a narrow proposal for that reusable surface can be discussed separately. The related overlap noted on #26960 and the resolver gap documented by #36084 are useful context for any re-scoped work. Closed as not-planned per standing maintainer policy ( |
DRAFT/RFC. Adds a new provider that shells out to local CLI installs (claude, codex, gemini) using OAuth subscriptions instead of API keys.
Proposal doc: agent/CLI_SHIM_PROPOSAL.md
Motivation: subscription users (Claude Max, ChatGPT Pro, Gemini Advanced) have no API keys but want to run hermes-agent / fleets. Currently impossible without paying twice.
Not ready to merge — looking for upstream guidance on: