無審查 AI 程式設計師:在 Cursor 與 Python 中使用
某些程式碼請求會遭到拒絕或加上警告標籤:安全工具、爬蟲程式、逆向工程、用於你自身實驗室的漏洞利用說明。以下是將無審查模型接入編輯器與腳本的方法,以及從中可預期的行為。

重點摘要
- 該端點使用 OpenAI 聊天格式,因此接受自訂 base URL 的編輯器和框架都可以使用它。
- 支援函式呼叫、JSON 模式和串流輸出,涵蓋了大多數程式碼代理模式。
- 100,000 token 的上下文視窗可在一次請求中容納程式庫的很大一部分。
- 它是一個通用模型,而非專為程式碼設計的模型,因此請先在您自己的任務上進行測試。
無審查程式碼生成器是什麼,以及它不是什麼
無審查 AI 程式碼生成器是一種語言模型,它回答程式設計請求時不會質疑你的理由。如果你正在為你擁有的網路撰寫掃描器、反編譯你失去原始碼的舊二進位檔案,或建立模擬瀏覽器的爬蟲,你會得到程式碼,而不是關於負責任使用的段落。
準確了解這項服務是什麼很有幫助。它是單一開放權重模型,針對合法成人用途進行微調,由獨立供應商運行。它不是任何大型廠商的官方 API,也不是在模型之間選擇的路由器。模型 ID 為 uncensored。這裡沒有關於基準分數的聲明,因為該網站上未發布任何分數。拒絕較少的模型並不自動成為更好的程式碼生成器,因此將第一週視為評估期。
合法使用由您負責。該工具消除了合法安全工作、研究和特殊工程的摩擦。它不是攻擊您不擁有系統的許可證。
從 Python 或 curl 呼叫
最簡單的測試是單一請求。此 Python 腳本要求一個小工具並列印答案。
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)
低 temperature 適合程式碼。0.1 到 0.3 之間的數值會產生更穩定的輸出,而 seed 讓你在比較提示詞時可以重複執行。從終端機發出相同請求的範例如下。
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+"}
]
}'
你可以使用 GET /v1/models 列出端點提供的內容。從 金鑰頁面 取得金鑰;一鍵試用額度 $0.50 足以應付數百個小型程式碼請求。
在 Cursor 中設定
Cursor 允許你在模型設定中覆蓋 OpenAI 基礎 URL,這就是將其指向任何相容供應商的方法。選單名稱在不同版本之間會有所變化,因此請遵循概念而非標籤。
- 開啟 Cursor 設定並找到模型區段。
- 將您的金鑰貼到 OpenAI API 金鑰欄位中。
- 啟用覆蓋 OpenAI 基礎 URL 的選項,並輸入
https://api.nofilterai.cc/v1。 - 新增名為
uncensored的自訂模型,並在聊天面板中選取它。 - 在嘗試跨多個檔案進行編輯之前,先發送一個小型測試訊息。
Cursor 和類似編輯器可能會為某些功能使用它們自己的伺服器,且某些功能可能完全不接受自訂模型。如果某個功能失敗,請檢查它是否與供應商自己的模型綁定,而不是假設端點已損壞。使用自訂模型的聊天是可靠的區段。
接受 OpenAI 相容端點的其他工具(如 Continue 或 Aider)使用相同的三個值:基礎 URL、金鑰、模型名稱。
從 LangChain 使用
LangChain 的ChatOpenAI類別接受base_url參數,因此端點無需自訂包裝函式即可插入。
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)
鏈、提示詞範本和輸出解析器的工作方式與遵循 OpenAI schema 的任何聊天模型相同。如果你建立代理,請記住並行限制:完整金鑰允許同時 8 個請求和每分鐘 300 個請求,試用金鑰則為 2 和 60。將十個函式呼叫扇出的並行代理會因額外請求而收到 HTTP 429 錯誤,代碼為 concurrency。限制扇出數量,或稍作延遲後重試。
用於代理的函式呼叫與 JSON 模式
程式碼代理依賴結構化輸出。API 支援 tools、tool_choice、串流形式的 tool_calls,以及以 role: "tool" 訊息形式傳回的函式結果。以下是讀取檔案的函式的最小往返範例。
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)
在執行模型要求的任何內容之前,請務必驗證參數。來自模型的檔案路徑、shell 字串或 URL 都是不受信任的輸入,無論產生它們的模型為何。
若要輸出程式碼,請將 response_format 設為 {"type":"json_object"},並在提示詞中說明你預期的鍵。JSON 模式可確保回覆為有效 JSON,但你的結構描述檢查仍應放在程式碼中。
上下文大小與程式碼呼叫的成本
上下文視窗為 100,000 token,包含提示詞加上回覆。作為粗略指南,這可以同時容納許多原始碼檔案,因此您可以一次貼上模組、其測試和錯誤追蹤,而不必進行摘要。較大的提示詞成本更高,因此請只傳送問題所需的內容。
價格為每 1M 輸入 token $0.15,每 1M 輸出 token $0.50。範例:
| 請求 | 輸入 | 輸出 | 成本 |
|---|---|---|---|
| 解釋函式 | 1,500 | 500 | $0.000225 + $0.00025 = $0.000475 |
| 使用測試審查模組 | 30,000 | 2,000 | $0.0045 + $0.001 = $0.0055 |
| 一天內 200 次這樣的評論 | 6,000,000 | 400,000 | $0.90 + $0.20 = $1.10 |
| 整個上下文視窗作為輸入,一次呼叫 | 100,000 | 0 | $0.015 |
失敗或拒絕的請求不會收費。額度是預付的,不會過期,儲值金額介於 $20 至 $500 之間的任何整數,從 $50 起有 5% 的獎勵,從 $100 起有 10% 的獎勵,從 $200 起有 15% 的獎勵。僅接受加密貨幣付款:TRC20 上的 USDT 或 Base 上的 USDC。請參閱 定價頁面 以獲取當前條款。
適用於真實差異的審查提示詞
大上下文視窗的最佳用途之一是程式碼審查。與其問「這段程式碼好嗎?」,不如貼上差異和它涉及的檔案,然後要求以固定格式呈現發現。要求一個編號列表,其中每項列出檔案、行號、問題和一行修復建議,並說明空列表是有效答案。最後的指示很重要:當模型被指示尋找問題時,它有時會為了取悅你而捏造問題。
審查時將 temperature 保持在 0.2 左右,因為你希望在第二次運行時獲得相同的發現。如果在持續整合作業中運行審查,請設定 seed 並記錄 X-Request-Id 標頭,以便稍後追蹤令人驚訝的結果。當腳本必須將發現發布到某處時,將其與 JSON 模式結合使用,並要求鍵如 file、line、severity 和 fix。
當答案錯誤或為空時
三個問題涵蓋了大多數失敗的運行。如果你收到 401,則金鑰遺失或標頭不是 Authorization: Bearer 後接你的金鑰。如果編輯器說模型不存在,請檢查名稱是否完全為 uncensored,且基礎 URL 以 /v1 結尾且沒有額外路徑。如果程式碼編譯但行為不端,請將失敗的輸出提供給模型,並要求它在重寫之前解釋錯誤;診斷後做出的修復往往比盲目做出的修復更小且更安全。
適用與不適用之處
對於其他助手拒絕或保留的請求,請使用無審查端點,並繼續使用你常用的工具,如果它對你來說效果更好。許多開發人員並行運行兩個模型,並將每個任務發送給能清晰回答的那一個。
- 適合:你擁有的系統的安全實驗室工作、爬蟲和自動化腳本、防禦者的惡意軟體分析說明、逆向工程筆記、特殊的資料處理工作。
- 請小心:產生的程式碼可能包含錯誤或虛構的函式庫函數。請執行、測試並閱讀它。
- 未提供:影像或語音生成、嵌入與微調。此僅為文字對話端點。
- 隱私:提示詞不會用於訓練,若貼上專有程式碼則這一點很重要。
每筆請求的內文上限為 8 MB,遠超過上下文視窗所能使用的量。回應標頭包含 X-Request-Id、X-Balance-USD 以及速率限制值,這些對日誌很有用。文件列出了所有傳遞的參數。
更多指南
問答
無審查 AI 程式設計師在程式設計方面比其他模型更好嗎?
預設並非如此。較少的拒絕會改變它會回答的內容,而不是它寫程式碼的能力。在你依賴它之前,先在你自己的任務上測試它。
哪些編輯器和框架可以與它搭配使用?
任何允許自訂 OpenAI 相容 base URL、金鑰和模型名稱的工具。Cursor、LangChain 和官方的 OpenAI SDK 是常見的範例。
支援函式呼叫嗎?
是的。它接受工具和 tool_choice,回傳 tool_calls(即使在串流輸出時也會回傳),並接收 role: tool 訊息作為結果。也提供 JSON 模式。
當我達到速率限制時會發生什麼事?
你會收到 HTTP 429,錯誤代碼為 rate_limited 或 concurrency。對於暫時過載,429 會帶有 Retry-After 標頭,設定為 5 秒。
只差一張表單,即可取得金鑰
建立帳號、複製金鑰、更改基礎 URL。這就是整個設定過程。