Skip to content

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📁 gemini-files

Autonomous AI File Management & Assistant CLI
AI-powered file management menggunakan Gemini Web RPC dan react-agent-js


✨ Fitur Utama

  • Autonomous File Manager — Menganalisis, merapikan, memindahkan, menyalin, dan menghapus file atau folder secara mandiri melalui ReAct agent loop.
  • Natural Language Command — Kelola file menggunakan bahasa natural, tanpa perlu menghafal perintah CLI yang kompleks.
  • ReAct Agent Loop — Agent dapat melakukan reasoning, memilih tool yang sesuai, menjalankan aksi, membaca hasilnya, lalu melanjutkan proses hingga tugas selesai.
  • Gemini Web Client RPC — Terintegrasi dengan Gemini Web RPC untuk kemampuan AI tanpa konfigurasi API key berbayar.
  • Safety Confirmation — Aksi berisiko seperti penghapusan atau pemindahan file dalam jumlah besar memerlukan konfirmasi eksplisit sebelum dijalankan.
  • Rich Terminal Rendering — Respons AI dalam format Markdown dirender secara rapi di terminal dengan Chalk, structured output, code highlighting, dan Boxen.
  • Interactive CLI Interface — Pengalaman CLI interaktif menggunakan Inquirer, Ora spinner, dan terminal styling.

🚀 Instalasi

Prasyarat

Sebelum memulai, pastikan sistem telah memiliki:

  • Node.js versi 18.0.0 atau lebih baru
  • Akun Google dengan sesi Gemini Web yang valid
  • Cookie sesi Gemini Web

1. Clone Repository

git clone <repository-url>
cd gemini-files

2. Install Dependencies

npm install

3. Konfigurasi Environment

Salin file template environment:

cp .env.example .env

Kemudian isi file .env dengan cookie sesi Gemini Web:

GEMINI_SESSION_COOKIE=your_cookie_here

Penting: Jangan membagikan file .env atau cookie sesi kepada orang lain. Pastikan .env tidak ikut ter-commit ke repository.

4. Registrasi CLI Secara Global

Langkah ini bersifat opsional. Jalankan jika ingin menggunakan perintah gemini-files dari direktori mana pun:

npm link

🛠️ Penggunaan

Menjalankan CLI

Setelah instalasi selesai, jalankan:

gemini-files

Asisten akan memulai sesi interaktif dan siap menerima instruksi dalam bahasa natural.

Contoh Perintah

Menganalisis direktori

"Cek isi folder ini dan buat ringkasan jenis filenya"

Merapikan file secara otomatis

"Rapikan semua file gambar dan dokumen ke folder masing-masing"

Membersihkan file

"Hapus semua file log dan temporary di folder dist"

Mencari file

"Cari file laporan yang dibuat minggu lalu"

Memindahkan file

"Pindahkan semua file PDF ke folder Documents"


🗂️ Pemetaan Kategori File

Tool organize_files secara bawaan mengelompokkan file berdasarkan ekstensi berikut:

Kategori Ekstensi yang Didukung
Images .jpg, .jpeg, .png, .gif, .svg, .webp
Documents .pdf, .docx, .doc, .txt, .xlsx, .pptx, .md
Audio .mp3, .wav, .flac, .aac, .ogg
Video .mp4, .mkv, .avi, .mov
Archives .zip, .rar, .7z, .tar, .gz
Code .js, .ts, .py, .html, .css, .json, .cpp, .java

🏗️ Struktur Proyek

gemini-files/
├── bin/
│   └── gemini-files.js      # Entry point executable untuk global CLI
├── src/
│   ├── index.js             # Bootstrap & inisialisasi aplikasi
│   ├── agent/
│   │   └── agent-core.js    # ReAct loop, tool registry & system prompt
│   ├── services/
│   │   └── gemini-web.js    # Integrasi Gemini Web RPC
│   ├── tools/
│   │   └── file-tools.js    # Tool operasi filesystem
│   ├── ui/
│   │   └── cli.js           # Interactive CLI interface
│   └── utils/
│       └── markdown.js      # Markdown parser & terminal renderer
├── .env.example             # Template environment variables
├── package.json             # Metadata & dependensi proyek
└── README.md                # Dokumentasi proyek

🔒 Safety

gemini-files dapat menjalankan operasi yang memengaruhi filesystem, termasuk memindahkan dan menghapus file. Untuk mengurangi risiko kehilangan data, aksi yang berpotensi merusak akan memerlukan konfirmasi pengguna sebelum dieksekusi.

Tetap periksa instruksi dan aksi yang akan dijalankan sebelum memberikan konfirmasi.


🧠 Cara Kerja

Secara umum, agent bekerja menggunakan pola ReAct (Reason → Act → Observe):

  1. Reason — AI menganalisis permintaan pengguna dan menentukan langkah yang diperlukan.
  2. Act — Agent memilih dan menjalankan tool filesystem yang sesuai.
  3. Observe — Agent membaca hasil dari tool yang dijalankan.
  4. Repeat — Proses berulang hingga tugas selesai atau membutuhkan konfirmasi pengguna.
  5. Respond — Hasil akhir disampaikan melalui terminal dengan Markdown rendering.

🛡️ Lisensi

Proyek ini didistribusikan di bawah lisensi MIT.

Dikembangkan oleh Mada Putra Adhadriyanto.

About

CLI manajemen file berbasis AI yang dapat menganalisis, mengatur, dan mengelola file secara otonom melalui perintah bahasa natural.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages