Spesifikasi Paket Belum dirilis
Aturan yang harus dipenuhi paket Mini App agar Micromeet menandatanganinya dan Cowork membukanya: apa aturannya, siapa yang memeriksa, dan apa yang terjadi jika tidak dipenuhi. Cara membuat paketnya ada di Pengemasan dan Tanda Tangan; micromeet-miniapp verify menjalankan pemeriksaan ini lebih dulu di komputer Anda. Halaman ini tentang paket Mini App bertanda tangan, bukan paket Cowork pada modul Paket.
| Diperiksa oleh | Kapan |
|---|---|
| Alat | micromeet-miniapp (pack, verify, zip) dan plugin Vite, di komputer Anda |
| Micromeet | Saat Micromeet mendaftarkan dan menandatangani sebuah versi |
| Pasang | Saat Cowork memasang paket |
| Buka | Setiap kali Cowork membuka Mini App, dan setiap kali halaman membaca file |
File
ai.example.app-1.0.0.zip
manifest.json
app.asar
app.asar.unpacked/ opsional: media besar
INSTALL.md opsional: langkah untuk agent yang memasangnya| Aturan | Diperiksa oleh | Jika tidak dipenuhi |
|---|---|---|
| Keempat entri ada di akar zip (atau folder); Cowork hanya menyimpan ini | Pasang | File lain tidak dipasang |
Zip: paling banyak 100.000 entri dan 8 GB setelah dibuka; tanpa enkripsi, path absolut, .., backslash, atau symbolic link | Alat, Pasang | Tidak dipasang |
Tidak ada file atau folder bernama .DS_Store, __MACOSX, .git, atau node_modules | Alat | pack melewatinya; verify menolak jika ada di app.asar.unpacked/ |
manifest.json
| Field | Aturan | Diperiksa oleh | Jika tidak dipenuhi |
|---|---|---|---|
appId | AppID yang didaftarkan Micromeet: domain terbalik huruf kecil seperti ai.example.app, paling banyak 128 karakter | Alat, Micromeet, Pasang | Ditolak |
name | String, atau { zh, en } dengan setidaknya salah satunya; 1–60 karakter. Tidak ditandatangani: kartu persetujuan masuk menampilkan nama yang didaftarkan Micromeet | Alat, Pasang | Ditolak |
version | Diawali huruf atau angka; huruf, angka, ., +, -; paling banyak 32 | Alat, Micromeet | Ditolak |
version_code | String 12 digit, waktu build YYMMDDHHmmss | Alat, Pasang | Ditolak |
entry | File yang dikemas di dalam app.asar, bukan unpacked; path relatif, paling banyak 256 karakter, tanpa .., backslash, atau karakter kontrol. Default index.html | Alat, Micromeet, Pasang | Ditolak |
asar | Nama file arsip: huruf, angka, ., _, -, diakhiri .asar. Default app.asar | Alat, Pasang | Ditolak |
domains | Opsional; hanya untuk Mini App yang memasukkan pengguna dengan Micromeet (Domain server). https://host[:port] huruf kecil, tanpa path atau alamat IP; atau http(s)://localhost[:port] / 127.0.0.1[:port]. Tanpa duplikat, paling banyak 20 | Alat, Micromeet, Pasang | Ditolak. Micromeet mendaftarkan versi hanya jika setiap domainnya sudah diverifikasi untuk AppID itu |
asarHeaderSha256 | SHA-256 dari 8 + panjang-header byte pertama app.asar; ditulis oleh alat | Alat, Micromeet, Buka | Dianggap tidak bertanda tangan: Cowork tidak membukanya |
signature | { kid, alg: "Ed25519", value }, ditulis dari jawaban Micromeet | Alat, Buka | Dianggap tidak bertanda tangan: Cowork tidak membukanya |
extension | Tidak boleh ada di paket bertanda tangan | Alat, Pasang | Ditolak |
app.asar
| Aturan | Diperiksa oleh | Jika tidak dipenuhi |
|---|---|---|
Dibuat dengan @electron/asar 3.x; header persis seperti yang ditulisnya, paling besar 64 MB | Alat, Micromeet, Pasang | Ditolak |
Setiap file, dikemas maupun unpacked, punya integrity: SHA-256 per blok 4 MB | Alat, Micromeet, Buka | Ditolak; Cowork menganggapnya tidak bertanda tangan |
Tanpa symbolic link, di dalam app.asar maupun di app.asar.unpacked/ | Alat, Micromeet, Pasang | Ditolak |
Nama file dan folder tidak kosong, bukan . atau .., dan tidak berisi /, backslash, atau NUL | Alat, Micromeet | Ditolak |
app.asar paling besar 512 MB; taruh video dan audio di app.asar.unpacked/ | Alat, Micromeet | Ditolak |
app.asar.unpacked/ paling banyak 100.000 file dan 8 GB; ukuran setiap file sesuai catatan header | Alat, Pasang | Ditolak |
| Byte setiap file cocok dengan digest-nya | Alat, Micromeet, Buka | Micromeet menolak menandatangani; Cowork menutup Mini App dan memberi tahu bahwa file-nya diubah |
Tanpa <script> inline di HTML: halaman disajikan dengan kebijakan konten script-src 'self' | Alat (pack) | Ditolak oleh pack; di halaman skrip itu juga tidak akan berjalan |
Cowork menyajikan file dari miniapp://<appId>/, jadi path absolut seperti /assets/app.js bisa dipakai. Request ke layanan lain tidak dibatasi.
Tanda tangan
Micromeet menandatangani byte berikut dengan Ed25519. domains diurutkan dan digabung dengan satu spasi; baris terakhir kosong jika tidak ada domain. name dan ikon tidak ditandatangani.
miniapp-sig-v2
<appId>
<version>
<entry>
<asarHeaderSha256>
<domains>Versi yang didaftarkan sebelum 2026-11-10 memakai miniapp-sig-v1 (lima baris pertama, tanpa domain) dan tetap berlaku untuk manifest tanpa domains.
| Cowork | Dianggap bertanda tangan |
|---|---|
| Cowork rilis | cowork-prod-1: versi yang ditandatangani Micromeet produksi |
| Cowork Preview | cowork-preview-1 |
| Jalankan untuk pengembangan (belum dikemas) | Kunci kanalnya sendiri, cowork-preview-1, dan cowork-test-1 |
Versi dan pengiriman
| Aturan | Diperiksa oleh | Jika tidak dipenuhi |
|---|---|---|
Sebuah versi hanya didaftarkan sekali: ubah version untuk setiap build yang Anda serahkan | Micromeet | Ditolak |
Mengubah file apa pun, entry, atau domains perlu versi dan tanda tangan baru | Buka | Dianggap tidak bertanda tangan: Cowork tidak membukanya |
Dipasang sendiri dari zip atau folder (miniapp_install): setiap version_code di foldernya sendiri, versi lama dihapus setelah tab-nya ditutup | Pasang | — |
Atau di dalam paket Cowork, disalin atau di-link; paket yang disalin paling banyak 2.000 file dan 50 MB, termasuk app.asar | Pasang | Paketnya ditolak |
Saat Cowork membukanya
- Tidak bertanda tangan, ditandatangani dengan kunci yang tidak dipercaya Cowork ini, atau tidak bisa dibaca: Cowork tidak membukanya dan memberi tahu pengguna bahwa Mini App itu belum tersertifikasi.
- File yang berbeda dari digest-nya saat halaman membacanya: Cowork menutup Mini App dan memberi tahu bahwa file-nya diubah.
- Setiap akun Cowork punya penyimpanan sendiri untuk Mini App; seseorang tidak pernah melihat milik orang lain.
- Halaman tetap di
miniapp://<appId>/; tautanhttp(s)dibuka di browser sistem. - Memasukkan pengguna juga memerlukan AppID dan versi yang aktif di Micromeet serta setidaknya satu domain server terverifikasi di
domains(lihat Masuk).
Terkait
- Pengemasan dan Tanda Tangan Membuat paket dan meminta Micromeet menandatanganinya
- Masuk Memasukkan pengguna dari Mini App
- Ikhtisar Semua modul Mini App SDK