最稳定接入路径是腾讯云开发 wx.cloud.extend.ai 调用 deepseek-r1 模型;必须使用已开通 ai+ 功能的云环境,初始化 wx.cloud.init,且 session_id 需持久化管理以维持上下文。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

微信小程序接入 DeepSeek,目前最稳定、免运维、且官方明确支持的路径只有一条:用腾讯云开发 wx.cloud.extend.AI 能力,调用已预置的 deepseek-r1 模型。其他所谓“直连 API”“WASM 加载”“插件 SDK”等方案,要么已失效,要么需自行处理鉴权/流控/上下文管理,实际落地成本远高于收益。
必须用云开发 AI+,不能绕过
微信基础库从 3.7.1 版本起才内置 wx.cloud.extend.AI,此前所有手动封装 HTTP 请求的方式(包括拼 x-sign、x-timestamp)在 2025 年底已被云网关统一拦截——不是接口废弃,而是腾讯强制要求走云开发通道,用于统一审计与限流。
- 不初始化
wx.cloud.init({ env: "xxx" }),wx.cloud.extend.AI会直接报undefined is not an object - 环境 ID 必须是「已开通 AI+ 功能」的云环境,仅开通普通云开发不行;控制台 AI+ 模块里看不到
deepseek-r1选项,说明环境未启用 AI 能力 - 前端无法跳过云开发直接访问
https://api.deepseek.com,小程序网络层会拦截非业务域名请求(即使加了合法域名白名单也不行)
createModel("deepseek") 的实际行为和参数陷阱
调用 wx.cloud.extend.AI.createModel("deepseek") 并不会加载模型本身,它只是返回一个代理对象,所有真正请求都由云函数后台代发。这意味着你看到的延迟,本质是「小程序 → 云函数 → DeepSeek API」三段链路之和,而非模型推理耗时。
-
model参数只能填"deepseek-r1",填"deepseek-v3"或"deepseek-v4"会静默 fallback 到r1,无报错提示 -
messages中的role仅支持"user"和"assistant",用"system"会被丢弃,人设指令必须塞进首条user内容里 -
streamText()返回的eventStream是ReadableStream,但小程序基础库对for await支持不稳定,iOS 16.6 以下机型可能卡死,建议降级为res.on('data', callback)写法
上下文长度不是靠参数控制,而是靠 session_id 绑定
文档里写的 context_length: 5 是误导性描述。云开发 AI+ 实际采用 session 级别上下文缓存,只要每次请求携带相同 session_id,就会自动拼接前序对话;若没传,或每次生成新 session_id,就永远只有单轮。
-
session_id必须是字符串,不能是数字或空对象,否则触发默认新建会话 - 同一个
session_id跨用户复用会导致隐私泄露,必须绑定到openid或加密后的用户标识 - 历史记录最多保留 10 轮,超出后自动截断最早一轮,无法通过参数延长
真正的难点不在接入,而在于如何让 session_id 在页面跳转、冷启动、授权中断等场景下不丢失——这需要你把 session 状态存在 storage 或云数据库,而不是依赖临时变量。很多人卡在这里,以为是模型问题,其实是状态管理没做对。










