Include Luna AI Assistant design docs covering channels, configuration, core architecture, memory, scheduler, and skills. Add reference docs from OpenClaw and ZeroClaw projects, plus Mistral and OpenAI API specs.
42 lines
1.4 KiB
Markdown
42 lines
1.4 KiB
Markdown
# Web Interface Channel
|
|
|
|
> [!info] Status: Not Yet Implemented
|
|
|
|
The Web Interface channel will provide a browser-based chat UI for interacting with Luna directly, without requiring the CLI or Telegram. It implements the `IChannel` interface defined in [[Channels]].
|
|
|
|
## Planned Approach
|
|
|
|
### WebInterfaceChannel
|
|
|
|
A server-side `IChannel` implementation that bridges the web frontend to Luna's channel system. Similar to [[CLI Channel]], it will likely use SignalR for real-time bidirectional communication.
|
|
|
|
**Key responsibilities:**
|
|
- Accept messages from authenticated browser sessions.
|
|
- Stream `ChatStreamUpdate` responses back to the frontend in real time.
|
|
- Manage connection lifecycle (connect, disconnect, reconnect).
|
|
|
|
### WebInterfaceAdapter
|
|
|
|
An `IHostedService` (similar to `TelegramAdapter` in [[Telegram Channel]]) responsible for:
|
|
- Registering `WebInterfaceChannel` instances with `IChannelManager` from [[Channels]].
|
|
- Managing per-user or per-session channel lifecycle.
|
|
|
|
## Configuration
|
|
|
|
Will follow the existing [[Configuration]] options pattern with a `WebInterfaceOptions` class containing settings such as:
|
|
- Authentication / authorization settings.
|
|
- CORS policy.
|
|
- Session timeout.
|
|
|
|
## Dependencies
|
|
|
|
### Expected Project References
|
|
- `Luna.Channels.Abstractions`
|
|
- `Luna.Configuration`
|
|
- `Luna.Core.Abstractions`
|
|
- `Luna.Shared`
|
|
|
|
## Namespace
|
|
|
|
`Luna.Channels.Web`
|