API

文档

开箱即用。不用求雨。兼容 OpenAI 的 Chat Completions。在网站账户或 Telegram 机器人领取密钥:/api 或 API 按钮。

Base URL · https://uncensored.dog/v1
这个服务以前叫 uncensored.monster。密钥不变,只换了地址。
API Key · 账户,或 @uncensobot 里的 API 按钮,只显示一次
Model ID · 默认 z-ai/glm-5.3-flash-uncensored
协议 · Chat Completions,不是 Anthropic,也不是 Responses

如何开始

  1. 打开 账户 或 @uncensobot。密钥、余额和付款是共用的。
  2. 购买套餐($1–$100,Crypto 或 xRocket USDT)。没有余额 → 402。
  3. API 按钮 — 密钥只显示一次。如果从 Telegram 复制,去掉空格和末尾换行。
  4. 客户端三个字段:带 /v1 的 Base URL、密钥、完整的模型 id。换了地址之后开一个新聊天。
  5. 试一句:“用一个词回复:ready”。如果收到回复,客户端就已经连上了。

更多:机器人 → 密钥 → API。

API 能做什么

缓存算在输入里:如果 usage 报告了 cached_tokens,就按该模型的缓存价计费。卡片:首页。菜单文字取决于客户端版本;我们没有在每个 IDE 里认证每一种代理场景。

ZCode

  1. 在机器人里打开 API,用清楚的名字建一把密钥,例如 zcode。
  2. 从 zcode.z.ai 安装或更新 ZCode。
  3. Settings → Model Settings。或者点输入框下面的模型名 → Manage Models。
  4. 列表底部 — Add Provider。任意名字,例如 uncensored。
  5. OpenAI Base URL:https://uncensored.dog/v1。 Anthropic Base URL 留空。
  6. 格式:Chat completions。粘贴密钥。如果看到 “API Key Required”,把它打开。 Save.
  7. Add Model,ID 必须完全一致:qwen/qwen3.8-27b-uncensored。显示名称随便你起。
  8. 该模型的高级设置:Context Window 1048576,Max output tokens 16384。
  9. 提供方和模型两边的开关都要打开。聊天里选这一组里的模型,不要选内置的 Z.ai GLM。
  10. 新建任务,发一句短测试,比如“用一个词回复:ready”。

不要把密钥贴进 Z.ai / BigModel 卡片 — 它们会打到 /paas/v4,那行不通。不要给模型 id 加 [1m] 后缀。

Cursor

  1. Settings → Models → API Keys / OpenAI compatible(措辞因版本而异)。
  2. Override OpenAI Base URL:https://uncensored.dog/v1。 Anthropic Base URL 留空。
  3. 密钥来自机器人。模型:qwen/qwen3.8-27b-uncensored,不要加 [1m] 后缀。
  4. 改了地址之后开一个新的代理聊天。旧对话可能还记着以前的地址。

Cursor Tab 和 Cursor 自带模型遵循 Cursor 的条款,不走我们的密钥。详情:在 Cursor 里设置 Base URL。也可以在 Cursor 的终端里跑 Aider — 那是另一个客户端。

Roo Code (VS Code)

  1. Roo 面板 → API Provider → OpenAI Compatible。
  2. Base URL、密钥、模型 id 同上。 Context Window 1048576,Max Output Tokens 16384。
  3. 需要图片就打开 Image Support。不要把 Computer Use 当成模型能力打开 — 看图并不会带来它。
  4. Roo 里的价格字段只给扩展界面看。计费始终按我们的 价格(GLM 输入 $0.39 / 输出 $1.58 / 缓存 $0.16,每 1M)。
  5. 从一个小任务和一个文件开始。 Roo 使用原生 tools。

Cline (VS Code)

  1. Cline → Settings → API Provider: OpenAI Compatible。
  2. Base URL、密钥、模型 id。如果 Plan 和 Act 是分开的提供方,两边填成一样。
  3. Model Configuration:Max Output Tokens 16384,Context Window 1048576,需要图片时打开 Image Support。
  4. 发一个短请求。系统说明、历史和工具共用这个窗口。

Kilo Code (VS Code)

  1. Settings → Providers → Custom provider。任意 id,例如 uncensored。
  2. Provider API:OpenAI Compatible。 Base URL、密钥、模型 id。 Save.
  3. 在 kilo.jsonc 里给模型设置:limit.context = 1048576,limit.output = 16384。在模型列表里选这个提供方。
  4. 只有 Chat Completions。 GLM 接受图片;在 Kilo 里不要选 Anthropic。

Continue (VS Code / JetBrains)

VS Code:Continue 扩展 → 本地 config.yaml。 JetBrains:Settings → Plugins → Continue,同一个模型文件。如果已经有配置,只合并 models 这一项。

models:
  - name: GLM 5.3 Flash Uncensored
    provider: openai
    model: qwen/qwen3.8-27b-uncensored
    apiBase: https://uncensored.dog/v1
    apiKey: YOUR_KEY
    roles:
      - chat
      - edit
    defaultCompletionOptions:
      maxTokens: 16384

聊天和 Edit 可以用。自动补全和基于嵌入的索引不行 — 我们不提供嵌入。

Zed

  1. 命令 zed: open settings file — 在 settings.json 里添加提供方,不要清掉其余内容。
  2. 命令 agent: open settings — 把密钥贴在提供方界面里,不要写进 JSON。
  3. 在 AI 面板里选 GLM,发一句短文本。
{
  "language_models": {
    "openai": {
      "api_url": "https://uncensored.dog/v1",
      "available_models": [
        {
          "name": "qwen/qwen3.8-27b-uncensored",
          "display_name": "GLM 5.3 Flash Uncensored",
          "max_tokens": 1048576,
          "max_output_tokens": 16384
        }
      ]
    }
  }
}

在 Zed 里 max_tokens 是上下文窗口,max_output_tokens 是回复预算。 Edit Prediction 是另一回事,不必打到我们的 API。

JetBrains AI Assistant

  1. Settings → Tools → AI Assistant → Providers & API keys.
  2. 第三方 AI 提供方 → OpenAI-compatible。 URL https://uncensored.dog/v1,密钥来自机器人。点 Test Connection。
  3. 在 AI Chat 里选 GLM。可选:Model Assignment → Core features,上下文 1048576。

这覆盖聊天和代码生成。这不能代替 JetBrains 订阅,也不能代替每一个内置代理。同一套 IDE 里的 Continue:见上一节。

Aider

在项目文件夹里开终端(VS Code、Cursor、JetBrains 都一样)。 openai/ 前缀告诉 Aider 用哪种协议。可能会出现 “unknown model” 警告 — 把 id 完整复制。不要把整个仓库塞进去:/add 一个小文件,再描述要改什么。

export OPENAI_API_BASE=https://uncensored.dog/v1
export OPENAI_API_KEY=YOUR_KEY
aider --model openai/qwen/qwen3.8-27b-uncensored

PowerShell:$env:OPENAI_API_BASE 和 $env:OPENAI_API_KEY。

OpenCode 2

把这个提供方并进 opencode.jsonc(v1 格式不同)。把密钥放在环境变量里。 models 下面的对象键就是 OpenCode 发给 API 的 id。 name 只是选择器里的显示名。像 glm 这样的别名会返回 400 “Unknown model”。在 /models 里选 uncensored/z-ai/glm-5.3-flash-uncensored。从一个小任务开始。

如果列表里有模型,但聊天说 “no API key” 或 “invalid key”,几乎总是没设置 UNCENSORED_API_KEY:空值会当成空密钥发出去。在启动 opencode 的同一个终端里设置它。 PowerShell:$env:UNCENSORED_API_KEY="sk-...",bash:export UNCENSORED_API_KEY=sk-.... 检查密钥:curl.exe https://uncensored.dog/v1/models -H "Authorization: Bearer $env:UNCENSORED_API_KEY" 应该返回模型列表。

{
  "provider": {
    "uncensored": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "uncensored.dog",
      "options": {
        "baseURL": "https://uncensored.dog/v1",
        "apiKey": "{env:UNCENSORED_API_KEY}"
      },
      "models": {
        "z-ai/glm-5.3-flash-uncensored": {
          "name": "GLM 5.3 Flash",
          "limit": { "context": 1048576, "output": 16384 }
        }
      }
    }
  }
}

Python 和 Node

密钥放在服务器上,绝不要放进浏览器 JS。不要调用 client.responses.create — 那是 404。

from openai import OpenAI
client = OpenAI(
    api_key="YOUR_KEY",
    base_url="https://uncensored.dog/v1",
)
r = client.chat.completions.create(
    model="qwen/qwen3.8-27b-uncensored",
    messages=[{"role": "user", "content": "ping"}],
    max_tokens=32,
)
print(r.choices[0].message.content)

流式:stream=True,读取 chunk.choices[0].delta.content。安装:python -m pip install openai。

const r = await fetch("https://uncensored.dog/v1/chat/completions", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.UNCENSORED_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    model: "qwen/qwen3.8-27b-uncensored",
    messages: [{ role: "user", content: "ping" }],
    max_tokens: 32,
  }),
});
const data = await r.json();
if (!r.ok) throw new Error(data.error?.message || r.status);
console.log(data.choices[0].message.content);

其他兼容 OpenAI 的代理(Hermes 之类)也是这三个字段:带 /v1 的 Base URL、密钥、模型 id。

cURL 检查

curl https://uncensored.dog/v1/chat/completions \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d "{
    \"model\": \"qwen/qwen3.8-27b-uncensored\",
    \"messages\": [{\"role\": \"user\", \"content\": \"ping\"}],
    \"max_tokens\": 32
  }"

如果没有回复

什么接不上

Claude Code 和 ANTHROPIC_BASE_URL 改的是地址,不是协议:它们需要 Anthropic Messages,而我们不提供。 Codex 要的是 Responses — 我们也没有。换了客户端,GLM 也不会变成 Claude 或 GPT。要做代理就用 Cline、Roo、OpenCode 或 Aider。

密钥和余额在 账户 或 Telegram 里。文档:就是这一页。