要让自定义客户端与character ai平台ai角色实时对话,必须绕过浏览器限制调用其后端api,使用逆向工程验证的协议:准确初始化客户端、建立websocket长连接、正确构造消息载荷;python需≥3.10;安装aiocai依赖;通过邮箱登录或游客模式获取token;用async with await client.connect()建立连接;再调用new_chat和send_message发起对话。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

要让自定义客户端与Character AI平台的AI角色实时对话,必须绕过浏览器限制直接调用其后端API,使用官方未公开但已被逆向工程验证的通信协议——这要求你准确初始化客户端、建立WebSocket长连接,并正确构造消息载荷。
安装与环境准备
确保Python版本不低于3.10,否则aiocai中的类型注解和异步语法会报错。
执行安装命令:pip install git+https://gitcode.com/gh_mirrors/ch/CharacterAI.git
该命令会自动拉取最新源码并安装核心依赖:curl_cffi(用于伪造浏览器指纹)、websockets(支撑实时聊天)、pydantic(校验响应结构)。【不要单独pip install websockets】——库内部已锁定兼容版本,手动安装高版本可能触发连接重置错误。
获取并验证认证令牌
方式一:邮箱登录(推荐,权限完整)
第一步:调用sendCode向注册邮箱发送6位数字验证码
第二步:立即检查邮箱,提取验证码(注意:验证码5分钟内有效,超时需重发)
第三步:用authUser传入邮箱和验证码,返回字符串格式token——【此token含Bearer前缀,直接传给Client构造函数即可,勿自行截断】
方式二:游客模式(仅限调试)
调用authGuest()可跳过登录,但生成的token无法创建新角色、无法访问私有聊天记录,且每小时自动失效。
初始化异步客户端并连接服务
使用aiocai.Client初始化时,必须传入上一步获得的完整token字符串。
调用client.connect()返回一个可等待的协程对象,需用async with await ... as chat:语法进入上下文管理器——这是唯一能正确建立WebSocket连接并自动清理资源的方式。
若跳过async with而直接调用chat = await client.connect(),后续new_chat会抛出RuntimeError: WebSocket connection not established。
创建新对话并发送首条消息
方法一:指定角色ID发起对话
调用chat.new_chat(char_id, client.user_id),其中char_id为URL中/character/xxxxxx的十六进制字符串,client.user_id必须是当前登录用户的ID(通过await client.get_me()获取),漏填或填错会导致403 Forbidden。
方法二:从角色列表中动态选取
先调用await client.search_characters("关键词")获取匹配的角色列表,从中提取item.external_id作为char_id传入new_chat。
收到new_chat返回的chat_id后,立即调用chat.send_message(char_id, chat_id, "你好")发送首条消息——此时服务器才会真正激活该对话线程,否则后续消息将被丢弃。
大量免费API接口:立即使用
涵盖生活服务API、金融科技API、企业工商API、等相关的API接口服务。免费API接口可安全、合规地连接上下游,为数据API应用能力赋能!











