agent-Specialization/server
JOJO 03cb39924a feat(host): support concurrent workspace conversations
Implement host-mode multi-workspace concurrency while preserving one active task per workspace. Host terminals are scoped by workspace id, host workspace switching no longer globally refreshes or blocks on tasks, and task APIs now expose workspace/conversation metadata for frontend coordination.

Update conversation navigation so creating/loading conversations during an active workspace task is view-only and does not mutate backend terminal context. This prevents running task output from being pushed into the currently viewed conversation after switching or creating a new conversation.

Add running task awareness to the frontend sidebar, composer, and polling flow. Running tasks can be shown across workspaces, current-workspace active conversations render inline loaders, completed unviewed tasks persist as check indicators across refresh, and completed tasks clear once viewed.

Restore running conversations correctly after switching workspace/conversation or refreshing during an active task. REST polling is rebound only for the matching conversation/task, stale poll responses are ignored, empty assistant placeholders are restored before first content, and completion clears loader/stop states without requiring page refresh.

Adjust host workspace UX so switching workspaces loads the active conversation if one is running, otherwise opens the new-conversation state. Other conversations in a busy workspace are view-only with disabled input instead of blocked navigation.

Validation: python3 -m py_compile server/auth.py server/context.py server/conversation.py server/status.py server/tasks.py; python3 -m unittest test.test_server_refactor_smoke; npm run build --silent 2>&1 | tail -n 12.
2026-05-29 17:54:11 +08:00
..
__init__.py refactor: split web_server into modular architecture 2026-01-22 09:21:53 +08:00
admin.py feat: add MCP management and host-only runtime policy 2026-04-26 23:49:04 +08:00
api_auth.py feat: add api admin ui and container status fix 2026-01-25 10:49:52 +08:00
api_v1.py feat: add json-based extensible model registry and dynamic model UI 2026-04-09 20:56:54 +08:00
app_legacy.py refactor(models): use dynamic api model registry 2026-05-29 00:20:54 +08:00
app.py refactor: split web_server into modular architecture 2026-01-22 09:21:53 +08:00
auth_helpers.py fix: persist onboarding prompt status and bump android app to 1.0.20 2026-04-07 20:08:33 +08:00
auth.py feat(host): support concurrent workspace conversations 2026-05-29 17:54:11 +08:00
chat_flow_helpers.py refactor(models): use dynamic api model registry 2026-05-29 00:20:54 +08:00
chat_flow_runner_helpers.py refactor: split terminal and server chat flow modules 2026-03-07 18:38:30 +08:00
chat_flow_runner.py refactor: further split runner and tools mixins 2026-03-07 20:25:58 +08:00
chat_flow_runtime.py refactor: further split runner and tools mixins 2026-03-07 20:25:58 +08:00
chat_flow_stream_loop.py refactor(models): use dynamic api model registry 2026-05-29 00:20:54 +08:00
chat_flow_task_main.py refactor(models): use dynamic api model registry 2026-05-29 00:20:54 +08:00
chat_flow_task_runner.py refactor: isolate chat task main pipeline module 2026-03-07 20:32:02 +08:00
chat_flow_task_support.py refactor(messages): 统一运行期消息插入为 [系统通知|source] 前缀的 user 消息 2026-05-23 02:01:36 +08:00
chat_flow_tool_loop.py feat: add blocking user question tool 2026-05-28 16:30:55 +08:00
chat_flow.py feat: complete conversation versioning UX and restore workflow 2026-04-11 16:16:40 +08:00
chat.py refactor(models): use dynamic api model registry 2026-05-29 00:20:54 +08:00
context.py feat(host): support concurrent workspace conversations 2026-05-29 17:54:11 +08:00
conversation_stats.py feat(memory): refactor proactive memory and conversation recall 2026-05-27 03:09:42 +08:00
conversation.py feat(host): support concurrent workspace conversations 2026-05-29 17:54:11 +08:00
deep_compression.py feat(memory): refactor proactive memory and conversation recall 2026-05-27 03:09:42 +08:00
extensions.py refactor: split web_server into modular architecture 2026-01-22 09:21:53 +08:00
files.py refactor: split web_server into modular architecture 2026-01-22 09:21:53 +08:00
monitor.py refactor: split web_server into modular architecture 2026-01-22 09:21:53 +08:00
security.py feat: add api v1 bearer auth and polling docs 2026-01-24 02:35:07 +08:00
socket_handlers.py feat: add json-based extensible model registry and dynamic model UI 2026-04-09 20:56:54 +08:00
state.py feat: add blocking user question tool 2026-05-28 16:30:55 +08:00
status.py feat(host): support concurrent workspace conversations 2026-05-29 17:54:11 +08:00
tasks.py feat(host): support concurrent workspace conversations 2026-05-29 17:54:11 +08:00
usage.py refactor: split web_server into modular architecture 2026-01-22 09:21:53 +08:00
utils_common.py fix(prompt): merge disabled-tool notice into leading system prompts 2026-05-09 18:56:49 +08:00