bundle nchat - nself-org/cli GitHub Wiki
ɳChat Plugin Bundle
Contents
What Is ɳChat
ɳChat is the marketing name for the bundle of plugins that powers the chat reference app. It is not a repo or a single plugin. When the bundle is installed, your ɳSelf backend gains real-time messaging, video and audio calls, call recording, moderation, bots, and authentication, every feature of a modern team chat product.
ɳChat pairs with the chat repo, an open-source self-hosted messaging app (Next.js + Capacitor + Electron + Tauri). Without the bundle the chat app still runs core messaging; pro features (video, recording, advanced moderation, bots) hide gracefully via runtime feature detection.
Plugins Included
7 pro plugins, all tier: pro (Basic tier or higher).
| Plugin | Tier | Language | What It Does |
|---|---|---|---|
| chat | pro | Go | Channels, DMs, threads, reactions, pins, search |
| livekit | pro | Go | Audio and video call rooms (WebRTC SFU) |
| recording | pro | Go | Call recording with playback |
| moderation | pro | Go | Auto-moderation, word filters, spam detection, user reports |
| bots | pro | Go | Bot framework with slash commands and event subscriptions |
| realtime | pro | Go | WebSocket presence, typing indicators, read receipts |
| auth | pro | Go | Advanced auth: SSO, MFA, session management |
How They Work Together
Client (chat/) → realtime + chat → channels, DMs, threads
↓
livekit (calls) + recording (capture) + moderation (filter) + bots (automation)
↓
auth (SSO, MFA)
Messaging
- chat stores channels, DMs, threads, messages, reactions, pins, attachments
- realtime maintains WebSocket connections for typing indicators, presence, read receipts, live updates
Voice and video
- livekit runs the WebRTC SFU for audio and video call rooms
- recording captures audio and video streams to MP4 with playback support
Safety
- moderation scans messages for banned content, spam patterns, and rate-limit abuse
- bots lets administrators install custom bots that respond to slash commands or react to events
Identity
- auth provides SSO connectors (SAML, OIDC), MFA enforcement, and session management beyond the default
authservice
Installation
# Basic tier or higher (all nChat plugins are tier: pro)
nself license set nself_pro_xxxxx...
nself plugin install chat livekit recording moderation bots realtime auth
# Rebuild and start
nself build && nself start
Basic tier is $0.99/mo or $9.99/yr. See Plugin-Licensing for the tier comparison.
Getting Started
Prerequisites
- ɳSelf CLI installed and a project initialized (
nself init) - Backend running (
nself start) - Basic tier license key or higher
- TURN/STUN credentials for
livekitif running across NAT - Object storage configured for
recording(MinIO comes free with the ɳSelf stack)
Step 1: Install the plugins
Install all 7 ɳChat plugins with the command above.
Step 2: Configure LiveKit
Edit your .env to set LiveKit API keys and TURN credentials. See plugin-livekit.
Step 3: Configure moderation
Set word lists and rate limits for moderation. See plugin-moderation.
Step 4: Connect the chat client
Clone nself-org/chat, copy .backend.example/ to .backend/, set the license key, and run nself build && nself start from .backend/. Then pnpm dev in the frontend.
Troubleshooting
- Calls fail to connect: verify LiveKit ports are reachable and TURN credentials are valid
- Recordings missing: check object storage credentials and that the recording container has write access
- Moderation too aggressive: tune word lists and rate limits per channel
Related Pages
- Plugin Overview, all plugins and tiers
- Plugin Install, how to install plugins
- Plugin Licensing, license keys and tiers
- Feature-ɳChat, feature overview
- Individual plugin pages: chat, livekit, recording, moderation, bots, realtime, auth