Langsung ke isi

Berlaku untuk Cowork 0.1.41 · Untuk semua pengguna Cowork

Lihat Markdown

Connector ​

Connector mengirim dan menerima pesan antara satu kanal luar (platform chat, ruang siaran langsung) dan Gateway Cowork. Daftarkan dengan api.registerConnector(definition).

ConnectorDefinition ​

FieldTipeWajibDeskripsi
idstringYa di 0.1.41; Tidak Belum dirilisHuruf kecil, angka, dan tanda hubung. Jika dozin.connectors mencantumkan ID, id harus salah satunya; tanpa daftar itu ID valid apa pun bisa dipakai, hingga 16 Connector. Di 0.1.41 wajib dan harus tercantum. Mulai versi berikutnya default-nya nama paket
systemPrompt Belum dirilisstringTidakAturan yang diikuti setiap obrolan Connector ini, paling banyak 4000 karakter; pengguna tidak bisa mengubahnya
chat Belum dirilis{ title, roles?, maxLength?, maxPerMinute? }TidakPesan masuk ke satu obrolan yang membalas dengan gateway_send. title 1–80 karakter; roles hingga 16 entri, ID huruf kecil (host, viewer, self) → label 1–24 karakter; maxLength 1–4000 (default 500); maxPerMinute 1–30 (default 6). chat yang tidak valid ditolak seluruhnya
start(ctx)functionYaLihat di bawah
stop()functionYaLihat di bawah
send(reply)functionYaLihat di bawah

start(ctx) ​

Dipanggil saat Connector mulai. Buka koneksi, timer, dan pengamat halaman di sini.

NamaTipeDeskripsi
ctxConnectorContextemit, log, dan browser jika punya capability itu

Mengembalikan void atau promise. Batas: 5 detik.

stop() ​

Dipanggil saat Connector berhenti. Tutup semua yang dibuka oleh start. Harus aman dipanggil lebih dari sekali. Batas: 5 detik.

send(reply) ​

Mengirim satu balasan dari Cowork ke kanal.

NamaTipeDeskripsi
reply.textstringBalasannya
reply.channelKeystringTujuannya, seperti yang diberikan oleh emit
reply.idempotencyKeystringKey yang sama dikirim paling banyak sekali
reply.replyTo Belum dirilis{ id, senderId, senderName, role }Dengan chat: pesan yang dijawab

Mengembalikan Promise<{ ok: boolean, error?: string, externalKey?: string, verified?: boolean }>. externalKey adalah key milik platform untuk percakapan ini. verified Belum dirilis berarti balasan sudah terlihat di sisi lain (default-nya sama dengan ok).

error hasilKapan
send_timeoutsend memakan waktu lebih dari 30 detik
unknown_connectorTidak ada Connector terdaftar dengan ID itu
invalid_replyBalasan yang diberikan Cowork tidak bisa dibaca
invalid_send_resultsend mengembalikan sesuatu tanpa ok bertipe boolean
Pesan yang dilemparsend melempar error

ctx.emit(message) ​

Menyerahkan satu pesan masuk ke Cowork.

FieldTipeWajibDeskripsi
textstringYaYang ditampilkan di obrolan
channelKeystringTidak<connectorId>/<kind>/<channelId>; default <connectorId>/group/default
senderIdstringTidakID tetap pengirim dari platform
senderNamestringTidakNama tampilan
msgIdstringTidakDipakai untuk membuang duplikat
atnumberTidakWaktu platform dalam milidetik
triggerbooleanTidakfalse: hanya konteks, dikirim bersama pesan berikutnya yang mendapat balasan
contextTextstringTidakYang dibaca model sebagai pengganti text
role Belum dirilisstringTidakDengan chat: siapa yang berbicara (host, viewer, self); self hanya konteks
modality Belum dirilis'text' | 'voice'Tidakvoice: ditranskripsi dari ucapan

Tidak mengembalikan apa pun.

ctx.log(text) ​

Menulis satu baris ke log Extension. Tidak mengembalikan apa pun.

js
ctx.log('connected to room 42');

Contoh ​

js
export function activate(api) {
  let timer;
  api.registerConnector({
    id: 'demo',
    start(ctx) { timer = setInterval(() => ctx.emit({ text: 'ping', senderId: 'bot' }), 60000); },
    stop() { clearInterval(timer); },
    async send(reply) { return { ok: true }; }
  });
}

Terkait ​

Untuk Micromeet Cowork 0.1.41 · build 261111110020