Kembali ke panduan
Agen coding·21 September 2026·Diperbarui 1 Oktober 2026·Baca 11 menit

Batas token OpenManus dan error Unknown BrowserUseTool: satu masih berlaku, satu sudah hilang

OpenManus tidak menghasilkan error batas token sampai Anda mengaktifkannya — dan error BrowserUseTool merujuk pada kelas yang dihapus dari project pada Agustus 2026.

Terakhir ditinjau pada .

OpenManus tidak memberlakukan batas token secara default. Batasnya sendiri adalah max_input_tokens, yang dideklarasikan app/config.py sebagai Optional dengan default None dan deskripsi "Maximum input tokens to use across all requests (None for unlimited)", serta tidak muncul dalam contoh konfigurasi yang dikirimkan. Jadi instalasi standar tidak pernah menghasilkan error batas token miliknya sendiri — apa pun yang Anda temui berasal dari penyedia. Saat Anda menetapkannya, perilakunya memiliki dua aspek yang tidak diduga banyak orang, dan cacat pada main saat ini membuatnya gagal secara lambat, bukan cepat.

Error lain yang dibahas halaman ini, Error: Unknown tool 'BrowserUseTool', sama sekali bukan bug yang sedang berlangsung. Kelas yang disebutkannya dihapus dari OpenManus pada 15 Agustus 2026, dan agen Manus default pada main saat ini tidak mendaftarkan alat browser secara lokal. Tidak satu pun gejala tersebut merupakan masalah kunci API, endpoint, atau penyedia, dan mengarahkan ulang base_url tidak memperbaiki keduanya.

Catatan konteks sebelum semuanya. Tidak ada versi OpenManus yang dapat disebutkan: hanya ada tiga tag, v0.1.0, v0.2.0, dan v0.3.0, yang semuanya diterbitkan dalam jeda 34 detik pada 10 April 2025, dan tidak ada tag sejak itu, sehingga semua orang menjalankan main tanpa tag. Repositori kanonisnya adalah FoundationAgents/OpenManus — bukan arsip, berlisensi MIT, memiliki 58.371 bintang, dan terakhir didorong pada 22 Agustus 2026 (API GitHub, 21 September 2026). Path mannaandpoem/OpenManus lama kini hanya berupa README stub yang menyatakan proyek telah dipindahkan, sehingga path file dan nomor baris yang dikutip dari tutorial 2025 menunjuk ke kode yang sudah tidak ada. Semua yang berikutnya dibaca langsung dari sumber pada branch main pada 21 September 2026 dan tidak ada yang dieksekusi.

Manakah dari empat pesan yang sebenarnya Anda miliki

Yang Anda lihatSiapa yang mencetaknyaArtinya
Maximum token limit reached, cannot continue execution: Request may exceed input token limit (Current: …, Needed: …, Max: …)OpenManus, app/agent/toolcall.pyBatas max_input_tokens milik Anda sendiri untuk proses tersebut telah tercapai. Tidak ada permintaan yang dikirim
Error konteks atau token yang menyebutkan modelPenyedia Anda, yang ditampilkan melalui OpenAIErrorPermintaan melampaui jendela konteks model atau batas endpoint itu sendiri. Tidak berkaitan dengan batas OpenManus
Error: Unknown tool 'X'OpenManus, baris 179–181 pada app/agent/toolcall.pyModel menyebutkan alat yang tidak ada dalam available_tools.tool_map. Dikembalikan sebagai hasil alat, sehingga loop berlanjut dan menghabiskan satu langkah
Failed to connect to Browser Use CLI 3.0: …OpenManus, baris 99 pada app/agent/manus.pyServer MCP browser default tidak dimulai. Proses tetap berlanjut: agen Manus mempertahankan empat alat lokalnya, ditambah server MCP lain yang Anda konfigurasikan

Dispatch yang menghasilkan baris ketiga terdiri dari tiga baris, dan tidak berubah oleh penulisan ulang browser pada 2026: name = command.function.name, lalu if name not in self.available_tools.tool_map: return f"Error: Unknown tool '{name}'". Tidak ada bagian di dalamnya yang spesifik untuk browser, sehingga string yang sama muncul untuk alat apa pun yang diciptakan model.

Batas token bersifat opt-in, kumulatif, dan perkiraan

Tiga angka berbeda disebut "batas token", dan pesan error hanya pernah menyangkut salah satunya.

PengaturanYang dibatasiBawaanDalam contoh yang dikirimkan?
max_tokensSatu respons4096 dalam kodeYa — ditetapkan ke 8192
max_input_tokensInput kumulatif di seluruh prosesNone, yang berarti tidak terbatasTidak. Anda menambahkannya secara manual atau pengaturan itu tidak berlaku
Jendela konteks modelSatu permintaan, pada penyediaMilik model sendiriSama sekali bukan pengaturan OpenManus

Baris kedua adalah hal yang mengejutkan banyak orang. LLM.check_token_limit() dalam app/llm.py mengembalikan (self.total_input_tokens + input_tokens) <= self.max_input_tokens — total berjalan untuk sesi tersebut, bukan pemeriksaan terhadap satu permintaan. Jadi proses agen yang panjang akan memicunya melalui akumulasi meskipun setiap permintaan individual berukuran kecil, dan teks error menjabarkan perhitungannya: current, needed, max. Agen Manus default menetapkan max_steps = 20, dan setiap langkah mengirim ulang percakapan hingga saat itu, sehingga angka kumulatif meningkat lebih cepat daripada jumlah langkah.

Hitungan tersebut juga merupakan perkiraan milik OpenManus sendiri. LLM.__init__ memanggil tiktoken.encoding_for_model(self.model) dan menggunakan cl100k_base sebagai fallback saat KeyError, sehingga untuk ID model apa pun yang tidak memiliki preset di tiktoken — ID Claude atau Gemini, atau ID dengan namespace gateway — anggaran yang diberlakukan adalah perkiraan, bukan hitungan penyedia.

config/config.toml
# config/config.toml
[llm]
model = "claude-sonnet-4-6"
base_url = "https://api.kunavo.com/v1"
api_key = "sk-kn-..."

# The RESPONSE cap. Ships as 8192 in config.example.toml; the code default is 4096.
max_tokens = 8192

# The CUMULATIVE INPUT budget for the whole run. Absent from every shipped
# example, and None in code — so a stock install enforces no ceiling at all.
max_input_tokens = 400000

Seberapa besar nilai batas dalam uang

Karena max_input_tokens membatasi input kumulatif, pengaturan ini langsung menjadi batas biaya untuk sisi input satu proses. Angka-angka di bawah ini adalah perhitungan token ilustratif berdasarkan batas yang dinyatakan, bukan biaya tugas yang diukur dan bukan batas tagihan: angka tersebut menghitung harga token input yang dibatasi pengaturan ini, dengan tarif katalog Kunavo saat ini per juta. Output sama sekali tidak dicakup oleh pengaturan itu — kolom terakhir menghitung harga satu respons pada max_tokens = 8192 yang dikirimkan contoh konfigurasi, dan proses dua puluh langkah dapat menghasilkan dua puluh respons.

ModelInput / output per 1MInput pada batas 100.000Input pada batas 400.000Satu respons 8.192 token
Claude Haiku 4.5$0,70 / $3,50$0,070$0,280$0,029
GPT-5.6 Terra$0,70 / $4,20$0,070$0,280$0,034
Claude Sonnet 4.6$2,10 / $10,50$0,210$0,840$0,086
Claude Opus 5$3,50 / $17,50$0,350$1,400$0,143

Ada dua cara membaca ini. Batas adalah penghenti, bukan anggaran: batas memberi tahu biaya maksimum sisi input suatu proses, dan tidak mengatakan apakah tugas selesai. Karena OpenManus menghitung dengan tiktoken, batas yang diberlakukannya dan token yang ditagihkan penyedia merupakan dua pengukuran berbeda — tetapkan angka tersebut untuk membatasi loop yang berjalan tanpa akhir, lalu cocokkan dengan catatan akun Anda. Jumlah katalog Kunavo merupakan batas minimum penagihan, bukan batas maksimum: ketika upstream melaporkan biayanya, tagihan adalah nilai yang lebih besar antara biaya katalog dan biaya upstream dikalikan markup yang berlaku. Top-up minimum Kunavo adalah kredit prabayar sebesar $10, merupakan minimum pendanaan, bukan biaya tugas atau langganan — lihat detail penagihan.

Mengapa error token datang terlambat

Ini adalah cacat yang dapat dibaca dalam main saat ini, dan inilah alasan kegagalan batas token terasa seperti hang. Ketiga dekorator @retry dalam app/llm.py — pada ask, ask_with_images, dan ask_tool — ditulis secara identik:

Yang dikatakan dekoratorYang dicocokkannyaKonsekuensi
Komentar akhir: # Don't retry TokenLimitExceededretry_if_exception_type((OpenAIError, Exception, ValueError))TokenLimitExceeded merupakan turunan OpenManusError, yang merupakan turunan Exception — sehingga entri umum Exception mencocokkannya
Komentar di lokasi raise: # Raise a special exception that won't be retriedstop_after_attempt(6), wait_random_exponential(min=1, max=60)Hingga enam percobaan dengan jeda eksponensial sebelum error muncul, masing-masing menghitung ulang total yang sama-sama gagal

Loop agen di hilir mengonfirmasi bentuknya, bukan membantahnya. app/agent/toolcall.py menangkap pengecualian dan menguji isinstance(e.__cause__, TokenLimitExceeded) — pembukaan __cause__ itulah cara tenacity RetryError tiba, dan baris log miliknya berbunyi "Token limit error (from RetryError)". Baru setelah itu ia menambahkan pesan yang terlihat oleh pengguna, "Maximum token limit reached, cannot continue execution", dan menetapkan status agen menjadi selesai. Dengan kata lain, kode yang mengonsumsi sudah mengasumsikan percobaan ulang yang menurut komentar dekorator tidak terjadi.

Tidak ada perbaikan yang telah digabungkan. PR #1348, berjudul "fix: prevent needless retry of TokenLimitExceeded and fix search engine fallback", ditutup tanpa penggabungan pada 10 Agustus 2026; pengajuannya kembali, #1407, masih terbuka dan belum digabungkan pada 21 September 2026. PR terkait luapan konteks, #1391, "add tool description token budget to prevent context overflow", ditutup tanpa penggabungan pada 18 Agustus 2026. Alasan para maintainer menutupnya tidak dibaca di sini; yang diketahui hanya bahwa PR tersebut belum digabungkan. Laporan historis, issue #779 "hitting token limit" dari 17 Maret 2025, ditutup pada 17 September 2026 oleh bot inaktivitas dengan state_reason: not_planned — habis waktu, bukan penyelesaian. Sampai salah satunya diterapkan, mitigasi praktisnya adalah membiarkan max_input_tokens tidak ditetapkan dan membiarkan penyedia menolak permintaan yang terlalu besar, atau menetapkannya dan menerima penundaan.

Unknown tool 'BrowserUseTool' adalah error dari versi yang sudah tidak ada

Issue #789, "Result: Error: Unknown tool 'BrowserUseTool'", dibuka pada 18 Maret 2025 dan masih terbuka pada 21 September 2026, berlabel inactive. Penyebabnya tidak pernah berupa endpoint atau kunci. Log pelapor sendiri menunjukkan model mengeluarkan nama kelas Python, BrowserUseTool, padahal nama alat yang terdaftar adalah browser_use — dan langkah berikutnya dalam proses yang sama berhasil melakukan dispatch setelah memanggil browser_use. Log yang mereka tempel berakhir pada "Activating tool: 'browser_use'", dan baris penutupnya merupakan diagnosis lengkap: "BrowserUseTool seems not work, but browser_use can". Satu-satunya saran dari komentator adalah mencoba model yang lebih kuat, yang merupakan bentuk jawaban tepat untuk masalah ketepatan pemanggilan alat.

Diagnosis tersebut tidak berlaku untuk main saat ini, karena tidak ada lagi alat bernama browser_use yang dapat dipanggil dengan benar. Pada 15 Agustus 2026, commit ab8dfe43 ("feat(browser): use Browser Use CLI 3.0") dan 05c5bbb1 ("refactor(browser): use CLI 3.0 MCP server") menghapus alat browser lokal. Daftar direktori app/tool/ pada main tidak berisi browser_use_tool.py, dan satu-satunya kemunculan string BrowserUseTool yang tersisa di tree adalah baris yang dikomentari dalam app/agent/sandbox_agent.py.

Kode Maret 2025 (issue #789)main saat ini, dibaca pada 21 September 2026
Alat browserKelas lokal dalam app/tool/browser_use_tool.pyDihapus. Pada agen Manus default, server MCP di luar proses dimulai sebagai uvx browser-use --cli-mcp
Nama terdaftarbrowser_usebrowser_exec dan browser_screenshot, menurut README
Alat yang terdaftar secara lokal pada agen ManusMenyertakan alat browserPythonExecute, StrReplaceEditor, AskHuman, Terminate — alat browser hadir melalui MCP
Pin dependensiDipatok dalam requirements.txtTidak ada entri browser-use; diambil saat runtime oleh uvx, sehingga stack browser berjalan secara independen dari checkout Anda
KredensialKunci model AndaMode lokal tidak memerlukan kunci. Mode cloud merupakan akun Browser Use terpisah dengan variabel lingkungannya sendiri
Sakelar nonaktifHapus alat tersebutOPENMANUS_DISABLE_BROWSER_USE=1

Jadi, perbaikan untuk string persis ini saat ini adalah memperbarui checkout Anda dan berhenti menggunakan tutorial yang ditulis berdasarkan path repositori lama. Ada satu catatan yang perlu dinyatakan, bukan ditebak: ketika koneksi MCP gagal, app/agent/manus.py mencatat Failed to connect to Browser Use CLI 3.0 dan melanjutkan dengan empat alat lokal, sehingga model tetap dapat menyebutkan alat browser yang tidak terdaftar. Apakah hal itu dalam praktik menghasilkan pesan Unknown tool, dan dengan nama apa, tidak diamati di sini — anggap ini sebagai tempat untuk memeriksa, bukan sebagai gejala yang terdokumentasi. Perhatikan juga bahwa requirements.txt mematok uv>=0.6.0; apakah instalasi normal menempatkan uvx di PATH Anda tidak diverifikasi.

Satu hal yang masih akan muncul dalam pencarian, dan yang sengaja tidak diklaim oleh paragraf di atas: repositori tersebut memang berisi kode browser yang tidak pernah dimuat oleh jalur default. Entry point Daytona-sandbox terpisah, sandbox_main.py, membangun agen SandboxManus yang mendaftarkan SandboxBrowserTool dari app/tool/sandbox/sb_browser_tool.py sebagai alat lokal — dengan nama sandbox_browser, bukan browser_use. Jadi, "tidak ada alat browser lokal" merupakan pernyataan tentang agen Manus default yang Anda dapatkan dari main.py, bukan tentang seluruh tree.

Satu nama yang perlu dibedakan saat mencari: OpenManus/OpenManus-RL adalah repositori terpisah dalam organisasi terpisah, proyek riset reinforcement learning, bukan versi runtime agen, dan tata letak filenya tidak memberikan informasi tentang kedua error tersebut.

Hal-hal yang diubah dan tidak diubah oleh endpoint API lain

Kedua gejala di atas dihasilkan di dalam OpenManus, sehingga jawaban jujur untuk pertanyaan "apakah penyedia lain akan memperbaikinya" adalah tidak. Yang dipengaruhi oleh pilihan endpoint adalah sekumpulan kegagalan terkait yang mudah disalahartikan sebagai dua gejala tersebut.

KegagalanBerbentuk endpoint?Hal yang harus diperiksa terlebih dahulu
Pesan batas token milik OpenManus sendiriTidak — ditimbulkan sebelum permintaan apa pun dikirimNilai max_input_tokens Anda, dan apakah Anda bermaksud menetapkannya
Unknown toolTidak — model yang disebutkan tidak terdaftarTool apa saja yang didaftarkan agen tersebut, dan apakah modelnya cukup andal dalam pemanggilan tool
Penolakan panjang konteks dari providerYaJendela konteks model, dan max_tokens terhadapnya
Kesalahan autentikasi atau model tidak ditemukan pada proses pertamaYaContoh yang disertakan masih menyebut ID Claude yang dipensiunkan Anthropic pada 19 Februari 2026 — dibahas dalam Harga dan penyiapan API OpenManus
400 pada temperatureYaOpenManus mengirim temperature pada setiap permintaan di luar dua ID penalaran hardcode-nya, dan menyertakan temperature = 0.0
Tangkapan layar diam-diam tidak pernah mencapai modelSebagianVision dibatasi oleh pencocokan string persis terhadap enam ID model hardcode, yang semuanya merupakan model Anthropic yang sudah dipensiunkan. Juga dibahas di halaman penyiapan

Pada baris kelima itu, ada satu detail pihak pertama yang spesifik untuk endpoint ini, bukan saran umum. Dispatcher Kunavo menghapus temperature, top_p dan top_k sebelum meneruskan permintaan, untuk model-model katalog yang menyatakan parameter tersebut tidak didukung — saat ini Claude Fable 5.1, Claude Fable 5, Claude Opus 5.5, Claude Opus 5, Claude Opus 4.8, Claude Opus 4.7, Claude Sonnet 5 — dan melakukannya pada pergantian protokol, sehingga body yang sudah dihapus tersebut juga menjadi apa yang dilihat setiap percobaan ulang. Untuk model lainnya, field tersebut diteruskan sebagaimana dikirim OpenManus. Ini menghilangkan satu 400 spesifik untuk model-model tersebut; ini bukan klaim bahwa OpenManus telah diuji di sini. Kunavo belum menguji OpenManus saat runtime, dan tidak ada apa pun di halaman ini yang merupakan hasil kompatibilitas.

Jika Anda sedang menimbang rute, bukan men-debug satu rute, API yang kompatibel dengan OpenAI membahas apa yang dibawa dan tidak dibawa oleh jalur generik, gateway LLM membahas kapan satu kunci untuk berbagai keluarga model layak digunakan, dan pengoptimalan biaya AI membahas perbedaan antara tarif tercantum termurah dan cara termurah untuk menyelesaikan tugas — perbedaan inilah yang menentukan loop agen. Untuk diagnosis kelas yang sama pada klien lain, lihat Provider OpenCode tidak ditemukan.

Sedang menyiapkan OpenManus, bukan memperbaikinya? Sisi endpoint terdiri dari tiga field di [llm]: model, base_url dan api_key. Mulailah dari quickstart, periksa bentuk permintaan terhadap chat completions, dan buat akun Kunavo saat Anda siap mengisi saldo kunci. Pertahankan rute yang berfungsi selagi mencobanya, dan jalankan satu tugas yang dibatasi sebelum mengubah hal lain.

Pertanyaan umum

Berapa batas token OpenManus?

Secara default, tidak ada. Batas milik OpenManus sendiri adalah kolom max_input_tokens, yang dideklarasikan app/config.py sebagai Optional dengan default None yang dijelaskan sebagai "unlimited", dan tidak muncul dalam contoh konfigurasi yang dikirimkan — jadi instalasi standar tidak pernah menghasilkan error batas token miliknya sendiri, dan batas apa pun yang Anda temui berasal dari penyedia. Saat Anda menetapkannya, LLM.check_token_limit() membandingkan self.total_input_tokens + input_tokens dengannya, sehingga ini menjadi anggaran input kumulatif untuk seluruh proses, bukan pemeriksaan konteks per permintaan. Ini tidak berkaitan dengan jendela konteks model dan tidak berkaitan dengan max_tokens, yang membatasi satu respons dan dikirimkan sebagai 8192 dalam config/config.example.toml. Ketiganya dibaca pada branch main pada 21 September 2026.

Mengapa OpenManus berhenti sebelum melaporkan batas token?

Karena error batas tersebut dicoba ulang, meskipun ada komentar yang menyatakan sebaliknya. Ketiga dekorator @retry di app/llm.py — pada ask, ask_with_images, dan ask_tool — ditulis sebagai retry_if_exception_type((OpenAIError, Exception, ValueError)) dengan komentar akhir "# Don't retry TokenLimitExceeded". TokenLimitExceeded merupakan turunan OpenManusError, yang merupakan turunan Exception, sehingga entri Exception yang umum mencocokkannya dan tenacity mencoba ulang hingga stop_after_attempt(6) dengan jeda wait_random_exponential(min=1, max=60). Penangan milik agen mengonfirmasi bentuknya: app/agent/toolcall.py memeriksa isinstance(e.__cause__, TokenLimitExceeded), begitulah tenacity RetryError tiba, dan baru kemudian mencetak "Maximum token limit reached, cannot continue execution". Perbaikan memang ada, tetapi belum digabungkan: PR #1348 ditutup tanpa penggabungan pada 10 Agustus 2026 dan pengajuannya kembali, #1407, masih terbuka dan belum digabungkan pada 21 September 2026. Ini dibaca dari sumber, bukan direproduksi dengan menjalankannya.

Bagaimana cara memperbaiki Error: Unknown tool 'BrowserUseTool' di OpenManus?

Perbarui checkout Anda, karena pada OpenManus main saat ini kelas tersebut tidak ada. Alat browser lokal dihapus pada 15 Agustus 2026 dalam commit ab8dfe43 dan 05c5bbb1; app/tool/ tidak berisi browser_use_tool.py, dan satu-satunya kemunculan string BrowserUseTool di seluruh tree adalah baris yang dikomentari dalam app/agent/sandbox_agent.py. Pada agen Manus default yang dibangun oleh main.py, pekerjaan browser kini merupakan server MCP di luar proses yang dimulai sebagai uvx browser-use --cli-mcp, dengan alat bernama browser_exec dan browser_screenshot; entry point Daytona-sandbox terpisah, sandbox_main.py, masih mendaftarkan alat browser lokalnya sendiri bernama sandbox_browser. Pada kode Maret 2025 yang digunakan pelapor issue #789, penyebabnya adalah model mengeluarkan nama kelas Python, bukan nama alat yang terdaftar — log mereka sendiri menunjukkan langkah berikutnya berhasil melakukan dispatch saat memanggil browser_use, dan baris penutupnya berbunyi "BrowserUseTool seems not work, but browser_use can". String tersebut bersifat umum: app/agent/toolcall.py mengembalikan f"Error: Unknown tool '{name}'" untuk nama apa pun yang tidak ada dalam available_tools.tool_map, sehingga pesan yang sama kini muncul untuk alat apa pun yang diciptakan model.

Apakah issue #789 sudah diperbaiki, dan versi OpenManus mana yang memuat perbaikannya?

Belum diperbaiki dan tidak ada versi yang dapat disebutkan. Issue #789, "Result: Error: Unknown tool 'BrowserUseTool'", dibuka pada 18 Maret 2025 dan masih terbuka pada 21 September 2026, berlabel inactive, dengan tiga komentar — satu menyarankan model yang lebih kuat, pelapor setuju mencobanya, dan bot inaktivitas. Laporan batas token terkait, issue #779 "hitting token limit", ditutup pada 17 September 2026 oleh bot inaktivitas yang sama dengan state_reason not_planned, yang merupakan habis waktu, bukan perbaikan. OpenManus juga tidak memiliki rilis terkini untuk disebutkan: hanya ada tiga tag, v0.1.0, v0.2.0, dan v0.3.0, semuanya diterbitkan dalam jeda 34 detik pada 10 April 2025, dan tidak ada tag sejak itu, sehingga semua orang menjalankan main tanpa tag. Cantumkan tanggal commit, bukan nomor versi.

Apakah mengganti penyedia API akan memperbaiki error token atau alat OpenManus?

Tidak, dan kedua mode kegagalan tersebut perlu dipisahkan dari kegagalan yang memang berbentuk masalah penyedia. Pesan batas token yang disebutkan di atas dihasilkan oleh pembukuan OpenManus sendiri terhadap batas yang Anda konfigurasi sebelum permintaan apa pun dikirim, sehingga tidak ada endpoint yang dapat mengubahnya. Pesan Unknown tool dihasilkan oleh dispatch alat OpenManus ketika model menyebutkan sesuatu yang tidak terdaftar; ini merupakan sifat ketepatan pemanggilan alat model, dan satu-satunya saran yang pernah diberikan pada issue #789 adalah mencoba model lain karena alasan tersebut. Hal yang memang berubah dengan endpoint lain: penolakan panjang konteks dari sisi penyedia tiba sebagai OpenAIError, bukan TokenLimitExceeded; salinan baru contoh konfigurasi yang dikirimkan gagal dengan error model, bukan error token, karena masih menyebut ID Claude yang dihentikan Anthropic pada 19 Februari 2026; dan OpenManus selalu mengirim temperature di luar dua ID penalaran yang di-hardcode, yang menghasilkan kegagalan berbentuk 400 pada model yang vendornya telah menghentikan parameter tersebut.

Apakah OpenManus menghitung token dengan cara yang sama seperti penyedia saya?

Tidak. OpenManus menghitung secara lokal dengan tiktoken, dan LLM.__init__ memanggil tiktoken.encoding_for_model(self.model) dalam try yang menggunakan cl100k_base sebagai fallback saat KeyError. Untuk ID Claude atau Gemini, atau ID dengan namespace gateway apa pun yang tidak memiliki preset di tiktoken, anggaran yang diberlakukan OpenManus adalah perkiraan cl100k_base, bukan hitungan penyedia, dan TokenCounter menambahkan konstanta tetapnya sendiri — 4 token per pesan, 2 token pemformatan, 85 untuk gambar detail rendah, dan 170 per tile detail tinggi. Cocokkan dengan penggunaan yang dicatat akun penyedia Anda, bukan dengan total yang dicatat OpenManus. Diperiksa pada branch main, 21 September 2026, dengan tiktoken~=0.9.0 yang dipatok dalam requirements.txt.

Diperiksa pada 21 September 2026 dan tidak secara lebih luas: app/llm.py, app/config.py, app/agent/toolcall.py, app/agent/manus.py, app/agent/base.py, app/agent/sandbox_agent.py, app/tool/sandbox/sb_browser_tool.py, sandbox_main.py, app/exceptions.py, requirements.txt, config/config.example.toml dan README pada branch main; listing direktori app/tool/; riwayat commit tool browser yang dihapus; catatan GitHub untuk issue #779 dan #789, komentarnya, serta pull request #1348, #1391 dan #1407; metadata repositori dan rilis; serta halaman penghentian model Anthropic. Tidak ada yang dieksekusi — tanpa instalasi, tanpa menjalankan OpenManus, tanpa mereproduksi salah satu kesalahan, dan tanpa permintaan melalui OpenManus pada endpoint apa pun — sehingga setiap klaim perilaku di sini berasal dari pembacaan sumber, bukan kegagalan yang diamati, dan tidak ada proses minimal yang berhasil dilaporkan karena tidak ada yang dilakukan. Tarif token Kunavo berasal dari katalog langsung, dan setiap angka dolar adalah perhitungan token ilustratif, bukan biaya tugas yang diukur.