1 poin oleh GN⁺ 2 jam lalu | 1 komentar | Bagikan ke WhatsApp
  • Obsidian Community diluncurkan sebagai direktori baru dan dasbor pengembang untuk plugin dan tema, menyatukan alur pengiriman, pengelolaan, penemuan, dan penggunaan
  • Sejak API Obsidian dibuka pada 2020, komunitas telah membuat lebih dari 4.000 plugin dan tema, dan unduhan plugin telah melampaui 120 juta kali
  • Direktori baru menyediakan fitur penelusuran, pencarian, penyaringan, dan pengurutan, serta menampilkan screenshot, detail, dan kartu skor keamanan di halaman proyek
  • Tinjauan otomatis diterapkan ke semua versi untuk memeriksa kepatuhan terhadap kebijakan pengembang, kualitas kode, kerentanan yang diketahui, dan potensi malware
  • Proyek yang sudah ada akan dipindahkan ke sistem baru, dan plugin serta tema yang tidak lolos standar terbaru akan diberi pengecualian sementara sebelum secara bertahap dikeluarkan dari direktori resmi

Peluncuran Obsidian Community

  • Obsidian Community diluncurkan sebagai direktori baru sekaligus dasbor pengembang untuk plugin dan tema Obsidian
  • Sejak Obsidian API dibuka pada 2020, komunitas telah membuat lebih dari 4.000 plugin dan tema, dan plugin Obsidian telah mencatat total lebih dari 120 juta unduhan
  • Tujuannya adalah agar siapa pun bisa membuat, mendistribusikan, menemukan, dan menggunakan plugin serta tema dengan lebih mudah dan aman
  • Peluncuran ini menjadi awal dari rencana yang lebih besar yang mencakup situs Community, dasbor pengembang, tinjauan otomatis, keamanan plugin, dan alat untuk tim

Situs Community dan dasbor pengembang

  • Situs Community yang baru menyediakan penelusuran, pencarian, penyaringan, dan pengurutan untuk menjelajahi plugin dan tema
  • Plugin dapat ditemukan melalui puluhan kategori seperti Integrations, Bases, Charts, serta lebih banyak kategori
  • Proyek dapat diurutkan berdasarkan nama, jumlah unduhan, popularitas, tanggal rilis, dan tanggal pembaruan
  • Setiap halaman detail proyek mencakup screenshot, detail, dan kartu skor keamanan
  • Plugin berbayar dan integrasi resmi akan diberi label baru
  • Penulis dapat menambahkan opsi dukungan, tautan situs web, dan tautan media sosial ke halaman profil mereka
  • Situs Obsidian Community menyediakan dasbor pengembang baru tempat penulis dapat mengirimkan, mengelola, dan melacak status proyek
  • Semua plugin, tema, dan kiriman yang sedang menunggu yang sebelumnya ditambahkan melalui GitHub akan dipindahkan otomatis ke situs baru
  • Untuk mengklaim kepemilikan proyek yang sudah ada, pengguna harus masuk ke situs Community dan menghubungkan akun GitHub mereka
  • Setelah akun GitHub terhubung, pengguna dapat mengelola proyek yang ada, mengirimkan proyek baru, dan mengedit halaman profil

Tinjauan otomatis dan keamanan

  • Tinjauan otomatis diperkenalkan untuk semua proyek komunitas
  • Sistem tinjauan otomatis yang baru memindai bukan hanya pengiriman awal, tetapi juga setiap versi berdasarkan standar keamanan dan kualitas kode
  • Sebelumnya, tim kecil meninjau kiriman awal secara manual untuk memeriksa kepatuhan terhadap Developer Policies, tetapi seiring popularitas Obsidian meningkat, makin sulit mengejar laju kiriman, dan versi-versi setelahnya tidak ditinjau
  • Karena agen coding mempercepat pembuatan plugin, antrean tinjauan menjadi lebih panjang, dan alat seperti Obsidian CLI membuat pembuatan plugin menjadi lebih mudah
  • Saat plugin atau tema dikirimkan, sistem tinjauan otomatis memeriksa kepatuhan terhadap kebijakan pengembang, kepatuhan terhadap praktik terbaik kode sumber, dan tidak adanya kerentanan yang diketahui
  • Karena pengujian otomatis dapat terus ditingkatkan, ini menjadi fondasi untuk meningkatkan kualitas dan keamanan ekosistem Obsidian secara lebih menyeluruh
  • Tinjauan manual tetap berlanjut. Dengan sistem baru ini, sumber daya dapat difokuskan pada plugin yang memerlukan pemeriksaan lebih mendalam, seperti plugin populer, plugin unggulan, dan isu yang ditandai komunitas
  • Plugin dan tema yang sudah ada telah ditinjau ulang dengan sistem baru, dan ditemukan plugin serta tema lama yang tidak memenuhi pedoman terbaru
  • Proyek lama yang tidak lolos standar terbaru akan diberi pengecualian sementara, tetapi semua plugin dan tema yang gagal melewati prosedur tinjauan baru pada akhirnya akan dikeluarkan secara bertahap dari direktori resmi
  • Dalam beberapa hari terakhir, sistem baru telah memproses lebih dari 2.300 kiriman yang tertunda, dan pengembang yang menunggu tinjauan plugin dapat masuk ke situs Community untuk memeriksa status saat ini
  • Pemindaian otomatis

    • Semua versi otomatis diperiksa untuk kualitas kode dan kerentanan keamanan
    • Ini juga mencakup pemindaian malware untuk mendeteksi tambahan yang berpotensi berbahaya dalam plugin
    • Pengembang dapat melihat saran detail, peringatan, dan penanda kegagalan untuk setiap proyek di dasbor pengembang
  • Kartu skor

    • Pengguna dan pengembang dapat memeriksa status pemeriksaan otomatis pada kartu skor semua proyek
    • Kartu skor akan terus ditingkatkan dengan menggabungkan informasi publik, label privasi, attestasi artefak, hasil tinjauan manual, dan apakah fitur aplikasi telah diadopsi
  • Pengungkapan cakupan akses

    • Dalam beberapa bulan ke depan, transparansi terhadap plugin dan penulis akan makin ditingkatkan
    • Plugin akan diminta menyatakan apa saja yang mereka akses, seperti jaringan, sistem file, clipboard, dan fitur lainnya
    • Pengguna akan dapat meninjau pengungkapan ini sebelum memasang plugin
  • Penulis terverifikasi

    • Label akan ditambahkan untuk pengembang tepercaya yang lolos langkah verifikasi tambahan dan tetap dalam kondisi baik
    • Pengguna dapat langsung melaporkan masalah keamanan ke tim Obsidian kapan saja

Tim dan perubahan di tingkat aplikasi

  • Tim yang menggunakan Obsidian sudah dapat menerapkan kontrol keamanan untuk pengguna
  • Dalam beberapa bulan ke depan, tim akan dapat lebih mudah mengelola plugin komunitas yang diizinkan dan mendistribusikan plugin privat kepada anggota tim
  • Tim yang mendistribusikan plugin Obsidian resmi dapat mengajukan badge Official di direktori Community
  • Jika plugin memenuhi syarat, mereka dapat menghubungi
  • Bersamaan dengan peningkatan pada direktori Community dan sistem tinjauan otomatis, aplikasi dan API Obsidian juga akan mengalami perubahan untuk meningkatkan discoverability dan keamanan
  • Ekosistem komunitas adalah salah satu elemen Obsidian yang menyenangkan dan kuat, dan arahnya adalah menyediakan fondasi yang diperlukan agar ekosistem ini terus berkembang
  • Masukan akan dikumpulkan melalui Obsidian Community yang baru

Perubahan utama untuk pengguna dan pengembang

  • Dampak bagi pengguna

    • Plugin dan tema kini dapat dijelajahi di situs Community yang baru
    • Waktu tinjauan akan jauh berkurang, sehingga kebutuhan memasang plugin akses awal secara manual bisa menurun
  • Mengirimkan plugin atau tema baru

    • Masuk ke situs Community untuk mengakses dasbor pengembang yang baru
    • Hubungkan akun GitHub, pilih repositori yang akan dikirimkan, lalu selesaikan langkah-langkah di dasbor
    • Tinjauan proyek dimulai segera setelah pengiriman, dan hasilnya biasanya dapat dilihat dalam beberapa menit
    • Jika proyek lolos, proyek akan dapat dicari dan diunduh di aplikasi dalam waktu 24 jam
  • Mengklaim kepemilikan plugin dan tema yang sudah ada

    • Masuk ke situs Community untuk mengakses dasbor pengembang yang baru
    • Setelah menghubungkan akun GitHub, pengguna dapat mengklaim kepemilikan plugin dan memperbarui judul, deskripsi, serta screenshot
  • Apakah pembaruan masih bisa dilakukan tanpa dasbor pengembang

    • Versi baru tetap dapat dirilis melalui GitHub
    • Rilis baru akan ditinjau secara otomatis, dan jika gagal lolos tinjauan, rincian harus diperiksa di dasbor pengembang
  • Plugin dan tema yang gagal dalam tinjauan otomatis

    • Plugin dan tema baru harus lolos tinjauan otomatis sebelum ditambahkan ke direktori dan bisa dicari
    • Setiap versi baru akan dipindai, dan jika tidak lolos tinjauan, versi tersebut akan dihapus dari pencarian dalam 24 jam
    • Plugin dan tema yang sebelumnya telah disetujui masih dapat terus digunakan untuk sementara meskipun gagal dalam tinjauan otomatis
    • Plugin lama pada akhirnya juga akan diwajibkan memenuhi standar baru, tetapi tenggatnya belum ditetapkan dan transisinya akan ditentukan bersama pengembang komunitas
  • Menjalankan tinjauan otomatis tanpa mengirimkan rilis

    • Plugin Obsidian dapat diperiksa secara lokal agar sesuai dengan pedoman pengembang resmi menggunakan eslint plugin
    • Di dasbor pengembang, pemindaian pratinjau dapat dijalankan untuk branch, tag, atau commit apa pun
  • Co-maintainer dan repositori organisasi

    • Saat ini di Obsidian Community, hanya pemilik repositori GitHub yang dapat mengedit proyek terkait
    • Untuk repositori organisasi, klaim kepemilikan dan pengeditan dimungkinkan jika keanggotaan organisasi bersifat publik
    • Dukungan untuk banyak kolaborator akan ditambahkan dalam waktu dekat
  • Plugin closed-source

    • Saat ini plugin closed-source baru tidak diterima di direktori
    • Plugin closed-source yang sudah ada dapat terus digunakan sampai ada pengumuman tambahan
    • Ke depannya, kemungkinan penyesuaian sistem tinjauan baru untuk plugin closed-source akan dipertimbangkan
  • Persyaratan akun dan GitHub

    • Untuk mengakses dasbor pengembang baru, diperlukan akun Obsidian
    • Untuk saat ini GitHub wajib digunakan, dan ke depan akan dipertimbangkan penambahan platform hosting perangkat lunak lainnya
    • Login GitHub membagikan nama pengguna dan daftar repositori publik, dan informasi ini hanya digunakan untuk memverifikasi kepemilikan repositori
  • Label Paid dan Optional payments

    • Obsidian Community bukan toko dan tidak menyediakan solusi pembayaran bawaan
    • Pengembang tetap dapat menggunakan mekanisme pembayaran eksternal seperti license key, API key, atau gerbang login
    • Pengembang harus memberi label plugin mereka secara akurat ke dalam salah satu dari tiga kategori
    • Free berarti plugin tidak memiliki bentuk pembayaran apa pun dan sama sekali tidak terhubung dengan layanan berbayar, meskipun tautan donasi dan dukungan tetap diperbolehkan
    • Optional payments berarti pengguna dapat memilih untuk membayar guna membuka fitur tambahan, atau plugin terhubung ke layanan berbayar
    • Jika plugin terhubung ke layanan atau API berbayar, plugin tersebut harus diberi label Optional payments meskipun layanan itu memiliki tingkat gratis
    • Paid berarti pengguna wajib membayar untuk menggunakan fungsi utama, meskipun tersedia uji coba gratis
    • Label ini menunjukkan jenis pembayaran yang perlu diantisipasi pengguna, bukan apakah pengembang secara langsung mengumpulkan pembayaran
  • Kesalahan pada kartu skor dan pertanyaan

    • Karena kartu skor adalah fitur baru, kesalahan mungkin terjadi, termasuk false positive atau false negative
    • Jika menemukan informasi yang tidak akurat, pengguna harus menghubungi channel #plugin-dev di server Discord Obsidian
    • Jika ada pertanyaan atau kekhawatiran, pengguna dapat menghubungi channel #plugin-dev di server Discord Obsidian

1 komentar

 
GN⁺ 2 jam lalu
Komentar Hacker News
  • Saya CEO Obsidian. Kami sudah hampir setahun mengerjakan situs Community dan sistem ulasan yang baru, dan meski sangat antusias dengan versi pertama ini, masih banyak yang ingin kami tingkatkan
    Saya berusaha menuliskan semuanya selengkap mungkin, dari posting blog, FAQ, sampai langkah berikutnya di roadmap, tetapi mungkin masih ada yang terlewat jadi silakan bertanya
    Tim kami hanya 7 orang, tetapi harus melayani ribuan pengembang plugin dan jutaan pengguna, jadi sangat sulit menyeimbangkan prioritas yang saling bertentangan
    Sistem baru ini harus mudah diadopsi, tetap menjaga kompatibilitas mundur, jauh lebih baik daripada cara lama tanpa sepenuhnya merusak alur kerja yang sudah ada, dan harus bisa secara bertahap meningkatkan keamanan serta kemudahan penemuan plugin
    Anggap saja ini masih pekerjaan yang terus berjalan; kami akan mendengarkan ide dan keluhan lalu terus mengulang perbaikannya
    • Saya sudah lama menambahkan plugin ke berbagai proyek, dan pernah mempertimbangkan untuk memperkenalkan struktur di mana proyek menandai versi tertentu sebagai sudah ditinjau dan tepercaya
      Salah satu alasan saya ragu bukan hanya investasi waktu yang sangat besar, tetapi juga kekhawatiran bahwa setelah orang bergantung pada proses ulasan itu, jika kode berbahaya yang diobfuscate lolos, tanggung jawab atas serangan berikutnya akan dibebankan ke proyek
      Saya penasaran bagaimana Anda memandang hal ini
      Bagi saya ini terasa seperti perbedaan antara pendekatan Debian/Ubuntu yang meninjau ketat semua yang ada di repositori, dan pendekatan PyPI/npm yang sama sekali tidak memberi jaminan ulasan
    • Saya suka bahwa jika kita menekan “plugin dapat meminta ke 1 domain eksternal” pada informasi publik, yang muncul adalah domain nyata yaitu github.com
      Contohnya bisa dilihat di https://community.obsidian.md/plugins/zotlit
    • Saya penasaran apakah sistem pemindaian otomatis menandai perluasan cakupan izin atau perubahan akses domain jaringan untuk ditinjau secara internal/manual
      Misalnya, jika sebuah plugin ringkasan AI awalnya mengakses url="api.openai.com"+path memakai kunci OpenAI yang diberikan pengguna, itu akan menjadi pola yang sangat umum, dan saya antusias melihat apa yang akan dibuat komunitas dari sini
      Tetapi jika setelah pembaruan pengguna bisa memilih endpoint arbitrer untuk API yang kompatibel dengan OpenAI, bagaimana memastikan bahwa fleksibilitas itu tidak disalahgunakan untuk membuat jalur eksfiltrasi jaringan yang lolos dari pemindaian, dan bahwa itu bukan pembaruan yang diam-diam mengisi endpoint berbahaya sejak awal?
    • Tim Obsidian telah melakukan pekerjaan yang hebat. Saya berencana tetap menjadi pengguna Obsidian Sync, dan berharap bisa memakai plugin komunitas dengan rasa lebih tenang
    • Akhirnya keluar juga
      Ketika saya mencoba Obsidian, saya langsung menghapusnya begitu tahu bahwa fitur tabel data bukan bawaan inti, melainkan plugin dengan akses penuh
      Tapi saya kaget timnya cuma 7 orang
  • Bagi yang belum tahu, sampai sekarang pengiriman plugin baru nyaris mustahil karena ulasan manual. Ada juga pengaruh dari AI yang membuat penulisan plugin menjadi lebih mudah dan menyenangkan
    Keluhan dari komunitas pengembang terus membesar, dan timnya juga makin kewalahan oleh beban kerja
    Jadi selamat untuk timnya. Ini pada dasarnya memecahkan hambatan skalabilitas besar, dan cukup keren melihat bagaimana mereka membangun serta menskalakannya
    • Ada plugin keren yang layak direkomendasikan? Saya baru pindah dari OneNote dan setelah sinkronisasi beres, akhirnya mulai merasa nyaman
  • Saya tidak memakai Obsidian, tetapi saat melihat judulnya, saya kira ini tentang membatasi ke segelintir plugin yang disetujui perusahaan
    Kalau perusahaan software menulis judul seperti “masa depan XYZ”, biasanya saya mengira artinya mereka sedang bersiap membatasi XYZ secara besar-besaran atau menghentikannya
    • Saya sempat bertanya-tanya di titik mana enshittification akan mulai terlihat
  • Saya tidak yakin pemeriksaan otomatis saja bisa secara andal menentukan apakah plugin itu berbahaya
    Menurut saya, cara terbaik, mungkin satu-satunya, untuk menyelesaikan masalah keamanan plugin adalah sandbox dengan API dan sistem izin yang eksplisit
    • Menambahkan pada pernyataan “perlu sandbox dengan API dan sistem izin yang eksplisit”, saya juga ingin mengatakan bahwa terutama ia tidak boleh bisa menyentuh data pribadi saya. Hanya saja masalahnya, inti dari plugin Obsidian memang membaca dan menulis dokumen
      Tetapi kalau tidak bisa berkomunikasi dengan internet, tampaknya itu bukan masalah besar
      Saya juga melihat bahwa karena arsitektur JavaScript dan Electron, plugin Obsidian tampaknya hanyalah gumpalan JavaScript yang berjalan di cakupan global, bisa membaca dan menulis seluruh sistem file dalam batas izin pengguna, dan juga bisa membuat permintaan HTTP; benarkah begitu?
    • Itu memang tidak akan menghentikan malware buatan sendiri, tetapi cukup membantu untuk menilai apakah dependensi tetap mutakhir dan apakah ada CVE yang diketahui di dalamnya. Mirip dengan yang dilakukan Trivy atau yang ditekankan Artifacthub
      Namun saya penasaran seberapa baik itu akan bekerja di ekosistem ini. Dari pengalaman saya, pemindaian menyeluruh mudah menghasilkan false positive, yaitu ada CVE tetapi sebenarnya tidak relevan dalam konteks penggunaan nyata
      Jadi perlu pengetahuan untuk menafsirkan hasil pemindaian dengan benar, dan itu bisa menjadi beban yang cukup besar bagi maintainer
    • Cukup baca posting blog-nya. Selain pemindaian otomatis dan kontrol untuk tim, sistem izin juga sudah direncanakan
      Izin saja tidak cukup untuk mencegah perilaku berbahaya tertentu, jadi semuanya memang diperlukan
      Bahkan dengan melihat beberapa kartu skor di situs Community, Anda akan cepat melihat bahwa sebagian peringatan tidak bisa ditangani hanya dengan sistem izin atau sandboxing
      Posting blog itu punya detail cara peluncurannya, dan karena perlu perubahan pada API plugin, ini akan dilakukan bertahap
    • Tentu saja ini tidak akan kompatibel dengan plugin yang ada, jadi saya akan memisahkan plugin legacy dan plugin baru, lalu membuat pemasangan plugin legacy jauh lebih berfriksi sebelum akhirnya dihentikan suatu saat nanti
    • Podman/Linux juga punya API dan sistem izin, tetapi tetap ada Copy Fail: https://garrido.io/notes/podman-rootless-containers-copy-fai...
      Keamanan dan pemberian izin memang sulit, dan saat merancang platform, pada titik tertentu kita harus bertanya pada diri sendiri apakah demi fleksibilitas, risiko itu layak diambil
      Merencanakan sistem yang sepenuhnya aman adalah hal yang mustahil
  • Sangat menarik. Ini adalah bukti dunia nyata bahwa ulasan plugin otomatis bisa dilakukan bahkan oleh tim kecil
    Suatu hari saya mungkin perlu belajar cara menerapkan sistem serupa di proyek saya juga
    • Mungkin lebih baik lihat dulu bagaimana jalannya. Ini permainan kucing dan tikus, dan tikus di sini jauh lebih pintar
      Kebocoran data terjadi secara diam-diam
  • Dari sudut pandang konsumen, saya tidak tahu bagaimana dan mengapa saya harus melihat kartu skor
    Kalau ada daftar error dan peringatan linter yang panjang, apa yang seharusnya saya lakukan?
    Saya penasaran seperti apa alur ideal di sisi pengguna. Kartu skor tampaknya bagus untuk sisi pengembang
  • Senang melihat pembaruan seperti ini keluar
    Mengelola kontribusi komunitas semacam ini memang sulit, dan ini terlihat sebagai kemajuan besar
  • Selama ketersediaan plugin, terutama selfhosted-livesync dalam kasus saya, tidak berkurang, menurut saya ini tampak bagus
    Saya juga penasaran apakah AI punya peran dalam ulasan otomatis seperti ini. Ini tampak seperti kasus penggunaan yang cukup menjanjikan
  • Sangat keren. Hanya saja sayang situs webnya khusus dark mode, jadi bagi orang dengan astigmatisme malah membuatnya lebih sulit dibaca
    • Mode baca Firefox menampilkan latar putih dengan teks gelap hanya dengan satu klik. Mungkin browser lain juga punya fitur serupa
    • Itu karena Obsidian berwarna hitam. Meski begitu, ada rencana menambahkan light mode dalam waktu dekat
    • Maksudnya ini jenis astigmatisme yang sangat langka? Saya sudah punya astigmatisme lebih dari 30 tahun, tetapi situs ini bisa saya baca dengan sempurna tanpa usaha apa pun
  • Akan bagus kalau plugin bisa lebih mudah dipasang secara lokal. Harusnya benar-benar cukup salin-tempel ke folder saja
    Kalau Obsidian bukan perangkat lunak proprietari, saya pasti sudah mengubahnya sendiri
    Sudah waktunya seseorang membuat klon yang kompatibel
    • Memang sudah bekerja persis seperti itu. Plugin hanyalah folder yang bisa disalin ke folder .obsidian/plugins di dalam vault
    • Secara harfiah cukup tempel ke direktori .obsidian/plugins/ saja