Skip to content

[Bug]: hermes gateway stop failed #37858

@NTM-GYL

Description

@NTM-GYL

Bug Description

Hermes CLI has a design flaw: commands like hermes model and hermes gateway stop require API calls. When you're out of balance (HTTP 402), you can't even reconfigure or stop the service. Deadlock.

Configuration commands should work offline, period.

$ hermes gateway stop
────────────────────────────────────────

⚠️ API call failed (attempt 1/3): APIStatusError [HTTP 402]
🔌 Provider: deepseek Model: deepseek-chat
🌐 Endpoint: https://api.deepseek.com/v1
📝 Error: HTTP 402: Insufficient Balance
📋 Details: {'message': 'Insufficient Balance', 'type': 'unknown_error', 'param': None, 'code': 'invalid_request_error'}
⏱️ Rate limited. Waiting 2.7s (attempt 2/3)...
⚠️ API call failed (attempt 2/3): APIStatusError [HTTP 402]
🔌 Provider: deepseek Model: deepseek-chat
🌐 Endpoint: https://api.deepseek.com/v1
📝 Error: HTTP 402: Insufficient Balance
📋 Details: {'message': 'Insufficient Balance', 'type': 'unknown_error', 'param': None, 'code': 'invalid_request_error'}
⏱️ Rate limited. Waiting 5.7s (attempt 3/3)...
⚠️ API call failed (attempt 3/3): APIStatusError [HTTP 402]
🔌 Provider: deepseek Model: deepseek-chat
🌐 Endpoint: https://api.deepseek.com/v1
📝 Error: HTTP 402: Insufficient Balance
📋 Details: {'message': 'Insufficient Balance', 'type': 'unknown_error', 'param': None, 'code': 'invalid_request_error'}
⚠️ Max retries (3) exhausted — trying fallback...
❌ Rate limited after 3 retries — HTTP 402: Insufficient Balance
💀 Final error: HTTP 402: Insufficient Balance

Steps to Reproduce

hermes config set model.provider deepseek
hermes config set model.default deepseek-chat
hermes config set DEEPSEEK_API_KEY sk-xxxxx # key with $0 balance
hermes model
...

Expected Behavior

The CLI commands should have worked locally without making any API calls, allowing me to reconfigure or stop the service regardless of my account balance.

Actual Behavior

API call failed (attempt 1/3): APIStatusError [HTTP 402]
🔌 Provider: deepseek Model: deepseek-chat
🌐 Endpoint: https://api.deepseek.com/v1
📝 Error: HTTP 402: Insufficient Balance
📋 Details: {'message': 'Insufficient Balance', 'type': 'unknown_error', 'param': None, 'code': 'invalid_request_error'}
⏱️ Rate limited. Waiting 2.7s (attempt 2/3)...
⚠️ API call failed (attempt 2/3): APIStatusError [HTTP 402]
🔌 Provider: deepseek Model: deepseek-chat
🌐 Endpoint: https://api.deepseek.com/v1
📝 Error: HTTP 402: Insufficient Balance
📋 Details: {'message': 'Insufficient Balance', 'type': 'unknown_error', 'param': None, 'code': 'invalid_request_error'}
⏱️ Rate limited. Waiting 5.7s (attempt 3/3)...
⚠️ API call failed (attempt 3/3): APIStatusError [HTTP 402]
🔌 Provider: deepseek Model: deepseek-chat
🌐 Endpoint: https://api.deepseek.com/v1
📝 Error: HTTP 402: Insufficient Balance
📋 Details: {'message': 'Insufficient Balance', 'type': 'unknown_error', 'param': None, 'code': 'invalid_request_error'}
⚠️ Max retries (3) exhausted — trying fallback...
❌ Rate limited after 3 retries — HTTP 402: Insufficient Balance
💀 Final error: HTTP 402: Insufficient Balance

Affected Component

CLI (interactive chat)

Messaging Platform (if gateway-related)

No response

Debug Report

hermes debug share
────────────────────────────────────────

⚠️  API call failed (attempt 1/3): APIStatusError [HTTP 402]
   🔌 Provider: deepseek  Model: deepseek-chat
   🌐 Endpoint: https://api.deepseek.com/v1
   📝 Error: HTTP 402: Insufficient Balance
   📋 Details: {'message': 'Insufficient Balance', 'type': 'unknown_error', 'param': None, 'code': 'invalid_request_error'}
⏱️ Rate limited. Waiting 2.4s (attempt 2/3)...
⚠️  API call failed (attempt 2/3): APIStatusError [HTTP 402]
   🔌 Provider: deepseek  Model: deepseek-chat
   🌐 Endpoint: https://api.deepseek.com/v1
   📝 Error: HTTP 402: Insufficient Balance
   📋 Details: {'message': 'Insufficient Balance', 'type': 'unknown_error', 'param': None, 'code': 'invalid_request_error'}
⏱️ Rate limited. Waiting 5.5s (attempt 3/3)...

Operating System

Ubuntu24.04

Python Version

No response

Hermes Version

0.13.0

Additional Logs / Traceback (optional)

Root Cause Analysis (optional)

No response

Proposed Fix (optional)

No response

Are you willing to submit a PR for this?

  • I'd like to fix this myself and submit a PR

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1High — major feature broken, no workaroundcomp/cliCLI entry point, hermes_cli/, setup wizardtype/bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions