
How to run Hermes Agent on a budget: Open-source reverse proxies with account rotation & tool-calling (chatgptproxy + CursorProxyFleet)
Post Content:
Running a persistent agent like Hermes Agent for heavy-duty tasks (long multi-turn debugging, file search, codebase exploration) can easily burn through API credits on Anthropic or OpenAI.
To solve this, I’ve built and open-sourced two reverse proxies that bridge web-app/flat-rate sessions into standard, OpenAI/Anthropic-compatible endpoints that work seamlessly in Hermes:
- 🛠️
chatgptproxy: An OpenAI-compatible reverse proxy with built-in account pooling, session rotation, and tool-calling/function translation. - 🚀
CursorProxyFleet: A fleet manager designed to expose Cursor’s models as a standard endpoint, handling token limits and routing on the fly.
Both projects are 100% free and open-source.
---
How it works under the hood
* Dual Compatibility: Serves standard /v1/chat/completions (OpenAI) and /v1/messages (Anthropic) endpoints.
* Account Pooling & Rotation: Handles multiple account cookies, rotating requests automatically to bypass rate limits.
* Tool-Calling Translation: Translates Hermes’ native tool execution schema back and forth without breaking the agent loops.
* SSE Streaming: Native Server-Sent Events (SSE) support for smooth real-time response generation.
---
Repositories
If you want to test it locally or contribute:
* Cursor Proxy Fleet: github.com/acruz6421-bot/CursorProxyFleet
* ChatGPT Proxy: github.com/acruz6421-bot/chatgptproxy
Disclaimer: These are self-hosted tools built strictly for personal research and cost mitigation on local agent testing.
I’d love to hear your thoughts, test cases, or help if anyone runs into configuration issues!
---
Hermes Integration Guide
Integrating it with Hermes Agent is straightforward. Once you have the proxy running locally (by default, chatgptproxy runs on port 3535), you just add it as a custom provider in your ~/.hermes/config.yaml:
providers:
custom:
chatgptproxy:
api_base: "http://localhost:3535/v1"
api_key: "any-dummy-key" # Handled by the local pool config
models:
- gpt-4o
- claude-3-5-sonnet
# Set it as your active model
model:
provider: "custom:chatgptproxy"
model: "claude-3-5-sonnet"
temperature: 0.2
max_tokens: 32768 # Cap for web backends