Pengemasan dan Tanda Tangan Belum dirilis
Mini App yang memasukkan pengguna (lihat Masuk) dikirim sebagai paket bertanda tangan: file-filenya dikemas dalam satu app.asar, ditambah sebuah manifest.json, dan tanda tangan Micromeet atas keduanya. Cowork memeriksa tanda tangan saat membuka Mini App, lalu mencocokkan setiap file dengan tanda tangan itu saat halaman membacanya; file yang berubah membuat Mini App ditutup. Cowork tidak membuka paket yang tidak bertanda tangan atau tanda tangannya tidak valid; Cowork memberi tahu pengguna bahwa Mini App itu belum tersertifikasi.
Isi paket
manifest.json { appId, name, version, version_code, entry, asar, domains, asarHeaderSha256, signature }
app.asar halaman, skrip, dan style hasil build; digest SHA-256 setiap file ada di header-nya
app.asar.unpacked/ media besar (video, audio), di luar app.asar; digest-nya tetap ada di header-nya
INSTALL.md opsional: langkah-langkah untuk agent yang memasangnya| Field | Deskripsi |
|---|---|
appId | Domain terbalik huruf kecil, misalnya ai.example.app; diberikan saat Micromeet mendaftarkan Mini App |
name | String, atau { zh, en }; 1–60 karakter |
version | Huruf, angka, ., +, -; maksimal 32 |
version_code | 12 digit, waktu build YYMMDDHHmmss |
entry | Halaman awal di dalam app.asar; bawaan index.html |
domains | Domain server yang dituju request halaman; ditulis dari opsi domains plugin (lihat Domain server di bawah) |
asarHeaderSha256 · signature | Ditulis oleh alat di bawah; jangan diubah manual |
Cowork menyajikan halaman dari miniapp://<appId>/ dengan kebijakan konten script-src 'self': taruh setiap skrip di file (tanpa <script> inline), dan path absolut seperti /assets/app.js bisa dipakai. Mini App bertanda tangan punya penyimpanan terpisah untuk setiap akun Cowork, sehingga seseorang tidak pernah melihat apa yang disimpan orang lain.
Build
Paket @micromeet-ai/miniapp-sdk (di registry paket GitLab Micromeet; minta akses ke Micromeet) menambahkan plugin Vite yang menulis paket setelah setiap build:
// vite.config.js
import { defineConfig } from 'vite';
import { miniapp } from '@micromeet-ai/miniapp-sdk/vite';
export default defineConfig({
plugins: [miniapp({ appId: 'ai.example.app', name: { en: 'Example', zh: '示例' }, unpackDir: 'media' })]
});Setelah vite build, folder miniapp-package/ ditulis; versinya diambil dari package.json. File bernama .DS_Store, __MACOSX, .git, atau node_modules tidak ikut dikemas. Tanpa Vite, micromeet-miniapp pack --src dist --out miniapp-package --app-id … --name … --version … melakukan hal yang sama.
Domain server
Mini App memasukkan pengguna bersama backend-nya sendiri: halaman mengirim code sekali pakai ke sana (lihat Masuk). Alamat backend itulah domain server Mini App, dan versi tanpa domain yang sudah diverifikasi tidak bisa memasukkan siapa pun. Hanya Mini App yang memasukkan pengguna dengan Micromeet yang memerlukannya; domain ini tidak membatasi request lain dari halaman.
- Beri tahu Micromeet alamat backend Anda, misalnya
https://api.example.com: HTTPS, nama host, tanpa path; paling banyak 20 per Mini App. - Micromeet memberi Anda sebuah file,
https://api.example.com/micromeet-miniapp-<16 karakter>.txt, berisi sebuah token. Sajikan di alamat itu lewat HTTPS dengan status 200 dan tanpa redirect. - Micromeet memverifikasi domain dengan mengambil file itu. Biarkan file tetap di sana: jika file hilang, domain tidak lagi dihitung dan proses masuk berhenti.
- Cantumkan domainnya di paket:
miniapp({ appId: 'ai.example.app', name: { en: 'Example' }, domains: ['https://api.example.com'] })Tanpa Vite: micromeet-miniapp pack … --domain https://api.example.com. Domain ditandatangani bersama versinya, jadi daftar yang berubah berarti versi baru. Untuk pengembangan, http://localhost:<port> atau http://127.0.0.1:<port> tidak perlu file di lingkungan yang diizinkan Micromeet.
Minta Micromeet menandatanganinya
Micromeet mendaftarkan dan menandatangani setiap versi: Core milik Micromeet membaca app.asar, memeriksa setiap file terhadap digest-nya, lalu menandatangani header-nya; tanda tangan ditulis ke manifest.json. Sebelum menyerahkan paket, periksa dengan cara yang sama seperti Cowork dan Micromeet:
micromeet-miniapp verify miniapp-package # paketnya
micromeet-miniapp verify miniapp-package --signed # setelah ditandatangani: tanda tangannya validSatu versi tidak bisa didaftarkan dua kali: ubah version untuk setiap build baru yang Anda serahkan.
Kirim
micromeet-miniapp zip miniapp-package # → ai.example.app-1.0.0.zipPengguna memasang zip itu di Cowork dengan meminta agent (miniapp_install). Cowork menyimpan setiap versi di foldernya sendiri dan menghapus versi lama setelah tab-nya ditutup. Mini App bertanda tangan juga bisa dimasukkan ke paket ekstensi dan skill; Cowork memeriksanya dengan cara yang sama setiap kali dibuka.
| Batas | |
|---|---|
app.asar | 512 MB; taruh media di app.asar.unpacked/ (unpackDir atau unpack) |
app.asar.unpacked/ | 100.000 file, 8 GB |
Terkait
- Membuat Mini App dengan Masuk Dari pendaftaran sampai proses masuk berjalan
- Spesifikasi Paket Semua aturan yang harus dipenuhi paket, dan siapa yang memeriksanya
- Masuk Memasukkan pengguna dari Mini App
- Ikhtisar Semua modul Mini App SDK