[Feature] Agent SSE streaming chat API design & Frontend Integration
- Dominant language
- Go
- Stars
- 4.1k
- Forks
- 2.2k
- Avg merge
- 10d 12h
- Merged PRs (30d)
- 4
Description
## Objectives
Build a Chat UI frontend that integrates with the existing SSE streaming interface to provide a complete user interaction experience for Dubbo Admin AI functionality.
## Backend Interface Status
For more details, please refer to Apifox.
### SSE Streaming Chat Interface
**Endpoint**: `POST /api/v1/ai/chat/stream`
Compatible with the **Anthropic Claude SSE(https://docs.claude.com/en/docs/build-with-claude/streaming]** message format.
**SSE Event Types**:
```
- message_start // Message start
- content_block_start // Content block start
- content_block_delta // Content delta (real-time text stream)
- content_block_stop // Content block end
- message_delta // Message metadata update
- message_stop // Message end
- error // Error event
- ping // Ping event
```
### Session Management Interface
| Endpoint | Method | Function |
|----------|--------|----------|
| `/api/v1/ai/sessions` | POST | Create session |
| `/api/v1/ai/sessions` | GET | List all sessions |
| `/api/v1/ai/sessions/{sessionId}` | GET | Get session details |
| `/api/v1/ai/sessions/{sessionId}` | DELETE | Delete session |
## Frontend References
1: K8M (https://github.com/weibaohui/k8m)
- A Lightweight, Cross-Platform Mini Kubernetes AI Dashboard
2: Use Existing Anthropic-Compatible Chat UI
- claude-ui: https://github.com/chihebnabil/claude-ui
- For more, in https://github.com/billmei/every-chatgpt-gui
Contributor guide
Research direction
Start by reviewing the POST /api/v1/ai/chat/stream interface and its Anthropic-compatible SSE event types, then inspect the session endpoints and the K8M and claude-ui references. Done means a complete chat UI integrated with streaming responses and session creation, listing, retrieval, and deletion.
Written by the indexing model from the issue text.
Assessment
- Domain
- api, frontend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100