# Desktop Agent Workbench integration ## Goal Merge the first usable Agent Workbench creator surface into the desktop Chat entry so users start from one conversation-first screen: choose a creation mode, select a model, attach references, and type a prompt. ## Requirements - Integrate the Agent Workbench composer into the existing Chat page instead of adding a separate Agent navigation module. - The first screen should match the creator-composer direction: centered prompt, large input surface, upload affordance, creation mode selector, auto toggle, model selector, skills button, subject button, and submit button. - Creation modes must include at least Agent, image generation, video generation, music generation, voice generation, digital human, and action imitation. Unsupported modes may show “coming soon” copy but must remain selectable. - Agent mode should expose a conversation model selector populated from existing enabled desktop provider models where possible, with a custom model fallback. - Upload affordance should accept local reference files, display removable attachment chips, and pass attachments into existing Agent chat flow when Agent mode submits. - The composer must follow the desktop app’s existing React/Ant Design/Zustand conventions and remain reachable through the Chat sidebar entry. - The implementation must avoid new backend schema. Existing Tauri commands may be reused. - The Workbench skills menu should expose a JianYing/剪映 automation entry that installs/enables `luoluoluo22/jianying-editor-skill` through the existing Desktop skills system and primes the Agent prompt. - Desktop should bundle the first-party curated skill pack in the project so JianYing, Seedance, DWG/CAD, and PPT skills are available even when the online `skills.sh` market does not return them. ## Acceptance Criteria - [x] Chat empty state contains the Agent Workbench composer; no separate Agent Workbench sidebar entry is required. - [x] Agent Workbench page has a centered creator composer with mode dropdown, model control, upload button, `@` subject popover, and submit button. - [x] Available chat models are derived from existing enabled desktop providers/models, with a custom model option. - [x] Selecting a mode updates the composer label and mode-specific model controls where applicable. - [x] Local file selection displays attachment chips and supports removing them. - [x] Agent mode creates an Agent conversation/session and sends the prompt plus attachments through the existing Agent stream flow. - [x] Skills menu can install/enable the JianYing editor skill and insert a matching Agent prompt prefix. - [x] Desktop seeds bundled skills into the local skills directory and mirrors them in the marketplace/browser preview. - [x] Unsupported submit paths do not crash; they show a clear in-page result/status. - [x] `bun run typecheck` and `bun run build` pass in `/root/metapi/desktop`. ## Notes - Keep `prd.md` focused on requirements, constraints, and acceptance criteria. - Lightweight tasks can remain PRD-only. - For complex tasks, add `design.md` for technical design and `implement.md` for execution planning before `task.py start`.