首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >免费开源 | 用微信小程序+ThinkPHP打造了一款全能AI问答助手,流式兼容所有AI大模型、打字机效果

免费开源 | 用微信小程序+ThinkPHP打造了一款全能AI问答助手,流式兼容所有AI大模型、打字机效果

作者头像
程序猿的栖息地
发布2026-04-16 14:44:21
发布2026-04-16 14:44:21
1730
举报

历时一周,我用微信小程序+ThinkPHP打造了一款全能AI问答助手,部署即用

支持多模型、打字机效果、深度思考,完全开源

大家好,今天想跟大家分享一个我最近做的小东西——一款基于微信小程序的AI大模型问答应用。

先说说为什么要做这个。市面上的AI问答工具不少,但要么收费不菲,要么功能单一,要么交互体验差强人意。我一直想要一个能同时满足以下需求的产品:

支持多家大模型接口,不被单一厂商绑定

对话要有“打字机效果”,看着AI一个字一个字地输出

能记住上下文,进行多轮对话

界面简洁干净,看着舒服

支持智能搜索和深度思考等高级设置

找了一圈,没找到完全满意的。那就自己动手吧。

技术选型

前端用微信小程序原生框架开发,后端用ThinkPHP 6。选择ThinkPHP主要因为它的ORM链式操作非常顺手,而且在国内生态成熟,部署方便。

五大核心功能

1. 兼容各大AI模型接口

目前已经接入了OpenAI GPT系列、百度文心一言、阿里通义千问、讯飞星火等主流模型。通过后端统一封装,前端只需要切换一个参数就能更换模型。

实现原理其实不复杂:后端定义统一的请求和响应格式,为每个模型写一个适配器。需要新增模型时,只要按照规范实现适配器即可。

2. 打字机效果(流式输出)

这是用户反馈最满意的功能之一。AI回复不再是等待几秒钟后一次性出现,而是像人打字一样逐字逐句地显示出来。

小程序端使用WebSocket接收后端的流式数据,每收到一个字就追加到页面上。配合一个闪烁的光标动画,体验非常自然。

3. 多轮对话

每次对话都会自动保存历史记录,后端将历史消息拼接后发送给大模型,实现上下文理解。用户可以随时新建对话、删除历史、继续之前的对话。

对话列表采用左滑删除的交互方式,符合微信用户的使用习惯。

下拉加载历史对话

4. 界面简洁好看

设计上参考了iOS原生风格的毛玻璃效果,主色调选了柔和的蓝灰色,长时间使用不刺眼。

对话气泡做了圆角阴影处理,用户消息靠右、AI消息靠左,符合日常聊天习惯。底部输入框自动跟随键盘上推,体验流畅。

5. 高级设置:智能搜索 & 深度思考

这两个功能是我个人最得意的地方。

智能搜索:开启后,AI会先判断是否需要联网搜索最新信息,然后结合搜索结果给出回答。解决了大模型知识截止日期的问题。

深度思考:开启后,AI会先展示自己的推理过程,再给出最终答案。这对于复杂问题非常有帮助,用户可以看到AI是如何一步步得出结论的。

后端架构(ThinkPHP)

后端主要做了这几件事:

统一API入口:所有模型调用通过统一的接口,前端不用关心每个模型的具体调用方式

流式响应处理:使用ThinkPHP的Response对象配合ob_flush实现流式输出

对话历史管理:用户对话记录存储在MySQL中,支持分页查询

API密钥安全存储:各模型的API Key加密存储在服务端,不暴露给前端

请求限流:防止恶意调用,每个用户每分钟限制请求次数

一些踩过的坑

小程序WebSocket限制:微信小程序对WebSocket的连接数有限制,高峰期需要做好连接复用

流式输出的超时问题:PHP默认执行时间较短,长文本生成时需要设置set_time_limit(0)

不同模型的Prompt差异:各家模型的指令格式不统一,需要做适配层转换

多轮对话的Token消耗:历史消息越长,消耗Token越多,需要做自动截断策略

后续计划

支持更多国产模型(智谱、MiniMax等)

增加语音输入功能

支持对话导出为图片或PDF

推出Web版和桌面客户端

写在最后

这个项目断断续续做了一周多,代码已经整理好放在Gitee上,完全开源。如果你也想搭建自己的AI问答应用,或者对实现细节感兴趣,欢迎去点个Star。

Gitee地址:https://gitee.com/ITHOME-ZHENGBINGDONG/wechat-ai-qa


做这个项目纯粹是兴趣驱动,希望能帮到同样有需求的朋友。如果你觉得有用,欢迎分享给更多人。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-04-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序猿的栖息地 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 技术选型
  • 五大核心功能
    • 1. 兼容各大AI模型接口
    • 2. 打字机效果(流式输出)
    • 3. 多轮对话
    • 4. 界面简洁好看
    • 5. 高级设置:智能搜索 & 深度思考
  • 后端架构(ThinkPHP)
  • 一些踩过的坑
  • 后续计划
  • 写在最后
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档