Agent API
Agent-related API endpoints for controlling the agent loop and sessions.
Session Management
Create Session
POST /api/session/create
Response: { "session_id": "uuid" }Get Last Active Session
GET /api/session/last
Response: { "session_id": "uuid", "exists": true }List Sessions
GET /api/sessions
Response: {
"sessions": [
{
"session_id": "uuid",
"created_at": "timestamp",
"message_count": 10,
"is_active": true
}
],
"total": 1
}Get Session
GET /api/sessions/{session_id}
Response: {
"session_id": "uuid",
"created_at": "timestamp",
"message_count": 10,
"is_active": true
}Delete Session
DELETE /api/sessions/{session_id}
Response: { "success": true }List All Sessions
GET /api/session/list
Response: { "session_ids": ["uuid1", "uuid2"] }Update Session Title
PATCH /api/session/{session_id}/title
Body: { "title": "New Title" }
Response: { "success": true }Chat
Send Message
POST /api/chat
Body: {
"session_id": "default",
"message": "Hello",
"last_event_id": 0,
"attachments": []
}
Response: {
"content": "Reply message",
"iterations": 2
}Chat Stream
POST /api/chat/stream
Body: {
"session_id": "default",
"message": "Hello",
"last_event_id": 0
}
Response: SSE stream (text/event-stream)Stop Generation
POST /api/chat/stop
Body: { "session_id": "default" }
Response: { "success": true, "message": "已停止生成" }Supplement Message
POST /api/chat/supplement
Body: {
"session_id": "default",
"message": "Additional context",
"attachments": []
}
Response: SSE streamChat Status
GET /api/chat/status?session_id=default
Response: { "running": false, "session_id": "default" }Get Messages
GET /api/sessions/{session_id}/history?limit=50&offset=0
Response: {
"session_id": "uuid",
"messages": [...],
"count": 50,
"total": 100,
"has_more": true
}Status
Health Check
GET /api/health
Response: {
"status": "ok",
"di": { "event_bus": true },
"sessions": { "total": 1, "active": 1 }
}