fix(chat): honor ui_lang on WebSocket turns; ops NE display by host_name

Resolve runtime language from ui_lang and chat.send lang instead of hardcoding zh.
Align generalist/ops prompts with user language and require host_name (not ne_id) in ops outputs.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
oliver 2026-05-19 22:14:44 +08:00
parent 3a467704d6
commit f1626195f7
12 changed files with 86 additions and 27 deletions

View file

@ -11,6 +11,7 @@ from typing import Any, Callable
from runtime.agents.factory import build_gateway_executor
from runtime.chat.persist_terminal_fallback import persist_assistant_text_if_turn_missing
from runtime.gateway import OclawGateway
from runtime.lang import resolve_runtime_lang
from runtime.types import StandardMessage
from svc.config.paths import db_path
from svc.persistence.sqlite_store import SqliteStore
@ -164,7 +165,7 @@ async def run_agent_turn_via_bridge(
ctx = conn.auth_ctx or {}
tenant_id = str(ctx.get("tenant_id") or "")
user_id = str(ctx.get("user_id") or "")
lang = "zh"
lang = resolve_runtime_lang(store=store, hint=str(p.get("lang") or ""))
manager_agent = build_gateway_executor(
store,