Skip to content

Repository files navigation

ResearchOS AI

ResearchOS AI adalah workspace riset berbasis AI untuk mengelola paper, menjalankan analisis dan RAG, menyusun tinjauan pustaka, membangun naskah pada writing canvas, serta menghasilkan evaluasi akhir berbasis snapshot naskah tersimpan.

Stack

  • Frontend: Vue 3, TypeScript, Vite, Vuetify, Tailwind CSS
  • Backend: FastAPI, SQLModel, Dramatiq
  • Data: PostgreSQL, Redis, Qdrant
  • AI: OpenAI, Gemini, Claude, OpenRouter, DeepSeek, atau endpoint OpenAI-compatible kustom

Instalasi cepat dengan Docker (direkomendasikan)

Prasyarat:

  • Git
  • Docker Desktop, atau Docker Engine dengan Compose plugin
  • Koneksi internet pada instalasi pertama untuk mengunduh image dan model embedding

Clone repository:

git clone https://github.com/USERNAME/researchos-ai.git
cd researchos-ai

Windows PowerShell

Set-ExecutionPolicy -Scope Process Bypass
.\scripts\install.ps1

Linux/macOS

chmod +x scripts/install.sh
./scripts/install.sh

Skrip instalasi akan:

  1. Membuat .env dari .env.example.
  2. Menghasilkan password PostgreSQL dan dua kunci aplikasi yang berbeda secara acak.
  3. Membangun serta menjalankan frontend, backend, worker, PostgreSQL, Redis, dan Qdrant.

Setelah container siap, buka:

Startup pertama dapat memerlukan beberapa menit karena image dan model embedding harus diunduh.

Membuat akun administrator

Registrasi pada UI membuat akun pengguna biasa. Buat administrator secara interaktif dari terminal:

docker compose exec backend python register_user.py --username admin --email admin@example.com

Password tidak ditulis ke command history; CLI akan memintanya secara interaktif dan mensyaratkan minimal 12 karakter.

Setelah login sebagai admin, buka Pengaturan AI untuk memilih provider, model, base URL, dan API key. API key disimpan terenkripsi menggunakan SETTINGS_ENCRYPTION_KEY.

Operasi umum

# Melihat status
docker compose ps

# Melihat log
docker compose logs -f backend worker

# Menghentikan aplikasi tanpa menghapus data
docker compose down

# Menjalankan kembali
docker compose up -d

# Mengambil kode terbaru dan membangun ulang
git pull
docker compose up -d --build

Jangan menjalankan docker compose down -v kecuali memang ingin menghapus database, file unggahan, antrean Redis, dan indeks Qdrant.

Backup dan pemindahan data

Kode sumber Git tidak menyertakan database, API key, PDF pengguna, atau indeks vector. Untuk memindahkan data ke device lain, backup PostgreSQL dan volume penyimpanan secara terpisah.

Backup database:

docker compose exec -T db pg_dump -U researchos researchos > researchos-backup.sql

Restore database pada instalasi baru:

docker compose exec -T db psql -U researchos researchos < researchos-backup.sql

Jika nilai POSTGRES_USER atau POSTGRES_DB diubah dalam .env, sesuaikan perintah tersebut. File .env lama juga diperlukan untuk membuka kembali API key terenkripsi; simpan secara aman dan jangan unggah ke GitHub.

Instalasi native untuk pengembangan

Prasyarat: Python 3.11 dan Node.js 22.

Backend (PowerShell):

cd backend
Copy-Item .env.example .env
# Ganti CHANGE_ME_* di .env dengan dua nilai acak berbeda, minimal 32 karakter.
python -m venv venv
.\venv\Scripts\Activate.ps1
python -m pip install -r requirements.txt
python -m uvicorn app.main:app --host 127.0.0.1 --port 8000

Frontend pada terminal kedua:

cd frontend
npm ci
npm run dev

Konfigurasi native bawaan menggunakan SQLite, mock queue dalam proses, dan Qdrant in-memory. Gunakan Docker Compose untuk instalasi persisten penuh.

Konfigurasi penting

Variabel Kegunaan
SECRET_KEY Menandatangani token autentikasi; minimal 32 karakter
SETTINGS_ENCRYPTION_KEY Mengenkripsi secret provider; harus berbeda dari SECRET_KEY
POSTGRES_PASSWORD Password database Docker
APP_PORT / API_PORT Port frontend dan backend pada host
CORS_ORIGINS Origin yang boleh mengakses backend secara langsung
MAX_UPLOAD_BYTES Batas ukuran unggahan

Jangan commit .env, database lokal, file log, storage, node_modules, venv, atau hasil build. Seluruhnya sudah tercakup dalam .gitignore dan .dockerignore.

Pengujian sebelum kontribusi

cd frontend
npm ci
npm run build
cd backend
python -m compileall app
python -m unittest discover -s tests -v

Mengunggah repository ke GitHub

Buat repository kosong di GitHub tanpa README tambahan, lalu jalankan dari root proyek:

git add .
git commit -m "Initial release of ResearchOS AI"
git branch -M main
git remote add origin https://github.com/USERNAME/researchos-ai.git
git push -u origin main

Repository ini belum menetapkan lisensi open-source. Tambahkan lisensi hanya setelah menentukan hak penggunaan dan distribusi yang diinginkan.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages