Langsung ke isi

Berlaku untuk Cowork 0.1.46 · Untuk semua pengguna Cowork

Lihat Markdown

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 ​

text
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
FieldDeskripsi
appIdDomain terbalik huruf kecil, misalnya ai.example.app; diberikan saat Micromeet mendaftarkan Mini App
nameString, atau { zh, en }; 1–60 karakter
versionHuruf, angka, ., +, -; maksimal 32
version_code12 digit, waktu build YYMMDDHHmmss
entryHalaman awal di dalam app.asar; bawaan index.html
domainsDomain server yang dituju request halaman; ditulis dari opsi domains plugin (lihat Domain server di bawah)
asarHeaderSha256 · signatureDitulis 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:

js
// 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.

  1. Beri tahu Micromeet alamat backend Anda, misalnya https://api.example.com: HTTPS, nama host, tanpa path; paling banyak 20 per Mini App.
  2. 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.
  3. Micromeet memverifikasi domain dengan mengambil file itu. Biarkan file tetap di sana: jika file hilang, domain tidak lagi dihitung dan proses masuk berhenti.
  4. Cantumkan domainnya di paket:
js
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:

bash
micromeet-miniapp verify miniapp-package            # paketnya
micromeet-miniapp verify miniapp-package --signed   # setelah ditandatangani: tanda tangannya valid

Satu versi tidak bisa didaftarkan dua kali: ubah version untuk setiap build baru yang Anda serahkan.

Kirim ​

bash
micromeet-miniapp zip miniapp-package    # → ai.example.app-1.0.0.zip

Pengguna 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.asar512 MB; taruh media di app.asar.unpacked/ (unpackDir atau unpack)
app.asar.unpacked/100.000 file, 8 GB

Terkait ​

Untuk Micromeet Cowork 0.1.41 · build 261111110020