Langkau ke kandungan

Diagnosis ejen

Panduan ini menunjukkan cara mengetahui mengapa sesuatu ejen tidak menghasilkan larian.

Bekerja dari atas ke bawah: larian ejen itu sendiri dahulu, kemudian bahagian belakangnya, kemudian pelayan, kemudian hos.

Tetapan → Ruang kerja → Ejen → pilih ejen itu → Log.

Setiap larian menunjukkan lencana status, tempoh (“Running…” semasa masih berjalan), masa mula dan tamatnya, PID-nya dan penyesuai yang digunakannya. Lihat membuka strim peristiwa mentah larian itu. Henti menghentikan paksa proses yang sedang berjalan dan menandakan larian itu “Killed by user”; Henti paksa yang berjalan dalam pengepala melakukan perkara yang sama untuk setiap larian ejen itu yang sedang berjalan.

Baca seperti ini:

  • Tiada larian langsung — penghantaran tidak pernah berlaku. Sebutan dalam penggubah ialah @ campur aksara perkataan (huruf, digit, garis bawah). Peleraiannya ialah padanan tepat atau awalan pada nama ejen, jadi @code-reviewer dihuraikan sebagai code dan masih boleh membangkitkan ejen bernama code-reviewer. Nama yang mengandungi ruang tidak boleh disebut sebagai satu token. Kemudian pergi ke langkah 2.
  • Larian yang tamat serta-merta dengan ralat — buka Lihat. Kegagalan melancarkan bahagian belakang muncul di sini sebagai ralat proses.
  • Larian yang tersekat pada “Running…” — hentikannya, kemudian semak Tamat masa senyap ejen itu pada tab Tetapan. Tamat masa yang tidak ditetapkan menggunakan lalai setiap modus.
  • Larian selesai tanpa output berguna — status log larian kekal completed bagi larian yang tamat tanpa hasil yang diisytiharkannya; isyarat jujurnya ialah teks ringkasan, bukan lencana.

Tab Log tidak menunjukkan kos. Untuk perbelanjaan, gunakan jadual setiap ejen dalam Kebolehcerapan → Wawasan.

Tetapan → Pelayan → Penyedia model (/settings/server/providers).

Senarai Pelari dikesan menunjukkan setiap penyesuai dengan hasil pemeriksaannya — versi yang dipasang, “Menyemak…”, atau “Tidak dijumpai” — beserta laluan yang diselesaikan dan cip keupayaan bagi CLI yang ditemui. Klik Muat semula dalam pengepala halaman untuk memeriksa semula.

Pemeriksaan itu berjalan pada mesin yang menghoskan cc_server, bukan pada mesin yang anda sedang lihat. Jika anda berada pada klien web atau peranti berganding, “Tidak dijumpai” bermaksud CLI itu tiada pada hos pelayan.

Dua perkara untuk disahkan:

  • Ejen memang mempunyai penyesuai yang ditetapkan. Ejen dengan penyesuai kosong dihantar ke Control Center (built-in) dan log larian merekodkan cc-harness, jadi transkrip menamakan apa yang berjalan. Dengan tiada model juga, ia meminta model lalainya daripada Anthropic — yang gagal dengan No credential for provider "anthropic" melainkan anda telah menyambungkan akaun Anthropic. Pakar yang disemai disertakan tanpa penyesuai.
  • Penyesuai terbina mempunyai model. Senarai modelnya datang secara langsung daripada penyedia yang disambungkan lebih jauh ke bawah pada halaman yang sama, jadi penyedia yang tiada kelayakan tersimpan menyumbang sifar model.

Katalog penyesuai itu sendiri adalah tetap — tiada cara untuk mendaftarkan penyesuai baharu. Apa yang boleh anda ubah bagi setiap penyesuai di sini ialah argumen pelancaran dan pemboleh ubah persekitarannya. Perhatikan bahawa pembatalan persekitaran bagi setiap penyesuai secara senyap mengalahkan akaun penyedia yang disambungkan apabila kelayakan diselesaikan.

Tetapan → Pelayan → Sambungan & status (/settings/server/connection) menunjukkan pelayan mana yang sedang dihubungi oleh klien ini dan apa yang dilaporkannya.

Untuk pelayan tanpa kepala, GET /healthz ialah maklumat yang sama tanpa klien. Ia tidak disahkan dan terbuka kepada CORS secara reka bentuk:

curl http://localhost:9030/healthz

Ia mengembalikan status pelayan, masa hidup dalam saat, bilangan sambungan langsung, port terikat, versi binaan dan SHA git, versi skema ruang kerja, versi katalog RPC, id, nama dan cap jari identiti pelayan, sama ada ikatan itu tidak selamat dan blok codeGraph dengan kiraan watching / indexing / pending. Apabila sesuatu cache telah menerima trafik, ia turut menyertakan blok caches; pelayan demo menambah demo: true.

Dua perkara yang wajar diketahui apabila sesuatu perubahan “berfungsi dalam ujian tetapi tidak dalam apl”:

  • Desktop melancarkan binari cc_server prabina dan mengutamakannya berbanding sumber. Op RPC atau alat MCP baharu tidak muncul sehingga binari itu dibina semula, dan log boot mencatat amaran apabila SHA git proses anak itu berbeza daripada SHA apl.
  • Desktop menghentikan paksa pelayan yang dijanakannya yang tidak mencetak sepanduk sedia dalam masa 20 saat dan jatuh ke skrin ralat.

Tetapan → Pelayan → Diagnostik & privasi (/settings/server/diagnostics) ialah halaman peringkat hos. Ia membawa:

  • Kotak pasir — togel induk, bahagian belakang yang dikesan dan petunjuk pemasangan. Hanya bahagian belakang yang dikesan datang daripada pelayan; lihat amaran di bawah. Tiada kawalan set semula.
  • Carian semantik — kitaran hayat model pembenaman pada peranti: dipasang, sedang memuat turun dengan peratusan, tidak dipasang, atau ralat pemasangan. Sehingga ia dipasang, carian memori dan kod kekal berasaskan kata kunci sahaja.
  • Tingkah laku sistem — kekalkan komputer terjaga semasa ejen berjalan.
  • Tahap log — naikkannya sebelum menghasilkan semula sesuatu kegagalan.
  • Privasi — sama ada kandungan diff mentah boleh diteruskan kepada model ejen dan sama ada laporan ranap dihantar.

Larian tidak pernah bermula dan penyesuai menunjukkan “Tidak dijumpai”

Bahagian bertajuk “Larian tidak pernah bermula dan penyesuai menunjukkan “Tidak dijumpai””

Pasang CLI itu pada hos pelayan, kemudian klik Muat semula pada halaman Penyedia model. Atau tukar ejen itu kepada penyesuai terbina, yang tidak memerlukan CLI, dan sambungkan penyedia pada halaman yang sama.

Baca apa yang dicetak oleh git atau ejen. Control Center policy: … bermakna satu peraturan tindakan menolaknya atau kelulusan tidak dijawab: semak Push ke remote dan Buka pull request di Tetapan → Ruang kerja → Kebenaran ejen. Jika git menyatakan Control Center tiada kelayakan GitHub yang boleh push, pasang GitHub App pada repo itu atau sambungkan GitHub.

Carian semantik tidak mengembalikan apa-apa yang berguna

Bahagian bertajuk “Carian semantik tidak mengembalikan apa-apa yang berguna”

Semak Tetapan → Pelayan → Diagnostik & privasi → Carian semantik. Sehingga model pembenaman dipasang, carian hanyalah berasaskan kata kunci. Baris yang ditulis sebelum model dipasang tidak pernah diisi semula, jadi ia kekal berasaskan kata kunci sahaja walaupun selepas itu.

Pustaka natif diperlukan dan tiada modus terdegradasi. dylib yang hilang menyebabkan cc_server enggan dimulakan dan menamakan pesalah itu dalam ralat. Sediakan natif dengan scripts/natives/build_natives.sh dan bina semula binari pelayan.

Keputusan guardrail prompt tanpa pelulus yang bersambung ditolak, memang disengajakan. Semak peraturan ruang kerja itu di bawah Tetapan → Ruang kerja → Kebenaran ejen.