agent-Specialization/utils
JOJO 08d9812f45 feat(docker): support isolated projects in web mode
Implement Docker Web project management on top of workspace_id while keeping host mode workspace behavior intact.

Backend changes:

- Move Docker user files to users/<user>/projects/<project_id>/{project,data,logs} and shared user state to users/<user>/personal.

- Add automatic legacy migration from old project/data/logs/agentskills layouts and from the temporary project/shared layout.

- Generate project IDs server-side from the project name, reserve internal IDs, and hide project paths from the UI.

- Add project rename/delete APIs; deleting a Docker project removes its project directory and releases terminal/container state.

- Add host workspace rename/delete APIs; deleting a host workspace only removes catalog entries and keeps files on disk.

- Scope Docker containers, terminals, uploads, conversations, storage, and running task metadata by workspace_id.

- Store private skills under users/<user>/personal/agentskills and sync them into each project workspace.

- Inject the current project/workspace name through prompts/workspace_system.txt.

Frontend changes:

- Replace Docker file-tree area with project management UX and reuse host multi-workspace running-task behavior.

- Add a management dialog for creating, renaming, and deleting projects/workspaces.

- Show project labels instead of internal IDs in toasts and project lists.

- Clear stale conversation history during project/workspace switching and show loading until the new list is ready.

- Keep running-task loader/check behavior consistent across host workspaces and Docker projects.

Validation:

- python3 -m py_compile modules/user_manager.py modules/host_workspace_manager.py modules/skills_manager.py core/main_terminal_parts/tools_execution.py server/auth.py server/context.py server/status.py server/conversation.py server/tasks.py utils/context_manager.py

- python3 -m unittest test.test_server_refactor_smoke

- npm run build --silent 2>&1 | tail -n 20
2026-05-29 19:49:48 +08:00
..
__pycache__ <fix thinking chunk> 2025-11-19 20:47:56 +08:00
__init__.py feat: 添加 terminal-guide 和 sub-agent-guide skills 2026-03-16 21:17:02 +08:00
api_client.py refactor(models): use dynamic api model registry 2026-05-29 00:20:54 +08:00
context_manager.py feat(docker): support isolated projects in web mode 2026-05-29 19:49:48 +08:00
conversation_manager.py feat(memory): refactor proactive memory and conversation recall 2026-05-27 03:09:42 +08:00
host_workspace_debug.py feat(memory): refactor proactive memory and conversation recall 2026-05-27 03:09:42 +08:00
logger.py chore(logging): tune title diagnostics and file logs 2026-05-25 22:57:29 +08:00
media_store.py fix: render user media previews from media store refs 2026-04-27 12:57:13 +08:00
terminal_factory.py chore: initial import 2025-11-14 16:44:12 +08:00
token_usage.py refactor(models): use dynamic api model registry 2026-05-29 00:20:54 +08:00
tool_result_formatter.py feat(memory): refactor proactive memory and conversation recall 2026-05-27 03:09:42 +08:00