cverse-api-server v0.1.0
subsystem
capsule://quake0day/[email protected]
The Go backend server responsible for orchestrating real-time sessions, managing characters, knowledge bases, and tasks. It acts as a gateway, routing requests to various AI inference services and integrating with LiveKit for WebRTC.
Owns
- HTTP and WebSocket API endpoints
- Session and character management logic
- Task management and persistence
- Orchestration of AI inference calls
- Configuration loading and management
Does not own
- Actual AI model implementations
- Low-level WebRTC media processing (delegates to LiveKit or direct peer)
- Frontend UI
AI orientation
An AI agent working on this capsule would focus on extending API endpoints, refining session orchestration logic, improving task management, or integrating new types of AI inference services. It requires strong Go programming skills and understanding of real-time system design.
Avoid
- Implementing AI models directly within this Go service.
- Modifying frontend UI logic.
Provides
http_api:backend-api— REST API for managing characters, settings, and tasks.http_api:websocket-api— WebSocket API for real-time chat and media control.
Requires
http_api:asr-grpcfromcverse-inference-core— gRPC API for Automatic Speech Recognition.http_api:avatar-grpcfromcverse-inference-core— gRPC API for avatar generation.http_api:llm-grpcfromcverse-inference-core— gRPC API for Large Language Models.http_api:rag-grpcfromcverse-inference-core— gRPC API for Retrieval Augmented Generation.http_api:tts-grpcfromcverse-inference-core— gRPC API for Text-to-Speech.http_api:voice-llm-grpcfromcverse-inference-core— gRPC API for Voice-enabled Large Language Models.library:livekit-server-sdkfromcverse-livekit-adapter— LiveKit server SDK for room and token management.library:webrtc-direct-peerfromcverse-webrtc-direct-peer— Direct WebRTC peer connection management.
Dependencies
Capsules
cverse-protobuf>=0.1.0cverse-livekit-adapter>=0.1.0cverse-webrtc-direct-peer>=0.1.0cverse-inference-core>=0.1.0
Invariants (must always hold)
- API endpoints must be stable and well-documented.
- Session state must be consistent and recoverable.
- Inference service calls must be robust and handle failures gracefully.
Source files (58)
Click any file to view its content; the path on the right shows where the file lands when this capsule is installed.
src/server/cmd/cyberverse-server/main.go→cmd/server/main.gosrc/server/go.mod→go.modsrc/server/go.sum→go.sumsrc/server/internal/agenttask/service.go→internal/agenttask/service.gosrc/server/internal/agenttask/store.go→internal/agenttask/store.gosrc/server/internal/agenttask/store_test.go→internal/agenttask/store_test.gosrc/server/internal/agenttask/types.go→internal/agenttask/types.gosrc/server/internal/api/anonymous_owner.go→internal/api/anonymous_owner.gosrc/server/internal/api/avatar_model_test.go→internal/api/avatar_model_test.gosrc/server/internal/api/characters.go→internal/api/characters.gosrc/server/internal/api/characters_test.go→internal/api/characters_test.gosrc/server/internal/api/components.go→internal/api/components.gosrc/server/internal/api/conversations.go→internal/api/conversations.gosrc/server/internal/api/handlers.go→internal/api/handlers.gosrc/server/internal/api/handlers_test.go→internal/api/handlers_test.gosrc/server/internal/api/kanshan_owner.go→internal/api/kanshan_owner.gosrc/server/internal/api/knowledge.go→internal/api/knowledge.gosrc/server/internal/api/knowledge_test.go→internal/api/knowledge_test.gosrc/server/internal/api/router.go→internal/api/router.gosrc/server/internal/api/settings.go→internal/api/settings.gosrc/server/internal/api/tasks.go→internal/api/tasks.gosrc/server/internal/api/tasks_test.go→internal/api/tasks_test.gosrc/server/internal/character/store.go→internal/character/store.gosrc/server/internal/character/store_test.go→internal/character/store_test.gosrc/server/internal/config/config.go→internal/config/config.gosrc/server/internal/config/config_test.go→internal/config/config_test.gosrc/server/internal/config/dotenv.go→internal/config/dotenv.gosrc/server/internal/config/yamlfile.go→internal/config/yamlfile.gosrc/server/internal/inference/asr_client.go→internal/inference/asr_client.gosrc/server/internal/inference/avatar_client.go→internal/inference/avatar_client.gosrc/server/internal/inference/client.go→internal/inference/client.gosrc/server/internal/inference/interfaces.go→internal/inference/interfaces.gosrc/server/internal/inference/llm_client.go→internal/inference/llm_client.gosrc/server/internal/inference/rag_client.go→internal/inference/rag_client.gosrc/server/internal/inference/trace_context.go→internal/inference/trace_context.gosrc/server/internal/inference/tts_client.go→internal/inference/tts_client.gosrc/server/internal/inference/voice_llm_client.go→internal/inference/voice_llm_client.gosrc/server/internal/inference/voice_llm_client_test.go→internal/inference/voice_llm_client_test.gosrc/server/internal/kanshan/constants.go→internal/kanshan/constants.gosrc/server/internal/orchestrator/errors.go→internal/orchestrator/errors.gosrc/server/internal/orchestrator/orchestrator.go→internal/orchestrator/orchestrator.gosrc/server/internal/orchestrator/orchestrator_audio_only_test.go→internal/orchestrator/orchestrator_audio_only_test.gosrc/server/internal/orchestrator/orchestrator_idle_video_test.go→internal/orchestrator/orchestrator_idle_video_test.gosrc/server/internal/orchestrator/orchestrator_voice_recording_test.go→internal/orchestrator/orchestrator_voice_recording_test.gosrc/server/internal/orchestrator/orchestrator_voice_sync_test.go→internal/orchestrator/orchestrator_voice_sync_test.gosrc/server/internal/orchestrator/prompt_test.go→internal/orchestrator/prompt_test.gosrc/server/internal/orchestrator/session.go→internal/orchestrator/session.gosrc/server/internal/orchestrator/session_test.go→internal/orchestrator/session_test.gosrc/server/internal/orchestrator/startup_greeting_test.go→internal/orchestrator/startup_greeting_test.gosrc/server/internal/orchestrator/visual_input_test.go→internal/orchestrator/visual_input_test.gosrc/server/internal/rag/store.go→internal/rag/store.gosrc/server/internal/rag/store_test.go→internal/rag/store_test.gosrc/server/internal/recording/recorder.go→internal/recording/recorder.gosrc/server/internal/recording/recorder_test.go→internal/recording/recorder_test.gosrc/server/internal/ws/client.go→internal/ws/client.gosrc/server/internal/ws/handler.go→internal/ws/handler.gosrc/server/internal/ws/hub.go→internal/ws/hub.gosrc/server/internal/ws/hub_test.go→internal/ws/hub_test.go
Plus capsule.yaml and
install.json.