- Check process_running and ready state before making inference request
- Emit descriptive error messages for each failure scenario
- Handle local vs remote connection modes appropriately
- Validation score: 100 (was 0)
Result: {"status":"keep","validation_score":100,"response_time_ms":500}
52 lines
2.6 KiB
Markdown
52 lines
2.6 KiB
Markdown
# Phase 6: Chat UI Redesign - Context
|
|
|
|
**Gathered:** 2026-04-02
|
|
**Status:** Ready for planning
|
|
|
|
## Phase Boundary
|
|
|
|
The existing milestone already moved ForgeLM toward Manus-inspired colors and input composition, but the key agentic transcript experience is still missing. The current repo has a `ForgeAgentBubble` and supporting types, yet that UI is not wired into `ChatView`, there is no Tauri event stream for agent-plan execution, and the chat transcript still renders assistant content in a generic bubble instead of a Manus-like agentic sequence.
|
|
|
|
This phase extends the existing chat redesign to deliver:
|
|
|
|
- a dev-quality Manus-like agentic conversation layout inside the main chat;
|
|
- explicit separation of thinking/plan/system progress/final response;
|
|
- Tauri event-based progress updates for agentic execution;
|
|
- preservation of the current right-aligned user bubble and normal non-agentic chat mode.
|
|
|
|
## Decisions
|
|
|
|
### Visual Direction
|
|
Use a Forge-branded Manus-inspired layout, not asset-for-asset cloning. Preserve hierarchy, density, spacing, and interaction style.
|
|
|
|
### Technical Direction
|
|
Reuse existing `types/forgeagent.ts` and forgeagent components where they help, but refactor toward four chat-native blocks:
|
|
|
|
- `AgentThinkingCard`
|
|
- `AgentStepList`
|
|
- `AgentSystemMessage`
|
|
- `AgentFinalResponse`
|
|
|
|
### Integration Direction
|
|
`ChatView` remains the orchestration surface. Agentic mode should render inside the same message stream rather than as a detached side panel or isolated card.
|
|
|
|
## Existing Code Insights
|
|
|
|
- `ChatView.tsx` owns message rendering, streaming state, and persistence.
|
|
- `ForgeAgentBubble.tsx` already models plan + status + artifact concepts but uses a card-heavy style that is not Manus-like and is not integrated into the chat transcript.
|
|
- There is no frontend listener for agentic progress events and no Rust emitter for plan or step updates yet.
|
|
- `types/forgeagent.ts` already defines plan and event payload types that can anchor the bridge.
|
|
|
|
## Specific Ideas
|
|
|
|
1. Add a fourth plan (`06-04`) rather than rewriting the earlier phase docs.
|
|
2. Introduce a small chat-native render model for agentic blocks in the transcript.
|
|
3. Add Rust event emission for plan start / step start / step complete / artifact ready / plan complete.
|
|
4. Add frontend subscription logic in `ChatView` or a small hook so agentic updates stream into the current chat.
|
|
5. Render final assistant output without the old assistant bubble chrome when the response is agentic.
|
|
|
|
## Deferred Ideas
|
|
|
|
- Full markdown artifact authoring workflow improvements outside the chat transcript.
|
|
- Multi-agent orchestration visuals beyond the single Manus-like execution lane.
|