- C# 95.1%
- Python 1.9%
- Shell 1.8%
- PowerShell 1.1%
- Batchfile 0.1%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| handoff | ||
| packaging | ||
| scripts | ||
| src/Nexum | ||
| tools | ||
| .gitignore | ||
| AUDIT_FIXES.md | ||
| FEATURES.md | ||
| Nexum.sln | ||
| PUBLISHING.md | ||
| README.md | ||
Nexum
Desktopový klient pro Matrix — Avalonia UI, C# / .NET 10, běží na Linuxu, Windows i macOS.
Postavený nad vlastním MatrixSDK. Cílem je funkční parita s Elementem a UX blízké Discordu.
Co umí
Komunikace
Místnosti a spaces, DM, vlákna (s náhledem poslední odpovědi), reakce, edity
s historií úprav, odpovědi, mazání, připnuté zprávy, hlasování (MSC3381),
captions (MSC2530), přeposílání, markdown se zvýrazněním syntaxe, autocomplete
(@lidi, :emoji, #místnosti), slash příkazy, emoji picker (vlastní emoji
přes MSC2545, jumbo emoji, plná Unicode 17.0 sada), samolepky, animované GIFy.
Šifrování E2EE oběma směry, SAS verifikace zařízení, cross-signing, záloha klíčů, SSSS recovery klíč, šifrované přílohy, lokální vyhledávání v E2EE historii.
Hovory a média 1:1 audio hovory (WebRTC přes SIPSorcery, TURN z homeserveru), hlasové zprávy (MSC3245) s waveformem, sdílení polohy (MSC3488), náhledy médií, přehrávání videa.
Ovládání a UX Quick switcher (Ctrl+K), skok na datum (MSC3030), skok na zprávu, read receipts, typing indikátory, notifikace, multi-account, vlastní status a presence, export chatu do HTML, cache zpráv.
Vzhled Volitelná akcentní barva, barvy jmen uživatelů (i po jednotlivcích), hover toolbar u zpráv, member list s online-first řazením, tmavý motiv.
Jazyky Čeština a angličtina, přepínatelné za běhu.
Aktualizace
Automatické aktualizace na Linuxu i Windows — detekce nové verze z Forgejo releases,
ed25519 podpis, stabilní/testovací kanál v Nastavení. Na Windows navíc instalátor
(Nexum-Setup.msi, WiX).
Podrobný rozpad včetně porovnání s Elementem a Cinny je ve FEATURES.md.
Build a spuštění
dotnet run --project src/Nexum
Potřebuješ .NET 10 SDK. Repozitář počítá s tím, že MatrixSDK leží vedle něj
ve stejném pracovním adresáři — projekt se na něj odkazuje relativní cestou:
claude-workspace/
├── MatrixSDK/
└── Nexum/
Self-contained build
dotnet publish src/Nexum -r linux-x64 -c Release
Podporované RID: linux-x64, win-x64, osx-x64, osx-arm64.
Detaily k publikování jsou v PUBLISHING.md.
Nativní závislosti
Většina se veze z NuGetu a nevyžaduje systémovou instalaci — SDL2 (zvuk), Oniguruma (zvýrazňování syntaxe), libsodium (krypto), LibVLC (video).
Výjimka je libolm, které se stahuje zvlášť (OlmDownloader) a musí ležet vedle
aplikace. Bez něj klient nastartuje, ale E2EE nepojede.
Struktura
src/Nexum/
├── Views/ okna a panely (AXAML)
├── ViewModels/ MVVM přes CommunityToolkit.Mvvm
├── Services/ Matrix vrstva, úložiště, audio, video, cache
├── Models/ datové modely
└── Assets/ styly, motivy, i18n
Dokumentace
| Soubor | Obsah |
|---|---|
| FEATURES.md | Rozpad funkcí a porovnání s ostatními klienty |
| PUBLISHING.md | Sestavení distribuovatelných buildů |
Vývoj s pomocí AI
Tenhle projekt vzniká ve spolupráci s AI — konkrétně s Claude (Anthropic) přes Claude Code. Píšu to rovnou do README, protože pro někoho je to podstatná informace a nemá ji dolovat z commit historie.
Není to náhoda ani zkratka: projekt je zároveň můj způsob, jak se naučit pracovat s AI a s AI agenty. Ta část je pro mě stejně důležitá jako výsledný kód.
Stav
Osobní projekt v aktivním vývoji. Zatím bez licence — pokud bys to chtěl použít, ozvi se.