中文 ▾
获取 API 密钥

Kimicode 作为 Cursor 替代方案:自定义接口设置

如果你的编辑器允许覆盖 OpenAI Base URL,则可以使用 Kimicode 作为 Cursor 替代方案。设置 https://api.kimicode.cc/v1,粘贴密钥,添加模型名称 uncensored,编辑器即可将聊天请求发送至此。

已更新

通过插件连接到服务器的抽象编辑器面板,显示代码编辑器中的自定义 API 接口

功能与预期

许多内置聊天的代码编辑器允许你用自定义接口替换 OpenAI 接口。这一项设置是实现此功能的关键。你需要向编辑器提供三项内容:Base URL、API 密钥和模型名称。其余均由编辑器自行处理。

此 API 是一个托管的 OpenAI 兼容服务,由独立提供商运行一个开放权重模型,针对合法成人用途进行了调整,以提供无审查的回复。它不是 Kimi 的服务,也不是跨供应商的路由器,因此没有模型选择器。你获得的是 uncensored,这也是唯一的模型 ID。

对匹配度保持现实预期。我并不声称该模型在编写代码方面优于编辑器默认提供的模型,我也没有基准测试数据可供展示。你获得的是控制权:你自己的接口、每 token 计费(输入 1M token 为 $0.15,输出 1M token 为 $0.50)以及一个不会因主题而拒绝请求的模型。你失去的是编辑器仅针对其自有模型启用的某些功能。

逐步操作:覆盖 Base URL

  1. 登录并打开 API 密钥页面。创建一个密钥。新用户可在此一键领取 $0.50 免费试用额度,无需信用卡,有效期 7 天。
  2. 在编辑器中打开模型或 API 设置。例如,Cursor 曾在模型设置中提供覆盖 OpenAI Base URL 的选项。该选项的名称和位置在不同版本中会有所变化,如果找不到,请查阅编辑器的官方文档。
  3. 输入 Base URL:https://api.kimicode.cc/v1。不要添加 /chat/completions。
  4. 将你的密钥粘贴到 OpenAI 密钥字段中。
  5. 添加名为uncensored的自定义模型,并在聊天面板中选择它。
  6. 运行一个小测试问题。如果编辑器显示错误,请打开开发者控制台或日志,查看 HTTP 状态码。401 表示密钥问题,404 表示 URL 问题,429 表示速率限制。

某些编辑器通过调用此处不存在的托管模型名称来验证密钥。如果验证失败但聊天正常,请忽略验证步骤。如果编辑器要求必须验证才能保存,请使用下一部分中的其他工具。

测试时请留意试用限制:2 个并发请求和每分钟 60 个请求。如果一个编辑器同时触发多个后台请求(如自动补全加聊天),可能会达到并发上限。完整密钥允许 8 个并发请求和每分钟 300 个请求。

支持自定义接口的其他编辑器和工具

如果你的编辑器不接受自定义 Base URL,有几个开源工具可以。每个工具都接受相同的三个值。请查阅其文档以获取当前选项名称,因为这些名称会发生变化。

Aider 读取标准 OpenAI 环境变量,并接受带有 openai/ 前缀的 OpenAI 兼容模型:

export OPENAI_API_BASE="https://api.kimicode.cc/v1"
export OPENAI_API_KEY="YOUR_KEY"
aider --model openai/uncensored

Continue 是 VS Code 和 JetBrains 的扩展,接受提供程序设置为 openai 且带有 API Base 的模型条目。文件格式因版本而异,因此请查找以下结构:

{
  "models": [
    {
      "title": "Kimicode API",
      "provider": "openai",
      "model": "uncensored",
      "apiBase": "https://api.kimicode.cc/v1",
      "apiKey": "YOUR_KEY"
    }
  ]
}

Cline 在设置中提供 OpenAI 兼容提供程序,你可以在其中输入相同的 Base URL、密钥和模型 ID。在所有情况下,模式都是相同的:选择 OpenAI 兼容提供程序,而不是以供应商命名的提供程序。

适用于代码工作的系统提示词

编辑器通常会添加自己的指令,但许多编辑器允许你添加自定义规则或系统提示词。简短具体的提示词优于长提示词。以下是一个你可以调整的起点:

你是一个在用户项目中工作的代码助手。以解决最小变更的方式回答。显示差异或更改后的函数,而不是整个文件。如果需求不明确,请在编写代码前问一个问题。说明你对版本或框架所做的任何假设。

为什么选择这些行?「最小改动」可减少输出 token(每 100 万 token 费用为 $0.50,是更昂贵的部分)。「显示差异」同样减少 token 消耗,并使审查更便捷。「只问一个问题」可避免生成冗长且错误的回答。「明确假设」让你能在错误进入代码前将其捕获。

代码工作请保持低 temperature。0.2 到 0.4 的值提供更稳定的输出,如果你想在调试提示词时获得可重复的结果,可以传递 seed。两者都会传递给模型。

当编辑器功能不足时的脚本

当编辑器功能无法匹配自定义接口时,一个二十行的脚本可以填补空白,让你完全控制发送的内容。此脚本读取文件,使用你自己的系统提示词请求审查,并以流式输出打印答案。

import os, sys
from openai import OpenAI

client = OpenAI(base_url="https://api.kimicode.cc/v1", api_key=os.environ["KIMICODE_KEY"])

SYSTEM = (
    "You are a careful code reviewer. List real bugs first, then risky spots. "
    "Quote the line you mean. Skip style comments."
)

path = sys.argv[1]
code = open(path, encoding="utf-8").read()

stream = client.chat.completions.create(
    model="uncensored",
    stream=True,
    temperature=0.3,
    messages=[
        {"role": "system", "content": SYSTEM},
        {"role": "user", "content": f"Review {path}:\n\n{code}"},
    ],
)
for chunk in stream:
    if chunk.choices and chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="", flush=True)
print()

运行 python review.py app/server.py。一个 1,000 token 的文件(输入)加上 600 token 的审查(输出)成本为 $0.00015 + $0.0003 = $0.00045。你可以以低于 $2 的成本审查数千个文件。

相同的模式适用于提交信息、测试生成和文档字符串。将脚本绑定到编辑器的密钥,你就拥有了一个自定义命令,无需任何插件。

这适合什么,不适合什么

如果你想要自己的接口、按 token 计费以及一个不会因任务主题而拒绝请求的模型,此设置非常适合。它适合独立开发者、小团队以及通过一个客户端库与多个提供商交互的工具构建者。

如果你依赖仅在与编辑器自有托管模型配合时才能使用的功能(例如针对特定模型优化的紧密内联自动补全或基于图像的功能),则此设置不太适合。如果这些功能对你的工作方式至关重要,请保留默认设置,并将此 API 用于聊天面板和脚本。混合使用这两种方式很常见,且无需额外费用。

如果你只想体验一下,请在 API 密钥页面 领取试用,并向你的编辑器询问当前任务中的三个问题。将答案与你目前获得的答案进行比较。该测试耗时十分钟,仅消耗不到一美分。

纯文本模型的诚实限制

在切换之前,有三个限制值得了解。

仅支持文本。 没有图像输入,也没有嵌入接口。如果你的编辑器使用嵌入对代码库进行索引,则该索引需要另一个数据源,否则该功能将保持关闭状态。粘贴错误截图也不起作用;请粘贴错误文本。

100,000-token 上下文窗口。 这是提示词加补全的总和。作为一个粗略的规则,代码每 token 大约对应三到四个字符,因此一个 40 KB 的大文件大约为 10,000 到 13,000 token。附加许多文件的编辑器可能会很快达到上限。当看到上下文错误时,请减少附加文件,而不是增加。

无隐藏路由。 你只能获得一个模型。如果它在某项任务上表现不佳,后台没有备用模型,因此请重新表述、添加示例或缩小问题范围。

在成本方面,一个典型的编码问题包含 20,000 个输入 token 和 1,000 个输出 token,费用为 $0.003 + $0.0005 = $0.0035。一天内五十个这样的请求费用为 $0.175。定价页面 列出了从 $20 到 $500 的充值选项,附带 $50 起的奖金,且额度永不过期。提示词不用于训练。

提交前的检查清单

  • 使用试用额度在你自己的项目的真实任务上进行测试,而不是使用简单的提示词。
  • 检查编辑器中的流式传输是否正常工作。如果答案仅在结束时出现,编辑器可能正在缓冲。
  • 如果你使用代理功能,请确认函数调用已连接。此 API 支持 tools 和流式 tool_calls,但是否发送由编辑器决定。
  • 阅读一次 文档快速入门,包括错误代码部分。
  • 确定月度充值上限。由于计费是预付的,你最多只能花费你充值的金额。

预付设计是运行代理循环的编辑器的安全网。出错的循环会在额度耗尽时停止,而不是产生意外的账单。

问答

我可以在 Cursor 中使用此 API 吗?

如果你的 Cursor 版本允许覆盖 OpenAI 基础 URL 并添加自定义模型名称,可以:使用 https://api.kimicode.cc/v1 和模型 uncensored。菜单名称会发生变化,请查看 Cursor 的当前文档。

这是官方的 Kimi Code API 吗?

不是。这是一个独立的 OpenAI 兼容服务,运行来自独立提供商的一个开放权重模型,并非任何供应商的官方 API。

是否支持编辑器中的图像?

不支持。该模型仅支持文本,不支持图像输入、嵌入或微调。请粘贴文本而非截图。

达到上下文窗口限制时会发生什么?

提示词加上补全内容必须容纳在 100,000 token 以内。减少附加文件数量或修剪聊天记录后重试。

只差一张表单,即可获得密钥

创建账户,复制密钥,更改基础 URL。这就是全部设置。

获取 API 密钥