jbot: disable local memory in Hermes Agent mode

In Hermes mode JBOT is a pure voice UI — memory is owned by the Agent:
- Backend: sys prompt excludes local memories when backend_mode=hermes
- Backend: config_view now returns backendMode so the frontend can adapt
- Frontend: App.jsx loads backendMode on mount via apiConfig()
- Frontend: memories not passed to apiChat() when isHermesMode
- Frontend: memory extraction (apiExtractMemory) skipped when isHermesMode
- Frontend: MemoryPanel hidden in Hermes mode; replaced by subtle
  '🧠 Hermes Agent 模式 · 记忆由 Agent 管理' badge

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
2026-05-17 14:13:37 +10:00
co-authored by Copilot
parent 76603425a5
commit bb3fe1b554
5 changed files with 40 additions and 14 deletions
+3 -1
View File
@@ -547,7 +547,8 @@ def chat_view(request):
settings = data.get('settings', {})
mode = cfg.get('backend_mode', 'openrouter')
sys_content = _build_sys_prompt(settings, memories)
# In Hermes mode, don't inject local memories — Hermes manages its own memory
sys_content = _build_sys_prompt(settings, [] if mode == 'hermes' else memories)
try:
if mode == 'hermes':
@@ -626,4 +627,5 @@ def config_view(request):
'volcengine': bool(cfg['volc_app_id'] and cfg['volc_access_token']),
'llm': bool(cfg['openrouter_api_key']),
'ttsVoice': cfg['volc_tts_voice'],
'backendMode': cfg.get('backend_mode', 'openrouter'),
})