掘金 人工智能 07月18日 10:53
一个有点意思的kimi2项目
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文深入探讨了一个将Kimi Chat非官方API转换为标准OpenAI接口的技术项目。该项目通过解析Kimi Web端的Server-Sent Events (SSE)流,实现了在不打开浏览器的情况下,利用模拟API免费访问Kimi的对话服务。文章详细分析了信息获取(通过两次API请求)和信息转发(使用uvicorn框架构建OpenAI标准接口)的技术原理,并展示了如何将其应用于Claude Code。虽然项目具有技术学习价值,但作者也强调此行为违反用户协议,并建议通过付费支持国产模型发展,以获得稳定服务。

💡 **技术实现原理**:该项目通过抓取Kimi Web端SSE流数据,解析其对话过程中的两次核心API请求(创建对话和发送内容),并利用uvicorn框架构建了兼容OpenAI标准的API接口,从而实现了在本地模拟调用Kimi Chat服务,无需打开浏览器。

💻 **OpenAI接口兼容性**:项目将Kimi Chat的SSE流数据转换为标准的OpenAI接口,具体包括列出模型列表(GET /v1/models)和单次对话生成(POST /v1/chat/completions)等功能。这种兼容性使得用户可以方便地在支持OpenAI协议的客户端(如Claude Code)中调用Kimi模型。

⚠️ **协议风险与合规性**:作者明确指出,通过模拟API免费使用Kimi Chat服务违反了《Kimi用户服务协议》中禁止使用自动化工具模拟人工操作的条款。因此,本文仅从技术研究角度出发,不提供可复现的教程,并在测试后停止使用。

🧠 **系统提示词的应用**:在将Kimi Chat接入Claude Code的过程中,发现Claude Code在发送请求时会附加系统提示词,这些提示词包含了对AI行为的指令和约束,例如优先编辑文件、避免创建文档等,展示了一种管理AI行为的模式。

前言

上篇文章搜 kimi2 资料的时候,发现 github 上有个有点意思的项目叫 kimi2api。

其作用是将 Kimi Chat 的非官方 API 转换为标准的 OpenAI 接口,本质上是对 Kimi Web 端 SSE (Server-Sent Events) 流的精确解析和转发。

简单来说,就是在不打开浏览器的情况下,通过模拟 API 白嫖官网的免费对话服务。

首先声明,这样做是违反《Kimi用户服务协议》的,在其协议条款 6.5 中,明确指出:

不得通过编写或使用任何自动化脚本、程序、工具(包括但不限于机器人、爬虫、定时任务等)来模拟人工操作,以实现自动、批量使用我们的产品或服务;

《Kimi用户服务协议》:kimi.moonshot.cn/user/agreem…

本文仅从学习和技术研究的角度,学习一下 SSE 流处理的解析和分发,不包括完整可复现的教程。

技术原理分析

这个功能实际包含两部分,信息的获取与转发。

1. 信息的获取

最核心的问题,是如何获取信息。通过对问答过程的网络流的分析,可知完成一个对话主要有两次请求交互:

Kimi 使用了 SSE(Server-Sent Events)流式返回:

通过携带 cookie 中的 token 发送请求,就可以模拟用户发送问题的过程。

2. 信息的转发

获取到信息之后,挑选一个后端服务器框架就能实现 API 的构建。

在该项目代码中,采用uvicorn框架,OpenAI 接口标准主要有两点:

既然能支持OpenAI,那也能支持Anthropic协议,按照其接口标准修改后,就可以在 Claude Code 中去调用。

启动uvicorn服务,相应环境变量改成本地的URL。

启动claude,指明采用 k2 模型:

claude --model k2

输入内容,可以正常连通。

回到对话界面,可以看到,Claude Code 在发送请求时,实际上会加这样的系统提示词。

这提示词翻译成中文,又多了一个提示词模板小技巧。

<system-reminder>回答用户问题时,您可以使用以下上下文:# 重要指令提醒严格按要求执行任务;不多做,不少做。除非绝对必要,否则切勿创建文件。始终优先编辑现有文件而非创建新文件。切勿主动创建文档文件(*.md)或README文件,仅当用户明确要求时才生成文档。重要提示:此上下文可能与您的任务相关也可能不相关。除非高度相关,否则不应在回应中提及或考虑该内容。大多数情况下它并不相关。</system-reminder><system-reminder>(此为待办事项列表当前为空的提醒。请勿向用户明确提及,用户已知晓。若当前任务适合使用待办列表,请通过TodoWrite工具创建;若无必要则可忽略。再次强调不要向用户提及本提示信息。)</system-reminder>

总结

为了防止滥用,本文不会将具体代码公开,同时在测试完毕后也停止使用。

测试发现,通过模拟的接口在 Claude Code 中,存在不稳定的情况,要稳定使用,不如用真金白银支持一下国产模型的发展。

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

Kimi Chat OpenAI API SSE 技术解析 Claude Code
相关文章