"Kedaulatan Digital adalah Harga Mati." — Bangsa Indonesia membangun AI-nya sendiri, oleh rakyat, untuk rakyat.
SMAR (Sovereign Multimodal AI Research) adalah inisiatif riset terdesentralisasi untuk membangun model kecerdasan buatan (AI) yang memahami konteks budaya, bahasa daerah, dan kebutuhan spesifik Indonesia tanpa bergantung pada infrastruktur asing atau modal ventura.
Important
Status Proyek: Saat ini SMAR berada dalam fase Functional MVP (Minimum Viable Product). Core tier (Go), Superpeer tier (Python), Peer tier (Python), dan Edge tier (Python/FastAPI) telah diimplementasikan, di-audit, dan diuji end-to-end. Sistem dapat berjalan pada berbagai variasi hardware (GPU high-end hingga CPU-only laptop jadul) dengan auto-detection dan graceful degradation.
Mentorship: Proyek ini mendapat arahan dari Ir. Onno W. Purbo, M.Eng., Ph.D. (ITTS) dan sedang dalam proses pengenalan ke komunitas akademik untuk kemungkinan kolaborasi di masa depan.
Visi jangka panjang: membangun SMAR-9B/27B (Flagship Nasional) dan 1.5T MoE (Institutional Backbone) menggunakan jaringan distribusi Peer-to-Peer (P2P) dari puluhan ribu PC relawan. Saat ini: Functional MVP dengan Edge chatbot, Core consensus simulator, dan Peer training client.
- Zero-Crypto: Tidak ada token, tidak ada mining. Murni riset & gotong royong.
- Privacy-First: Data pelatihan tidak pernah keluar dari perangkat relawan (Federated Learning via QLoRA).
- Teacher-Student: Menggunakan Qwen 3.5 sebagai basis "Guru" untuk mempercepat adaptasi domain lokal.
- RL-Ready: Edge Layer feedback (thumbs up/down + corrections) diekstrak menjadi preference pairs untuk DPO (Direct Preference Optimization) training — fondasi RLHF tanpa perlu reward model terpisah.
- Hardware-Agnostic: Auto-detection VRAM/GPU. Bisa jalan di RTX 4090 (24GB) maupun laptop jadul CPU-only.
Proyek ini ditenagai oleh infrastruktur DIGDAIA:
- Core Layer (Go): Konsensus final (PBFT) di simpul institusi strategis (ITTS/BRIN). Menggunakan FedAvg, FedProx, FedYogi untuk agregasi. Dilengkapi Krum Byzantine filter.
- Superpeer Layer (Python/FastAPI): Agregasi regional di setiap pulau besar dengan task scheduling, peer reputation tracking, dan VRAM-aware task assignment.
- Peer Layer (Python): Jaringan PC relawan yang menjalankan QLoRA fine-tuning. Auto-detect hardware dan adjust batch size/epochs/LoRA rank secara dinamis.
- Edge Layer (Python/FastAPI): Chatbot web dengan UI/UX tier big-tech AI untuk pengumpulan data training dari interaksi pengguna (bukan inferensi model di device). Setiap chat, koreksi, dan rating dari pengguna menjadi corpus training untuk ronde federated learning berikutnya. Dilengkapi sidebar history, feedback inline, dan auto-resize input.
| Tier | Bahasa | Status | Fitur Utama |
|---|---|---|---|
| Core | Go | ✅ Functional | PBFT consensus, Krum filter, FedAvg/FedProx/FedYogi aggregation, HTTP/gRPC servers |
| Superpeer | Python | ✅ Functional | Regional scheduling, peer registration, task assignment, heartbeat, metrics-based Byzantine detection |
| Peer | Python | ✅ Functional | Auto hardware detection, QLoRA training, mock fallback for CPU-only, CLI entry point |
| Edge | Python | ✅ Functional MVP | Chatbot web (FastAPI) dengan UI/UX tier big-tech AI, streaming response, syntax highlighting, dark/light mode, settings panel, export chat, keyboard shortcuts, feedback collection, training pair extraction, HMAC-signed superpeer sync, sidebar conversation history |
| Fitur | Status | Keterangan |
|---|---|---|
| PBFT Consensus (Go) | ✅ Implemented | Quorum 2f+1, view change basic, panic recovery |
| Krum Byzantine Filter (Go) | ✅ Implemented | n >= 2f+3 validation, pointer-safe |
| Krum Byzantine Filter (Python) | File ada, metrics-based detection aktif, full tensor Krum planned | |
| FedAvg / FedProx / FedYogi | ✅ Implemented | Server-side aggregation (Go) |
| HMAC-SHA256 Request Signing | ✅ Implemented | Go + Python cross-tier auth dengan timestamp replay protection (MVP) |
| JWT Authentication | 📝 Planned | Pengganti HMAC untuk production |
| mTLS / Certificate Pinning | 📝 Planned | Tidak ada di codebase MVP |
| Differential Privacy | 📝 Planned | Disebut di whitepaper, belum diimplementasikan |
| WebSocket Streaming | 📝 Planned | Disebut di api-spec, belum diimplementasikan |
| KV Cache q8_0 Quantization | ✅ Implemented | llama.cpp native, 50% RAM savings |
| TurboQuant (3.5-bit) | ❌ Deprecated | llama.cpp tidak support, gunakan q8_0/q4_0 |
| Benchmark Framework | ✅ Implemented | Perplexity, BLEU, F1 evaluation dengan mock runner |
| 3-Node PBFT Testnet | ✅ Implemented | PowerShell script untuk demo multi-node + leader failure |
| RL / DPO Foundation | ✅ Implemented | Preference pair extraction (Edge), DPO trainer stub (Peer), Go preference store (Core) |
- ✅ Config Extraction - All settings moved to
config.json(no more hardcoded values) - ✅ Graceful Shutdown - SIGINT/SIGTERM handling prevents data loss
- ✅ Input Validation - File type & size validation for image uploads
- ✅ Unit Tests - Test suite for RAG engine, config, and validation
- ✅ CI/CD Pipeline - GitHub Actions for automated testing
- ✅ SFT Training Script - Supervised Fine-Tuning untuk Qwen3.5-2B dengan QLoRA
- ✅ DPO Training Script - Direct Preference Optimization untuk alignment
- ✅ Low-End Hardware Support - Optimized untuk 12GB RAM, CPU-only
- ✅ Training Dashboard - Monitoring real-time via
/training/statsendpoint - 📊 40 SFT Samples + 22 DPO Pairs - Ready untuk training
- ✅ RAG Engine - Retrieval Augmented Generation dengan fuzzy matching
- ✅ Web Search Fallback - DuckDuckGo integration untuk real-time queries
- ✅ Abbreviation Expansion - Auto-expand slang Indonesia (tdk, gw, km, bsk)
- ✅ Typo Tolerance - Levenshtein distance untuk typo handling
- ✅ Telegram Integration - Chat SMAR via Telegram
- ✅ Multi-platform - Web + Telegram dengan backend yang sama
- ✅ Conversation History - Persistensi sesi per user
- ✅ Export Chat - Export ke PDF/Markdown/JSON
- ✅ Voice Mode - Text-to-speech dengan browser SpeechSynthesis API
- ✅ Quick Actions - Pre-defined prompts untuk common questions
- ✅ Message Editing - Edit & regenerate responses
- ✅ Branching - Multiple response versions
SMAR Edge Layer menyediakan chatbot web dengan UI/UX tier big-tech AI company (ChatGPT/Claude style), branding SMAR, dan feedback collection untuk RL training.
Light Mode — Active Conversation:

Settings Panel (Pengaturan):
- Mode Gelap / Terang toggle
- Bahasa Chatbot selector (ID, JV, SU, MIN, BALI, BUGIS, ACEH)
- Instruksi Sistem (System Prompt)
- Export Chat (Markdown / JSON)
Fitur Chatbot:
- ✅ Streaming Response — Simulasi token-by-token untuk pengalaman natural
- ✅ Syntax Highlighting — Code blocks dengan highlight.js dan copy button
- ✅ Message Editing — Edit pesan yang sudah terkirim dan regenerate
- ✅ Dark / Light Mode — Toggle tema dengan persistensi localStorage
- ✅ Settings Panel — Bahasa, system prompt, export, hapus history
- ✅ Export Chat — Download percakapan dalam format Markdown atau JSON
- ✅ Keyboard Shortcuts — Ctrl+Enter (kirim), Ctrl+N (baru), Ctrl+/ (shortcuts), Esc (tutup)
- ✅ Responsive Design — Adaptive di desktop, tablet, dan mobile (360px+)
Demo fault tolerance dengan leader failure simulation:
.\scripts\testnet-3node.ps1K:\DIGDAIA\
├── src/
│ ├── core/ # Go (PBFT + Aggregation + HTTP/gRPC)
│ │ └── cmd/smard/ # Core daemon entry point
│ ├── superpeer/ # Python (FastAPI + Krum + Scheduler + HMAC)
│ │ └── cmd/superpeerd/ # Superpeer daemon entry point
│ ├── peer/ # Python (QLoRA training client)
│ │ └── cmd/train.py # Peer CLI entry point
│ ├── edge/ # Python/FastAPI (Chatbot + Data Collection)
│ │ ├── app.py # Edge chatbot server
│ │ └── static/ # Chatbot UI (HTML/CSS/JS)
│ └── benchmark/ # Python (Evaluation framework)
│ └── evaluate.py # Perplexity, BLEU, F1 benchmark runner
├── pkg/ # Go shared packages
│ ├── aggregation/ # FedAvg, FedProx, FedYogi
│ ├── auth/ # HMAC-SHA256 cross-tier signing
│ ├── byzantine/ # Krum, TrimmedMean
│ └── consensus/ # PBFT implementation
├── docs/ # Dokumentasi teknis & paper
├── pitch/ # Proposal hibah & executive summary
├── lab/ # P2P simulation demo
├── scripts/ # Tools utilitas & testnet
│ └── testnet-3node.ps1 # 3-node PBFT demo script
├── e2e_test.py # End-to-end integration test
└── go.mod / requirements.txt # Dependency management
- Go 1.23+ ( untuk Core tier)
- Python 3.10+ ( untuk Superpeer, Peer & Edge tier)
- Git
git clone https://github.com/atharia-agi/digdaia.git
cd digdaia# Install Go dependencies
go mod tidy
# Run Core daemon
go run src/core/cmd/smard/main.go
# or build:
go build -o smard.exe src/core/cmd/smard/main.go
./smard.exeCore akan berjalan di:
- HTTP:
http://localhost:8080 - gRPC:
localhost:9090
# Install Python dependencies
pip install -r requirements.txt
# Set PYTHONPATH (PowerShell)
$env:PYTHONPATH = "$(pwd)\src;$env:PYTHONPATH"
# Run Superpeer daemon
py -m uvicorn superpeer.cmd.superpeerd.main:app --host 0.0.0.0 --port 8081Superpeer akan berjalan di http://localhost:8081
# Install peer package
cd src/peer
pip install -e .
# Run peer CLI
py -m peer.cmd.train --register --train
# or use the installed command:
smar-peer --register --train# Install dependencies (same requirements.txt)
pip install -r requirements.txt
# Run Edge chatbot server
cd src/edge
py app.py
# or with uvicorn:
uvicorn app:app --host 0.0.0.0 --port 8082Edge chatbot akan berjalan di http://localhost:8082 dengan UI premium berbasis big-tech AI design patterns.
Fitur Edge Layer:
- Chat interaktif dengan mock model response
- Feedback inline (👍/👎) dengan koreksi teks
- Sidebar history percakapan (localStorage)
- Auto-resize textarea input
- Extract training pairs dari feedback positif + koreksi
- Sinkronisasi ke Superpeer via HMAC-signed requests
# Dari root project
cd K:\DIGDAIA
py e2e_test.pyTest ini akan:
- Start superpeer daemon
- Register peer client
- Submit training task
- Trigger scheduler
- Execute training (mock mode untuk CPU, real mode untuk GPU)
- Submit training result
- Verifikasi Core tier (build, health, gradient submit, aggregation trigger)
# Windows PowerShell
.\scripts\testnet-3node.ps1
# Dengan rebuild binary
.\scripts\testnet-3node.ps1 -Build
# Keep nodes alive setelah test
.\scripts\testnet-3node.ps1 -KeepAliveDemo ini akan:
- Spawn 3 core nodes (1 leader + 2 followers)
- Submit gradients ke semua node
- Trigger aggregation via leader
- Kill leader (simulasi failure)
- Verifikasi fault tolerance (followers tetap hidup)
- Verifikasi leader-only restriction (follower reject trigger)
Kami mencari insinyur sistem terdistribusi, peneliti ML, dan relawan komputasi.
- Baca CONTRIBUTING.md untuk panduan teknis lengkap.
- Lihat docs/PROJECT_SUMMARY.md untuk rencana jangka panjang.
- Lihat docs/DEPLOYMENT_GUIDE.md untuk arsitektur deployment.
- Lihat SECURITY.md untuk threat model dan security practices.
- Report vulnerabilities ke: atharia.agi@gmail.com
Proyek ini dilisensikan di bawah Apache License 2.0. Bebas digunakan, dimodifikasi, dan didistribusikan untuk kepentingan kedaulatan digital nasional.
Maintainer: Rangga Prayoga Hermawan (X/Twitter | Website)
Institutional Partner: ITTS (Institut Teknologi Tangerang Selatan) — Deep Audit & Functional MVP Phase
Technical Oversight: Ir. Onno W. Purbo, M.Eng., Ph.D. & ITTS Research Team
Gotong Royong AI untuk Indonesia 🇮🇩


