Cline 免费插件 + Qwen2.5 大模型,零经验也能开发“对联王”微信小程序

小朋友即将放寒假了,意味着春节就不远了。在我们湖北老家,当我还是学生的时候,每年临近春节,写春联、贴春联和对春联是读书人一件乐事。

如今,老牛同学早已不是读书人,但还是怀念那时快乐时光,因此想在春节前撸一个“对联王”微信小程序,专门用于创作春联和对春联。

上次零经验的我们,借助 Cursor 写了一个“节拍器”小程序,本次我们来用免费的 Cline 插件,辅助完成“对联王”微信小程序编程。下面是已发布的小程序,欢迎大家来体验:

【对联王微信小程序】

大家也可以在微信中搜索“老牛同学”找到“对联王”小程序:

老牛同学·小程序

同时,本次借助 Cline 插件完成的“对联王”小程序的演示录屏如下:

【对联王演示视频,请到公众号或视频号查看】

接下来,老牛同学就把 Cline 插件的使用主要过程,与大家分享。

1. Cline 与 Cursor 区别

老牛同学根据自己编写 2 个小程序页面的经验,先说说两者的区别、使用感受和建议:

  • 工具形态:Cline 是一个 VS Code 插件,在 VS Code 直接安装或卸载,无需注册即可使用,灵活方便;而 Cursor 则是一个专门的 IDE,需要单独下载并安装,还需要用户注册和登陆方可使用,稍微笨重一些。
  • 费用:Cline 是开源免费的插件(https://github.com/cline/cline);而 Cursor 则是闭源的,且是收费的,它为新注册用户提供 2 周 2000 次调用的免费试用期。
  • 支持的大模型:Cline 支持多种大模型,只需要兼容 OpenAI 接口规范且支持 Stream 流式输出即可,比如 Qwen 大模型;而 Cursor 内置了几种大模型,对兼容模型的支持并不很友好,比如总是有一些警告等。
  • 功能和体验:两者在功能上感觉差不太多,Cline 在请求上下文、文件 Diff 比较界面稍逊 Cursor 一筹,但其实对编程影响并不大,总体来说 Cursor 体验上更优一点。

总体体感:这 2 个工具的功能都差不多,那么它对我们的实际帮助,其实还是依赖于底层大模型的能力,好马还得配好鞍。老牛同学之前常用 Continue 插件,在体验上,感觉 Cline 有点像增强版的 Continue 插件,只是它额外提供了文件生成、差异比对、系统调用的能力。在“对联王”小程序的整个研发过程中,老牛同学其实同时使用了这 2 个插件。

  • Cline 主要用于页面框架搭建、页面主要元素的布局、小程序主要逻辑代码等生成。
  • Continue 则用于细节部分调优,主要是对 Cline 生成的代码进行微调,比如:右下角“收藏夹”悬浮按钮的上下移动细节逻辑、悬浮按钮最后移动位置存储等逻辑。

使用建议:如果大家预算充裕,且使用比较频繁,建议直接上付费的 Cursor IDE(20 美元每月和 40 美元每人每月两种收费价格);如果使用免费的 Cline,建议搭配 Continue 一起使用。

关于 Continue 的使用教程,可以参考老牛同学之前文章:Code Copilot 和使用教程

2. Cline 插件配置

安装插件

安装好 VS Code 软件之后,Cline 插件安装就比较简单了,搜索“Cline”安装即可:

安装Cline插件

安装成功之后,我们可以看到再左侧有个“机器人”的小图标。

配置插件

首次点击安装好的 Cline 插件图标,或者后续点击 Cline 插件的齿轮状的配置按钮,均可进入配置页面:

配置Cline插件

几个配置项比较简单,其中API Provider如果选择的是OpenAI Compatible,则需要保证接口符合 OpenAI 规范且支持 Stream 流式输出。

其他配置

  • 微信开发者工具:和上次“节拍器”小程序一样,我们需要下载微信开发者工具,用于实时预览和调试小程序,确保代码可以在微信环境中正常运行。

官方下载链接

  • Continue 插件:关于插件的配置和详细使用方法,可以参考老牛同学之前文章。

使用 Llama3/Qwen2 等开源大模型,部署团队私有化 Code Copilot 和使用教程

3. “对联王”实战

准备就绪,现在,让我们一起探索如何利用 AI 的力量来加速开发进程,让基本零经验的新书也能开发一个小程序等应用。

打开 Chat 面板,输入精心设计的 Prompt 提示词。以下是老牛同学首次尝试时所用的提示内容:

在春节活动中,创作对联或者对对联是一项有趣的活动:请帮忙研发一个名为“对联王”的微信小程序页面,文件名为"couplet",目录为“pages/couplet”,实现以下功能:
1. 用户输入上联,或者用户输入创意,回车或点击发送按钮,生成下联或者创作一副对联
2. 回车后的函数名为`sendMessage`,这个函数逻辑由用户实现
3. 整个页面的布局与微信App的聊天界面一致,布局如下:- 用户输入的消息,头像在右边- API返回的消息,头像在左边- 每一条消息的下面,均展示收藏、复制和删除操作按钮,同时展示消息的时间,时间格式为`小时:分钟:秒钟`,如`12:07:05`。

Prompt提示词

提交后,等待 Cline 生成代码文件(一般为 3 个文件),对于每个文件代码差异,我们可以选择“Save”接受或者“Reject”操作。

之后,我们切换回微信开发者工具界面,默认会自动刷新,或者按Ctrl + r强制刷新页面,即可查看最新的页面效果。

  • 如果页面布局和我们期望差异较大,那么我们继续使用 Cline 插件生成代码
  • 如果页面布局和我们期望差不多,需要进行局部微调,就可以使用 Continue 插件进行部分调整

不断迭代上述过程,直到小程序完全符合预期为止。

由于提示老牛同学提示词太多了,后面调整的提示词没有保存,就不一一展示了,期望大家均能快速研发出满意的小程序。

4. 结语

最后,当我们使用外部 API 服务时,对于涉及敏感数据或有较高保密需求的项目,请务必注意保护用户隐私和数据安全。

通过上述步骤,即使是没有专业背景的人也能轻松上手,借助现代 AI 工具的力量,快速且高效地开发出属于自己的微信小程序。


Transformers 框架序列:

01.包和对象加载中的设计巧思与实用技巧

02.AutoModel 初始化及 Qwen2.5 模型加载全流程

03.Qwen2.5 大模型的 AutoTokenizer 技术细节

04.Qwen2.5/GPT 分词流程与 BPE 分词算法技术细节详解

05.嵌入(Embedding)机制和 Word2Vec 实战

06.位置嵌入(Positional Embedding)

Pipeline NLP 任务序列:

零·概述 丨 01.文本转音频 丨 02.文本分类 丨 03.词元分类和命名实体识别 丨 04.问答 丨 05.表格问答 | 06.填充蒙版

往期推荐文章:

使用Cursor + Qwen2.5 大模型 零经验研发微信小程序:自由构建个性化节拍器应用实战

Bolt.new 用一句话快速构建全栈应用:本地部署与应用实战(Ollama/Qwen2.5 等)

基于 Qwen2.5-Coder 模型和 CrewAI 多智能体框架,实现智能编程系统的实战教程

vLLM CPU 和 GPU 模式署和推理 Qwen2 等大语言模型详细教程

基于 Qwen2/Lllama3 等大模型,部署团队私有化 RAG 知识库系统的详细教程(Docker+AnythingLLM)

使用 Llama3/Qwen2 等开源大模型,部署团队私有化 Code Copilot 和使用教程

基于 Qwen2 大模型微调技术详细教程(LoRA 参数高效微调和 SwanLab 可视化监控)

ChatTTS 长音频合成和本地部署 2 种方式,让你的“儿童绘本”发声的实战教程

微信公众号:老牛同学

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/868362.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

实现无感刷新Token技术:.Net Web API与axios的完美结合

备忘:https://mp.weixin.qq.com/s?__biz=MjM5MDE5MDM5NA==&mid=2449944319&idx=1&sn=71e84d8ee24769e77b19ca8367333b8f&chksm=b1bb10aa86cc99bc2f20686354e8184023278de74dba857a42d720dc47fabb654c12ecb83524&scene=21#wechat_redirect 我们都知道Toke…

方法引用与lambda底层原理Java方法引用、lambda能被序列化么?

系列文章目录和关于我 0.引入 最近笔者使用flink实现一些实时数据清洗(从kafka清洗数据写入到clickhouse)的功能,在编写flink作业后进行上传,发现运行的时候抛出:java.io.NotSerializableException,错误消息可能类似于 “org.apache.flink.streaming.api.functions.MapFu…

Java方法引用、lambda如何序列化方法引用与lambda底层原理

系列文章目录和关于我 0.引入 最近笔者使用flink实现一些实时数据清洗(从kafka清洗数据写入到clickhouse)的功能,在编写flink作业后进行上传,发现运行的时候抛出:java.io.NotSerializableException,错误消息可能类似于 “org.apache.flink.streaming.api.functions.MapFu…

2024年秋学期 分析力学(理论物理基础Ⅰ)笔记

内容说明舍去了哈密顿雅可比方程等内容 删去了振动相关的一些模型,如参数共振等 授课难度疑似过大了一点(毕竟才半个学期),协变相关内容疑似太tm多了 有心力场模块笔记有所省略,部分笔记不排除记录有误的可能性 部分章节间未换页笔记正文拉格朗日力学及其协变形式 哈密顿力…

find_package()使用指南

关于find_package() 在使用cmake引用第三方库(比如OpenCV)时,我们总是使用find_package()这个指令来实现对包的查找(比如find_package(OpenCV))。调用完后就可以使用一些似乎凭空出现的变量如${OpenCV_INCLUDE_DIRS}以及${OpenCV_LIBS},分别指示了OpenCV库的头文件路径以及各个…

音视频:JavaCV 采集桌面画面并显示的方法

需要进行简单的音视频编程,如果不是特别熟悉C/C++,那么JavaCV应该是比较好的选择,下面记录一下使用JavaCV采集桌面数据的方法。 使用FFmpegFrameGrabber采集桌面数据,指定输入源为desktop,format设置为gdigrab。参考雷神的博客:https://blog.csdn.net/leixiaohua1020/art…

《深入理解Mybatis原理》MyBatis事务管理机制

概述 对数据库的事务而言,应该具有以下几点:创建(create)、提交(commit)、回滚(rollback)、关闭(close)。对应地,MyBatis将事务抽象成了Transaction接口:MyBatis的事务管理分为两种形式:使用JDBC的事务管理机制:即利用java.sql.Connection对象完成对事务的提交(…

【Python基础】Python虚拟环境

什么是Python环境 要搞清楚什么是虚拟环境,首先要清楚Python的环境指的是什么。当我们在执行python test.py时,思考如下问题:python哪里来? 这个主要归功于配置的系统环境变量PATH,当我们在命令行中运行程序时,系统会根据PATH配置的路径列表依次查寻是否有可执行文件pyth…

地平线 LiDAR-Camera 融合多任务 BEVFusion 参考算法-V1.0

该示例为参考算法,仅作为在 征程 6 上模型部署的设计参考,非量产算法。1.简介 激光雷达天然地具有深度信息,摄像头可以提供丰富的语义信息,它们是车载视觉感知系统中两个最关键的传感器。但是,如果激光雷达或者摄像头发生故障,则整个感知框架不能做出任何预测,这在根本上…

47. web框架

1. web框架本质 web框架本质上可以看成一个功能强大的socket服务端,用户的浏览器可以看成拥有可视化界面的socket客户端 通过网络请求实现数据交互,可简单的将web框架看做是对前端、数据库的全方位整合2. 手写简易版web框架 服务端import socketserver = socket.socket() ser…

记一次生产事故:一年的数据被删除了

故事开始快要下班了,心情是这样的。 突然电话响了,一看电话号码是项目甲方负责人的号码菊花一紧,难道出什么问题了,硬着头皮接通了电话。@####@,你们程序怎么回事 ,某个业务的数据界面一条都查询不到了。。。。。我们马上排查一下,看看那什么情况(心理活动:尼玛,尼玛…

【Azure App Service】对App Service中CPU指标数据中系统占用部分(System CPU)的解释

问题描述 在使用Azure App Service服务时,对于它的CPU占比,从App Service Plan级别可以查看整个实例(vm)资源的CPU占比,而如果在具体的一个App Service服务中,则只能查看到当前应用所消耗的CPU时间,如果需要计算它的占比:需要使用公式【 CPU Time / (CPU核数 * 60 )】估算…