Clip memfailkan halaman web dalam nota anda dengan ringkasan yang sudah ditulis. Hari ini ia terbuka kepada setiap akaun Telli.sh
Clip bukan sekadar menyimpan halaman web: ia menukarkannya menjadi nota Telli.sh dengan tajuk dan ringkasan satu baris yang ditulis AI. Ia sudah dihantar tetapi tersembunyi di sebalik bendera pentadbir, jadi dua pembilang analitik tidak pernah menyala walau sekali. Pintu itu kini telah ditanggalkan: akaun percuma mendapat 30 simpanan dan 10 ringkasan AI sehari, dan sambungan pelayar versi 1.18 menambah menu klik kanan Save to Telli.sh yang mengesahkan diri dengan token yang tidak boleh melakukan apa-apa selain menyimpan klip.
Ada satu jenis pepijat yang tiada set ujian mampu menangkapnya: cirinya berfungsi, dan tiada sesiapa dapat mencapainya.
Clip sudah lengkap berminggu-minggu. Modalnya menyimpan melalui POST /v1/clip , mengisi kad pautan daripada teg meta awam halaman berkenaan, menjana ringkasan satu baris dengan AI, membatalkan cache senarai nota, dan sejak awal sudah tahu bezanya antara "tersimpan, tetapi kuota ringkasan anda sudah habis" dengan "yang ini gagal". Semuanya, berfungsi. Namun dalam PostHog, dua peristiwa yang dilaporkannya — clip_opened dan clip_created — tidak pernah menyala. Bukan jarang, tetapi tidak pernah langsung. Sifar.
Puncanya ialah tiga baris kod di bahagian antara muka. Butang pada bar sisi dan modal itu kedua-duanya dikunci di sebalik user.is_master , dan butang itu turut memakai lencana kuning gangsa bertulis Admin preview . Bahagian pelayan tidak pernah mengunci apa-apa berdasarkan is_master — ia menguatkuasakan kuota harian mengikut pelan, dan di situlah tempat yang betul untuk sesuatu had. Ciri ini bukannya tidak digunakan. Ia memang tidak boleh dicapai.
Sejak commit 64852ac pada 5 September 2026, syaratnya tinggal "adakah ada sesiapa yang sedang log masuk". Tulisan ini ialah pengumuman produk, jadi ia memang sengaja berpusat pada produk: inilah yang dilakukan Clip, berapa yang ia ambil daripada jatah anda, apa yang dihantar oleh sambungan pelayar, dan apa yang sengaja tidak pernah dibacanya.
TL;DR
- Clip kini terbuka kepada setiap akaun yang sedang log masuk. Butang pada bar sisi menanggalkan lencana pentadbirnya pada 5 September 2026.
- Hadnya ialah kuota harian, bukan sebuah pintu. Pelan Free mendapat 30 simpanan dan 10 ringkasan AI setiap hari UTC; Plus, Pro dan Pro+ meningkat daripada situ. Angka tepatnya ada dalam jadual di bawah.
- Kehabisan kuota ringkasan tidak menghilangkan klip anda. Pautan dan data huraiannya tetap tersimpan; hanya ringkasannya yang dilangkau, dan aplikasi memberitahu anda begitu.
- Sambungan pelayar boleh menyimpan halaman yang sedang anda buka. "Save to Telli.sh" duduk dalam menu klik kanan pada mana-mana halaman http(s), dan membawa bersama apa sahaja yang sedang anda sorot. Versi 1.18 sedang dalam semakan Chrome Web Store ketika tulisan ini keluar — ia belum boleh dipasang.
- Sambungan itu mengesahkan diri dengan token yang hanya boleh menyimpan klip. Ia tidak boleh membaca nota anda, menukar akaun anda, menyentuh pengebilan, atau mencetak token lain. Anda melihat bahagian rahsianya tepat sekali, dan anda boleh membatalkannya.
- Sambungan itu hanya membaca apa yang memang sudah dipaparkan halaman kepada anda. Tajuk, pautan canonical, meta
og:/twitter:awam, dan teks yang anda sorot. Bukan badan artikelnya. Tiada apa-apa meninggalkan pelayar tanpa klik anda, dan tanpa token yang tersimpan, butiran menu itu langsung tidak melakukan apa-apa.
Apa yang sebenarnya dilakukan Clip terhadap sesuatu URL
Buka Clip daripada bar sisi, tampal satu URL, dan modal itu memanggil POST /v1/clip/metadata . Titik akhir tersebut mengambil HTML halaman itu lalu membaca teg meta awamnya sahaja — og:title, og:description, og:image, og:site_name, article:author, article:published_time , dan <link rel="canonical"> . Tajuk, huraian, nama tapak dan imej kembali dalam keadaan sudah terisi. Jika pengambilan itu gagal, modal akan memberitahu anda dan tetap membenarkan anda menyimpan pautan itu, dengan nama hos mengambil tempat nama tapak.
Kemudian anda menyimpan, dan Clip menjadi sebuah nota. Bukan lampiran, bukan penanda buku dalam senarai berasingan — sebaliknya sebuah nota dengan note_type="clip" , duduk dalam All Notes bersama segala yang lain, boleh dicari, dimasukkan ke folder, dikongsi dan dieksport dengan jentera yang sama. URL sumber dan seluruh kad pautannya disimpan dalam konteks nota itu, jadi asal-usulnya tidak pernah hilang di sebalik ringkasan.
Jika ada apa-apa untuk diringkaskan — sebuah huraian, teks yang anda sorot, nota yang anda tampal — satu ringkasan umum akan berjalan dan menulis ringkasan satu baris pada nota itu. Baris itulah yang anda lihat di bawah tajuk dalam senarai.

Tiga klip yang disimpan ke akaun produksi pada 5 September 2026, duduk dalam All Notes bersebelahan nota biasa. Dua klip artikel membawa tajuk tulisan AI dan ringkasan satu baris. Halaman hadapan Hacker News tidak menerbitkan meta huraian dan tiada teks yang disorot, jadi tiada apa-apa untuk diringkaskan — ia mengekalkan tajuknya sendiri dan tanpa baris ringkasan. Apabila Clip tiada bahan untuk digunakan, ia memilih diam dan bukannya mereka-reka.
Butiran terakhir itulah peraturan reka bentuk yang menyokong keseluruhan ciri ini, dan ia berbaloi dinyatakan bersendirian: hasil AI tidak pernah menggantikan yang asal . URL sumber, data huraian milik tapak itu sendiri dan sebarang teks yang anda berikan semuanya dikekalkan; ringkasan ialah data terbitan yang dilapik di atasnya. Jika ringkasannya salah atau tidak berguna, benda yang benar-benar anda simpan masih ada di situ.
Hadnya ialah kuota harian, dan itulah satu-satunya had
Tiada pintu pelan pada Clip. Yang ada hanyalah jumlah.
| Pelan | Simpanan sehari | Ringkasan AI sehari |
|---|---|---|
| Free | 30 | 10 |
| Plus | 150 | 50 |
| Pro | 500 | 150 |
| Pro+ | 2,000 | 500 |
Nilai lalai daripada backend/config.py (CLIP_SCRAPE_DAILY_QUOTA_*, CLIP_SUMMARY_DAILY_QUOTA_*), dibaca pada 5 September 2026.
Dua kuota, bukan satu, dan kedua-duanya gagal dengan cara berbeza secara sengaja. Kehabisan jatah simpanan bermakna simpanan itu ditolak — pelayan menjawab 403 dengan kod berstruktur clip_scrape_quota_exceeded berserta tarikh tetapan semula. Kehabisan kuota ringkasan pula, klipnya tetap tersimpan; hanya langkah meringkas yang dilangkau, dan aplikasi memberitahu anda tepat begitu: "Klip disimpan. Kuota ringkasan AI hari ini sudah habis digunakan."
Ketaksimetrian itu memang disengajakan. Menyimpan sesuatu pautan itu murah dan itulah yang anda benar-benar mahukan; meringkas pula bahagian yang mahal. Kehilangan halaman yang anda niat simpan semata-mata kerana sebuah model bahasa dihadkan kadarnya ialah pertukaran yang tidak masuk akal, jadi kami tidak memaksakannya.
Pembilangnya menggunakan tarikh kalendar UTC sahaja. Pada 00:00 UTC hari anda ditetapkan semula — saat yang sama bagi semua orang, bukan tetingkap 24 jam bergolek yang terpaksa anda kira sendiri.
"Save to Telli.sh" hanya sejauh satu klik kanan — sebaik 1.18 diluluskan
Modal di web menganggap URL itu sudah ada dalam papan keratan anda. Lazimnya yang ada di depan anda ialah halamannya sendiri.
Telli.sh: Every Translator 1.18 menambah satu butiran menu konteks, Save to Telli.sh , yang didaftarkan untuk konteks page mahupun selection pada http://*/* dan https://*/* — bermakna mana-mana halaman web, bukan hanya 30-an tapak yang diterjemahkan oleh sambungan ini. Klik kanan di mana-mana pada sesebuah artikel dan ia akan menyimpannya. Sorot tiga perenggan dahulu dan ketiga-tiganya turut dibawa, sehingga 2,000 aksara.
Maklum balasnya menumpang lencana bar alat yang memang sudah dimiliki sambungan ini: … semasa menyimpan, ✓ apabila berjaya, ! apabila gagal, masing-masing dengan penjelasan dalam petua alat pada bar alat. Mesej kegagalannya khusus kerana ralat daripada pelayan pun khusus. 401 bermakna token itu ditolak dan anda perlukan yang baharu. 403 bermakna salah satu daripada dua perkara yang berlainan sama sekali, dan sambungan itu membezakannya dengan mencari kod *_quota_exceeded dalam badan respons — kuota sudah habis ("datang balik esok") berbanding token tanpa kebenaran klip ("token ini tidak boleh buat begitu"). Kod status yang sama, nasihat yang bertentangan.
Versi 1.18 dihantar ke Chrome Web Store pada 5 September 2026 dan sedang dalam semakan. Anda belum boleh memasangnya. Sebaik diluluskan, ia akan tiba sebagai kemas kini automatik, dan menu konteks itu datang bersamanya.
Kunci yang hanya boleh menulis: tokennya boleh menyimpan klip dan tiada apa-apa lagi
Inilah bahagian yang paling kami ambil berat, kerana di sinilah integrasi seperti ini biasanya tersasar.
Versi malas bagi "sambungkan sambungan itu ke akaun anda" ialah menyuruh anda menampal token sesi anda ke dalam sambungan tersebut. Token itu membuka segalanya: ia memadam nota, mengeksport data anda, menyentuh pengebilan. Anda akan menyerahkan kelayakan akaun penuh sebagai tukaran bagi satu butang penanda buku, dan ia akan mendap dalam storan sambungan itu selama-lamanya.
Jadi Clip tidak menggunakan token itu. Telli.sh mengeluarkan token API berskop terhad , dimodelkan daripada milik Cloudflare: sesebuah token membawa senarai dasar dan bukannya berdiri mewakili diri anda, dan setiap dasar terdiri daripada satu effect (allow atau deny , dengan deny yang menang), satu set resources , dan satu set kumpulan kebenaran. Setakat ini ada tepat satu kumpulan, clip_write , yang berkembang menjadi kebenaran clip:write dan clip:metadata , serta tepat satu bentuk sumber, {"user": "self"} — data anda sendiri, tiada yang lain.
Kami memanggilnya kunci yang hanya boleh menulis , kerana itulah bentuknya: ia boleh memasukkan sesuatu ke dalam akaun anda dan tidak boleh mengeluarkan apa-apa.
Ketaksaan keselamatan yang menjadikan ini nyata cukup satu ayat dalam dokumen reka bentuk: token API tidak pernah melalui laluan pengesahan sesi . Kuki sesi dan JWT capaian diselesaikan melalui get_current_user_optional , yang menjangkau setiap titik akhir dalam produk ini. Token API pula hanya diselesaikan melalui kebergantungan require_permission(...) , dan jika kebenaran yang diminta oleh kebergantungan itu tiada dalam token tersebut, jawapannya 403. Rosakkan pemisahan itu dan sebuah token berskop terhad diam-diam bertukar semula menjadi token akaun penuh, dan itulah sebabnya ia dinyatakan sebagai peraturan terpenting dalam reka bentuk ini. Ada kesan sampingan yang membantu: token API ialah rentetan legap, jadi penyahkodan JWT sentiasa gagal padanya. Jika suatu hari ada yang tersasar masuk ke laluan kod sesi kerana silap, ia akan disahkan sebagai bukan sesiapa.
API token itu sendiri pun tertutup kepada token. Mencipta, menyenaraikan dan membatalkan token menuntut sesi log masuk yang sebenar — sebuah token tidak boleh mencetak token lain.
Mencipta satu mengambil kira-kira lima belas saat
Pergi ke Tetapan → Token API. Sebelum anda memiliki satu pun, halaman itu berterus terang tentang apa yang boleh dilakukan oleh benda yang bakal anda cipta.

Halaman token API di /settings/tokens sebelum sebarang token wujud, dirakam pada 5 September 2026. Baris tentang skopnya duduk di atas borang, bukan tertimbus dalam artikel bantuan: "Sesebuah token hanya boleh menyimpan klip. Ia tidak boleh membaca nota anda, menukar akaun anda, atau mencapai butiran pengebilan anda." Satu kebenaran yang ditawarkan, kerana satu kebenaran itulah semua yang wujud.
Namakannya, tandakan Simpan klip , cipta. Rahsia penuhnya muncul sekali sahaja, dalam panel yang menyatakan hal itu dengan huruf merah.

Panel rahsia sekali papar. Token dalam tangkapan skrin ini ditutup, dan akaun pemiliknya sudah dipadam. Sesebuah token berbentuk tsh_<12-character prefix>_<43-character secret> — 256 bit kerawakan base64url. Hanya awalannya disimpan sebagai teks biasa, sebagai kunci carian; bahagian rahsianya disimpan sebagai cincangan bcrypt dan tidak boleh dipulihkan, baik oleh kami mahupun oleh anda. Tutup panel ini dan ia hilang buat selamanya.
Selepas itu senarainya hanya menunjukkan awalan, tidak lebih daripada itu. Sebanyak itu memadai untuk membezakan dua token dan tidak berguna kepada sesiapa yang mencuri tangkapan skrinnya.

Token yang sama selepas panel rahsianya ditutup: awalan, skop, masa penciptaan, masa penggunaan terakhir, dan Batalkan. last_used_at ditulis paling kerap sejam sekali dan bukan pada setiap permintaan, jadi ia memberitahu anda secara kasar bila sesebuah token terakhir aktif tanpa menjadikan setiap klip satu penulisan pangkalan data tambahan. Pembatalan akan menetapkan revoked_at — serta-merta, kekal, dan bukan pemadaman keras, jadi rekod tentang apa yang pernah wujud tetap kekal.
Menyambungkan sambungan itu: lima langkah
- Log masuk di telli.sh dan buka Tetapan → Token API (
/settings/tokens). - Masukkan nama yang anda akan cam kemudian — "Browser extension" menjadi teks contohnya bukan tanpa sebab — tandakan Simpan klip , lalu tekan Cipta token .
- Tekan Salin token semasa panel sekali papar itu masih terbuka. Tiada peluang kedua; jika ia hilang, batalkan token itu dan cipta yang baharu.
- Buka halaman tetapan sambungan, cari bahagian Telli.sh Clip , tampal token itu ke dalam medan Telli.sh Clip token , lalu tekan Sambung .
- Klik kanan mana-mana halaman web dan pilih Save to Telli.sh . Lencana bar alat akan berkelip
✓dan klip itu sudah berada dalam All Notes.

Sambungan itu selepas langkah 4, dirakam pada 5 September 2026. Baris statusnya hanya menunjukkan awalan — sambungan memaparkan tepat apa yang dipaparkan oleh senarai token. Teks bantuannya menyatakan model penyimpanannya secara terus terang: "Ia disimpan pada peranti ini sahaja, dan penyimpanan klip kekal mati sehingga sebuah token ditambah." Tiada token, tiada klip; butiran menu itu ada tetapi tidak melakukan apa-apa.
Apa sebenarnya yang dibaca oleh sambungan itu
Dakwaan tentang privasi itu murah. Berikut kelakuan kodnya, satu-satunya versi yang berkira.
Apabila anda mengklik Save to Telli.sh , sambungan itu menyuntik satu fungsi ke dalam halaman dan membaca lapan medan: og:title atau twitter:title yang berundur kepada document.title ; og:description , twitter:description atau description ; pautan canonical; og:image atau twitter:image ; og:site_name atau application-name ; article:author atau author ; article:published_time ; dan window.getSelection() .
Baca semula senarai itu untuk melihat apa yang tiada. Tiada document.body . Tiada pengekstrakan teks artikel, tiada pemprosesan readability, tiada perjalanan DOM. Tujuh daripada lapan medan itu ialah data huraian yang memang diterbitkan halaman itu untuk Google dan untuk pratonton media sosial — data yang ditulis supaya dibaca orang yang tidak dikenali. Yang kelapan ialah teks yang anda sorot sendiri.
Empat sifat lagi berkuat kuasa dalam kod:
Tiada apa-apa dihantar tanpa satu klik. Fungsi data huraian itu berjalan di dalam pengendali menu konteks. Tiada penggera latar, tiada cangkuk semasa halaman dimuatkan, tiada mod "kumpul sambil anda melayari".
Tanpa token, langsung tiada apa-apa berlaku. Pengendalinya memeriksa token Telli.sh yang tersimpan terlebih dahulu dan berhenti di situ jika tiada, sambil memaparkan lencana yang menyuruh anda menyambungkan satu. Pada pemasangan baharu, butiran menu itu tidak bermaya.
Kuki sesi anda tidak boleh dipinjam. Sambungan itu memegang kebenaran hos untuk telli.sh , yang biasanya bermakna panggilan fetch -nya membawa kuki log masuk anda secara automatik — dan kuki itu akan mengesahkan mendahului token, lalu memberikan capaian akaun penuh dan bukannya skop khusus-klip yang kami reka. Maka permintaan itu dihantar dengan credentials: 'omit' . Token itulah satu-satunya kelayakan yang bermain, dan skop yang anda pilih ialah skop yang benar-benar berkuat kuasa. Satu pilihan kecil itulah yang menjadikan kunci yang hanya boleh menulis itu benar-benar hanya boleh menulis.
Di tempat sambungan itu tiada capaian halaman, ia menghantar lebih sedikit, bukan lebih banyak. Suntikan skrip memerlukan capaian hos, yang hanya dipegang sambungan itu bagi tapak yang diisytiharkan dalam manifesnya. Di tempat lain, suntikan itu sekadar gagal dan klipnya berundur kepada URL semata-mata; pelayan kemudian mengisi kadnya daripada teg meta awam halaman berkenaan. Mod kegagalannya ialah "data lebih sedikit", tidak pernah "minta kebenaran yang lebih luas".
Dan apabila pelayan mengambil sesuatu URL, ia mengambilnya seperti seorang pelawat, bukan seperti perangkak. Ia menolak localhost , setiap hos .local , dan sebarang nama hos yang terleraikan kepada alamat IP peribadi, gelung balik, link-local, multicast, terpelihara atau tidak ditentukan — dileraikan dan diperiksa betul-betul, bukan sekadar dipadankan corak, jadi nama DNS awam yang menuding ke 10.0.0.1 turut ditolak. Ia mengikut paling banyak 3 lencongan dan membaca paling banyak 256 KB HTML. Ia tidak log masuk, tidak membawa kuki anda, dan tidak cuba melakukan apa-apa yang tidak mampu diambil oleh pelawat yang belum log masuk. Halaman berbayar dan halaman peribadi kekal berbayar dan kekal peribadi — simpanlah teks sorotan anda sendiri daripadanya sebagai ganti.
Satu catatan pengukuran terakhir, memandangkan tulisan ini kami buka dengan kisah analitik. Klip yang dibuat melalui sambungan tidak pernah menyentuh aplikasi web, jadi bahagian antara muka tidak dapat melihatnya; pelayanlah yang melaporkan clip_created bagi klip-klip itu. Peristiwa tersebut membawa aplikasi sumber, jenis sumber, sama ada sorotan disertakan, sama ada ringkasan dijana, dan pelan pengguna. Ia tidak membawa URL, tidak membawa tajuk dan tidak membawa teks yang anda sorot — berapa banyak klip dibuat dan melalui laluan mana, tidak pernah apa isinya.
Kesimpulannya: aplikasi nota yang hanya menyimpan apa yang anda tuturkan baru separuh ingatan
Telli.sh bermula sebagai tempat untuk kerja yang dituturkan — merakam mesyuarat, mentranskripsikannya dalam bahasa yang benar-benar dituturkan, menterjemahkannya, meringkaskannya, menyimpan keempat-empat lapisan dalam satu nota. Itu merangkumi apa yang anda tuturkan .
Ia tidak merangkumi apa yang anda baca , sedangkan itulah sebahagian besar daripada apa yang anda tahu. Tab yang anda biarkan terbuka tiga hari. Halaman dokumentasi yang sebulan lagi anda akan perlukan semula. Bebenang komen yang menyimpan jawapan yang sebenar. Semua itu tinggal dalam sejarah pelayar yang tidak akan pernah anda cari dan bar penanda buku yang anda berhenti buka sejak 2019.
Clip ialah separuh yang lain yang kini tiba: nota yang sama, carian yang sama, folder yang sama, eksport yang sama — cuma dicapai melalui klik kanan dan bukannya mikrofon. Arahnya ialah satu pangkalan data peribadi tunggal tempat kata-kata anda dan sumber anda duduk bersebelahan, dan inilah permukaan pengumpulan pertama yang dihalakan ke web.
Pintu itu sudah tiada. Kini pembilang-pembilang itu ada tempat untuk pergi.
Cuba sendiri: log masuk, buka Clip pada bar sisi, dan tampal URL sesuatu yang sudah lama anda berniat simpan. Akaun percuma mendapat 30 simpanan dan 10 ringkasan AI sehari. Apabila sambungan 1.18 melepasi semakan Chrome Web Store, perkara yang sama akan menjadi satu klik kanan pada mana-mana halaman yang sedang anda baca.
Buka Telli.sh dan simpan klip pertama anda
Sumber
- Repositori Telli.sh, commit
64852ac, 5 September 2026 — "feat(clip): open Clip to every signed-in user", yang menanggalkan kuncianis_masterdan lencana Admin preview, serta merekodkan bahawaclip_createddanclip_openedtidak pernah menyala dalam PostHog. - Repositori Telli.sh,
backend/config.py— nilai lalaiCLIP_SCRAPE_DAILY_QUOTA_*danCLIP_SUMMARY_DAILY_QUOTA_*, dibaca pada 5 September 2026. - Repositori Telli.sh,
docs/SUPERAPP_BASELINE.md— asas Clip dan peraturan keselamatannya: tiada pemintasan log masuk atau dinding bayaran, tiada pengaisan pukal, peringkasan terhad kepada teks yang diberikan pengguna dan data huraian awam, serta peraturan bahawa hasil AI tidak pernah menggantikan yang asal. - Repositori Telli.sh,
docs/design/API_TOKEN_RBAC_DESIGN.md— reka bentuk token berskop terhad: struktur dasar, formattsh_<prefix>_<secret>, penyimpanan bcrypt, dan ketaksaan bahawa token API tidak pernah diselesaikan melalui laluan pengesahan sesi. - Repositori Telli.sh,
extension/extension/background.js—readClipMetadataFromPage,collectClipMetadatadansaveClip, 5 September 2026: lapan medan data huraian, pencetus hanya-melalui-klik, pemulangan awal ketika tiada token, dancredentials: 'omit'. - Telli.sh: Every Translator di Chrome Web Store — halaman penyenaraian tempat versi 1.18 dihantar; sedang dalam semakan setakat 5 September 2026.
- Halaman produk Telli.sh: Every Translator — laman web disokong, mod paparan, pembekal dan komitmen privasi di satu tempat.
- Tetingkap timbul sambungan selama ini menjawab soalan yang salah. Dalam versi 1.16, ia melukis halaman yang sedang anda buka, 4 September 2026 — keluaran sambungan sebelum ini, untuk melihat halaman tetapan tempat medan token Clip berada.