forked from boos/BoosAPI
refactor: merge agent workbench into chat
This commit is contained in:
@@ -2,19 +2,17 @@
|
||||
|
||||
## Scope
|
||||
|
||||
This deliverable adds the desktop UI shell and local interactions for Agent Workbench, and connects Agent mode to the existing desktop Agent command path. It intentionally avoids new Rust commands, database tables, billing, and remote media generation until the page contract is stable.
|
||||
This deliverable adds the desktop Chat empty-state creator composer and local interactions for Agent Workbench, and connects Agent mode to the existing desktop Agent command path. It intentionally avoids new Rust commands, database tables, billing, and remote media generation until the page contract is stable.
|
||||
|
||||
## Frontend Boundaries
|
||||
|
||||
- `types/index.ts` owns the `PageKey` addition.
|
||||
- `components/layout/Sidebar.tsx` owns navigation entry placement.
|
||||
- `components/layout/ContentArea.tsx` owns routing from `PageKey` to page component.
|
||||
- `pages/AgentWorkbenchPage.tsx` owns the creator composer, local attachment state, mode state, model selection, Agent handoff, and placeholder result/status for media modes.
|
||||
- `components/chat/AgentWorkbenchComposer.tsx` owns the creator composer, local attachment state, mode state, model selection, Agent handoff, and placeholder result/status for media modes.
|
||||
- `components/chat/ChatView.tsx` renders the composer in the Chat empty state and keeps the normal Chat input for existing conversations.
|
||||
- `stores/providerStore.ts` remains the source of provider/model data. The page reads `providers` and calls `fetchProviders`; it does not duplicate provider fetching logic.
|
||||
- `stores/conversationStore.ts` remains the source for conversation creation and Agent streaming. The Workbench reuses `createConversation`, `updateConversation`, and `sendAgentMessage`.
|
||||
- `stores/skillStore.ts` remains the source for skill installation/listing. The Workbench reuses `loadSkills`, `installSkill`, and `toggleSkill` for third-party skills.
|
||||
- `lib/browserMock.ts` mirrors skill install/list/toggle enough for browser preview.
|
||||
- `i18n/locales/*.json` owns navigation labels. The first page UI can use Chinese literal copy to match current product direction, but nav should use locale keys.
|
||||
- The first composer UI can use Chinese literal copy to match current product direction; it does not add a standalone nav label.
|
||||
|
||||
## Data Flow
|
||||
|
||||
|
||||
Reference in New Issue
Block a user