Coder AI Tanpa Filter: Gunakan di Cursor dan Python
Beberapa permintaan kode mendapat penolakan atau label peringatan dari asisten arus utama: alat keamanan, scraper, rekayasa balik, penulisan eksploit untuk lab Anda sendiri. Berikut cara menghubungkan model tanpa sensor ke editor dan skrip Anda, serta apa yang harus diharapkan darinya.

Poin utama
- Endpoint ini menggunakan format chat OpenAI, sehingga editor dan framework yang menerima URL dasar khusus dapat menggunakannya.
- Pemanggilan fungsi, mode JSON, dan streaming didukung, yang mencakup sebagian besar pola agen coding.
- Jendela konteks 100.000 token memuat sebagian besar repositori dalam satu permintaan.
- Ini adalah model umum, bukan model khusus kode, jadi uji pada tugas Anda sendiri terlebih dahulu.
Apa yang dimaksud dengan coder tanpa filter, dan apa yang bukan
Sebuah AI coder tanpa filter adalah model bahasa yang menjawab permintaan pemrograman tanpa mempertanyakan alasan Anda. Jika Anda menulis pemindai port untuk jaringan yang Anda miliki, mendekompilasi biner warisan yang sumber aslinya hilang, atau membuat scraper yang meniru browser, Anda mendapatkan kode alih-alih paragraf tentang penggunaan yang bertanggung jawab.
Penting untuk tepat mengenai apa layanan ini. Ini adalah satu model bobot terbuka, yang disesuaikan untuk menjawab tanpa penolakan konten untuk penggunaan dewasa yang sah, dijalankan oleh penyedia independen. Ini bukan API resmi dari vendor besar mana pun dan ini bukan router yang memilih di antara model. ID model adalah uncensored. Tidak ada klaim di sini tentang skor benchmark, karena tidak ada yang dipublikasikan untuk model ini di situs ini. Model dengan lebih sedikit penolakan tidak otomatis menjadi programmer yang lebih baik, jadi anggap minggu pertama sebagai evaluasi.
Penggunaan yang sah adalah tanggung jawab Anda. Alat ini mengurangi hambatan untuk pekerjaan keamanan yang sah, penelitian, dan teknik yang tidak biasa. Ini bukan lisensi untuk menyerang sistem yang tidak Anda miliki.
Panggil dari Python atau curl
Tes paling sederhana adalah satu permintaan. Skrip Python ini meminta alat kecil dan mencetak jawabannya.
from openai import OpenAI
client = OpenAI(base_url="https://api.nofilterai.cc/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
temperature=0.2,
messages=[
{"role": "system", "content": "You are a senior engineer. Reply with code first, then at most five lines of notes."},
{"role": "user", "content": "Write a Python script that scans TCP ports 1-1024 on a host I own, using asyncio, with a 0.5 s timeout."},
],
)
print(resp.choices[0].message.content)
Suhu rendah cocok untuk kode. Nilai antara 0,1 dan 0,3 memberikan output yang lebih stabil, dan seed memungkinkan Anda mengulangi eksekusi saat membandingkan prompt. Permintaan yang sama dari shell terlihat seperti ini.
curl https://api.nofilterai.cc/v1/chat/completions \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"temperature": 0.2,
"messages": [
{"role": "user", "content": "Explain this regex and rewrite it without lookbehind: (?<=id=)\\d+"}
]
}'
Anda dapat melihat apa yang terekspose oleh endpoint dengan GET /v1/models. Dapatkan kunci dari halaman kunci; kredit uji coba satu klik senilai $0,50 sudah cukup untuk ratusan permintaan pengkodean kecil.
Atur di Cursor
Cursor memungkinkan Anda mengganti URL dasar OpenAI dalam pengaturan modelnya, yang merupakan cara untuk mengarahkannya ke penyedia yang kompatibel. Nama menu yang tepat berubah antar versi, jadi ikuti ide daripada labelnya.
- Buka pengaturan Cursor dan temukan bagian model.
- Tempelkan kunci Anda ke bidang kunci API OpenAI.
- Aktifkan opsi untuk mengganti URL dasar OpenAI dan masukkan
https://api.nofilterai.cc/v1. - Tambahkan model kustom bernama
uncensoreddan pilih di panel obrolan. - Kirim pesan tes kecil sebelum mencoba edit di beberapa file.
Cursor dan editor serupa mungkin menggunakan server mereka sendiri untuk beberapa fitur, dan beberapa fitur mungkin tidak menerima model kustom sama sekali. Jika fitur gagal, periksa apakah itu terkait dengan model vendor sendiri daripada mengasumsikan endpoint rusak. Obrolan dengan model kustom adalah bagian yang dapat diandalkan.
Alat lain yang menerima endpoint OpenAI-kompatibel, seperti Continue atau Aider, menggunakan tiga nilai yang sama: URL dasar, kunci, nama model.
Gunakan dari LangChain
Kelas ChatOpenAI LangChain mengambil argumen base_url, sehingga endpoint dapat dimasukkan tanpa pembungkus kustom.
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(
model="uncensored",
base_url="https://api.nofilterai.cc/v1",
api_key="YOUR_KEY",
temperature=0.2,
)
print(llm.invoke("Write a bash one-liner that lists the 10 largest files under /var/log.").content)
Rantai, template prompt, dan parser output bekerja dengan cara yang sama seperti pada model chat apa pun yang mengikuti skema OpenAI. Jika Anda membuat agen, ingat batas konkurensi: kunci penuh memungkinkan 8 permintaan secara bersamaan dan 300 per menit, kunci uji coba 2 dan 60. Agen paralel yang menyebarkan sepuluh panggilan fungsi akan mendapatkan HTTP 429 dengan kode concurrency untuk yang tambahan. Batasi penyebaran, atau coba lagi dengan jeda singkat.
Pemanggilan fungsi dan mode JSON untuk agen
Agen coding bergantung pada output terstruktur. API mendukung tools, tool_choice, streaming tool_calls, dan hasil alat yang dikirim kembali sebagai pesan role: "tool". Berikut adalah perjalanan bolak-balik minimal dengan fungsi yang membaca file.
import json
from openai import OpenAI
client = OpenAI(base_url="https://api.nofilterai.cc/v1", api_key="YOUR_KEY")
tools = [{
"type": "function",
"function": {
"name": "read_file",
"description": "Read a UTF-8 text file from the project",
"parameters": {
"type": "object",
"properties": {"path": {"type": "string"}},
"required": ["path"],
},
},
}]
messages = [{"role": "user", "content": "Open main.py and tell me what it does."}]
first = client.chat.completions.create(model="uncensored", messages=messages, tools=tools)
call = first.choices[0].message.tool_calls[0]
messages.append(first.choices[0].message)
messages.append({
"role": "tool",
"tool_call_id": call.id,
"content": open(json.loads(call.function.arguments)["path"]).read(),
})
final = client.chat.completions.create(model="uncensored", messages=messages, tools=tools)
print(final.choices[0].message.content)
Selalu validasi argumen sebelum menjalankan apa pun yang diminta model. Path, string shell, atau URL yang berasal dari model adalah input yang tidak dapat dipercaya, apa pun model yang menghasilkannya.
Untuk output yang harus diparsing kode Anda, atur response_format menjadi {"type":"json_object"} dan sebutkan dalam prompt kunci mana yang Anda harapkan. Mode JSON membuat balasan valid JSON, tetapi pemeriksaan skema Anda masih ada di kode Anda.
Ukuran konteks dan biaya panggilan coding
Jendela konteks adalah 100.000 token untuk prompt ditambah balasan. Sebagai panduan kasar, itu memuat banyak file sumber sekaligus, sehingga Anda dapat menempelkan modul, uji coba, dan traceback yang gagal sekaligus alih-alih meringkas. Prompt yang lebih besar lebih mahal, jadi kirimkan apa yang diperlukan oleh pertanyaan.
Harganya adalah $0,15 per 1M token input dan $0,50 per 1M token output. Contoh:
| Permintaan | Input | Output | Biaya |
|---|---|---|---|
| Jelaskan fungsi | 1,500 | 500 | $0.000225 + $0.00025 = $0.000475 |
| Tinjau modul dengan tes | 30,000 | 2,000 | $0.0045 + $0.001 = $0.0055 |
| 200 ulasan seperti itu dalam sehari | 6,000,000 | 400,000 | $0.90 + $0.20 = $1.10 |
| Seluruh jendela sebagai input, satu panggilan | 100,000 | 0 | $0.015 |
Permintaan yang gagal atau ditolak tidak dikenakan biaya. Kredit bersifat prabayar, tidak kedaluwarsa, dan isi ulang dilakukan mulai dari $20 hingga $500 dalam jumlah bulat apa pun, dengan bonus 5% dari $50, 10% dari $100, dan 15% dari $200. Pembayaran hanya menggunakan kripto: USDT pada jaringan TRC20 atau USDC pada jaringan Base. Lihat halaman harga untuk ketentuan terkini.
Prompt tinjauan yang bekerja pada diff nyata
Salah satu penggunaan terbaik dari jendela besar adalah tinjauan. Alih-alih bertanya "apakah kode ini bagus?", tempelkan diff dan file yang disentuhnya, lalu minta temuan dalam bentuk tetap. Minta daftar bernomor di mana setiap item menyebutkan file, baris, masalah, dan perbaikan satu baris, dan katakan bahwa daftar kosong adalah jawaban yang valid. Instruksi terakhir itu penting: model yang diperintahkan untuk menemukan masalah kadang-kadang akan memalsukannya untuk menyenangkan Anda.
Pertahankan suhu di dekat 0,2 untuk tinjauan, karena Anda ingin temuan yang sama pada eksekusi kedua. Jika Anda menjalankan tinjauan dalam pekerjaan integrasi berkelanjutan, atur seed dan log header X-Request-Id sehingga Anda dapat melacak hasil yang mengejutkan nanti. Gabungkan ini dengan mode JSON ketika skrip harus memposting temuan di suatu tempat, dan minta kunci seperti file, line, severity dan fix.
Ketika jawabannya salah atau kosong
Tiga masalah mencakup sebagian besar eksekusi yang gagal. Jika Anda mendapatkan 401, kunci hilang atau header bukan Authorization: Bearer diikuti oleh kunci Anda. Jika editor mengatakan model tidak ada, periksa apakah namanya persis uncensored dan bahwa URL dasar berakhir dengan /v1 tanpa path tambahan. Jika kode dikompilasi tetapi berperilaku salah, berikan model output yang gagal dan minta model menjelaskan kesalahan sebelum menulis ulang apa pun; perbaikan yang dibuat setelah diagnosis cenderung lebih kecil dan lebih aman daripada perbaikan yang dibuat buta.
Di mana itu cocok dan di mana tidak
Gunakan endpoint tanpa sensor untuk permintaan yang ditolak atau diragukan oleh asisten lain, dan pertahankan alat biasa Anda untuk sisanya jika itu lebih baik untuk Anda. Banyak developer menjalankan dua model secara berdampingan dan mengirim setiap tugas ke mana pun yang menjawabnya dengan bersih.
- Cocok: pekerjaan lab keamanan pada sistem yang Anda miliki, skrip scraping dan otomatisasi, penulisan analisis malware untuk pembela, catatan rekayasa balik, pekerjaan pengolahan data yang aneh.
- Hati-hati: kode yang dihasilkan dapat berisi kesalahan atau fungsi pustaka yang diciptakan. Jalankan, uji, baca.
- Tidak ditawarkan: pembuatan gambar atau audio, embedding, dan fine-tuning. Ini hanya endpoint untuk obrolan teks.
- Privasi: prompt tidak digunakan untuk pelatihan, yang penting jika Anda menempelkan kode milik perusahaan.
Batas ukuran body adalah 8 MB per permintaan, jauh lebih besar daripada yang dapat digunakan oleh jendela konteks. Header respons mencakup X-Request-Id, X-Balance-USD, dan nilai batas laju, yang berguna dalam log. dokumentasi mencantumkan setiap parameter yang diteruskan.
Panduan lainnya
Tanya jawab
Apakah coder AI tanpa filter lebih baik dalam pemrograman dibandingkan model lain?
Tidak secara default. Penolakan yang lebih sedikit mengubah apa yang akan dijawabnya, bukan seberapa baik ia menulis kode. Uji pada tugas Anda sendiri sebelum mengandalkan model ini.
Editor dan framework apa saja yang kompatibel dengannya?
Apa pun yang memungkinkan Base URL kompatibel OpenAI kustom, kunci, dan nama model. Cursor, LangChain, dan SDK resmi OpenAI adalah contoh umum.
Apakah mendukung pemanggilan fungsi?
Ya. Ini menerima tools dan tool_choice, mengembalikan tool_calls (juga saat streaming), dan menerima hasil sebagai pesan role: tool. Mode JSON juga tersedia.
Apa yang terjadi ketika saya mencapai batas laju?
Anda mendapatkan HTTP 429 dengan kode kesalahan rate_limited atau concurrency. Untuk kelebihan beban sementara, 429 menyertakan header Retry-After selama 5 detik.
Kunci Anda hanya selangkah lagi dari satu formulir
Buat akun, salin kunci, ubah base URL. Itu saja seluruh pengaturannya.