agent-Specialization/config
JOJO 0f4cf1078a fix(ui,runtime,search): stabilize markdown/table rendering, runtime notices, and title/search config
This commit bundles a coordinated fix set across frontend and backend runtime flows:\n\n1) Markdown table overflow UX\n- Wrap rendered markdown tables in a dedicated horizontal-scroll container.\n- Preserve wrapper attributes through sanitize so styles always apply.\n- Keep page-level horizontal scroll disabled while allowing in-container table scroll.\n- Improve table container visual consistency (border/radius/shadow/scrollbar behavior).\n\n2) Code block horizontal jitter\n- Adjust code/pre scrollbar gutter and box model handling to remove left-right jump.\n\n3) Execution mode auto-fallback sync + toast behavior\n- Add expiry-driven frontend sync timer for direct->sandbox fallback state refresh.\n- Ensure permission/execution UI state updates at expiry time.\n- Keep fallback warning toast persistent but avoid false-positive toasts when simply switching to sandbox conversations.\n- Trigger fallback toast only when a real direct-expiry transition is detected.\n\n4) Runtime guidance/notify display consistency\n- Unify live polling rendering behavior with history replay behavior.\n- Restore real-time display of guidance/notify/sub-agent/background-command messages.\n- Keep runtime_mode_notice hidden only in idle state as requested.\n\n5) Backend runtime notice emission policy\n- Suppress runtime mode notice insertion when no task is running (idle path).\n- Preserve notice injection when task is actively running.\n\n6) Tool-call ordering safety for injected completion notices\n- Delay inline sub-agent/background-command completion message insertion until all parallel tool calls in the same assistant turn are finished.\n- Prevent invalid assistant/tool_call ordering that causes provider 400 errors for missing tool_call_id responses.\n\n7) Left panel scrolling behavior\n- Enable vertical scrolling for project files / todo / sub-agent / background-command panels.\n- Hide panel scrollbars while preserving scroll capability.\n\n8) Tavily multi-key selection support\n- Introduce config/search.py with selectable env variable name for Tavily key resolution.\n- Keep existing AGENT_TAVILY_API_KEY naming compatible.\n- Export search config through config package.\n\n9) Dedicated conversation-title model config\n- Add AGENT_TITLE_API_BASE_URL / AGENT_TITLE_API_KEY / AGENT_TITLE_MODEL_ID.\n- Route title generation calls to these dedicated credentials/model with fallback defaults.\n\n10) Supporting updates\n- Update .env.example to document new Tavily and title-generation env vars.\n- Include current custom model profile tweak (kimi-k2.6).\n\nValidated with:\n- npm run build\n- python3 -m py_compile (affected backend/config modules)\n- python3 -m unittest test.test_server_refactor_smoke
2026-05-13 15:13:52 +08:00
..
__init__.py fix(ui,runtime,search): stabilize markdown/table rendering, runtime notices, and title/search config 2026-05-13 15:13:52 +08:00
api.py fix(ui,runtime,search): stabilize markdown/table rendering, runtime notices, and title/search config 2026-05-13 15:13:52 +08:00
auth.py feat: add api admin ui and container status fix 2026-01-25 10:49:52 +08:00
auto_approval.json feat(permission): add auto-approval mode with approval agent, UI flow, and docs sync 2026-05-11 17:55:27 +08:00
conversation.py feat: enhance read tool and config structure 2025-11-14 18:33:55 +08:00
custom_models.json fix(ui,runtime,search): stabilize markdown/table rendering, runtime notices, and title/search config 2026-05-13 15:13:52 +08:00
custom_models.json.example fix(prompt): merge disabled-tool notice into leading system prompts 2026-05-09 18:56:49 +08:00
custom_tools.py chore: sync pending changes 2026-01-05 21:48:55 +08:00
docker_risk_markers.json fix(permission,docker): enforce docker-specific approval flow and polish permission menu layout 2026-05-11 22:56:10 +08:00
forbidden_commands.json feat(host-security+ui): unify host execution/approval behavior, runtime notices, and approval overlay UX 2026-05-12 19:16:38 +08:00
host_sandbox_policy.json feat(security): unify host sandbox controls across command/python/terminal/sub-agent and add path authorization UI 2026-05-11 13:41:30 +08:00
host_workspaces.json.example feat: add host workspace manager, mcp-tool-config skill, and UI enhancements 2026-04-28 13:04:51 +08:00
limits.py fix: extend run_command foreground timeout limit to 120s 2026-04-25 16:34:56 +08:00
mcp.py feat: add MCP management and host-only runtime policy 2026-04-26 23:49:04 +08:00
memory.py feat: enhance read tool and config structure 2025-11-14 18:33:55 +08:00
model_profiles.py fix: adapt deepseek custom models and harden todo/tool gating 2026-04-24 18:31:03 +08:00
ocr.py chore: snapshot before tool ui fix 2025-11-26 18:07:52 +08:00
paths.py fix(prompt): merge disabled-tool notice into leading system prompts 2026-05-09 18:56:49 +08:00
search.py fix(ui,runtime,search): stabilize markdown/table rendering, runtime notices, and title/search config 2026-05-13 15:13:52 +08:00
security.py feat(host-security+ui): unify host execution/approval behavior, runtime notices, and approval overlay UX 2026-05-12 19:16:38 +08:00
skill_hints.json fix: 完善工具约束与项目文档说明 2026-04-10 14:33:41 +08:00
sub_agent.py fix(prompt): merge disabled-tool notice into leading system prompts 2026-05-09 18:56:49 +08:00
terminal.py feat(security): harden host execution model with sandbox/direct controls 2026-05-10 19:19:01 +08:00
todo.py feat: enhance read tool and config structure 2025-11-14 18:33:55 +08:00
ui.py feat: inline workspace logo with theme adaptation and bump versions 2026-04-07 12:14:10 +08:00
uploads.py feat: improve onboarding and copy ux 2026-01-19 21:02:24 +08:00