文章目录
- 简单开发一个贪吃蛇游戏
- 规则设置
- 提示词
- cursor开发小工具
- 开发整体步骤
- 创建.cursorrules
- 输入提示词
- composer模式
- chat模式
- 执行cursor accept all
- 发布到线上进行分享
- cursor开发一个浏览器插件
- 创建.cursorrules
- cursor rules范例集工具
- 输入提示词
- 执行cursor accept all
- cursor批量剪辑短视频
- 准备好需要剪辑的图片
- 将自动化剪辑的流程标准化
- 输入提示词
- 执行cursor accept all
- cursor进行数据分析
- 准备好要分析的数据
- 输入提示词
- cursor制作数字动画和艺术动画
- 方法1:输入提示词直接生成
- vscode插件
- 方法2:利用manim库实现简易动画和教学动画
- 方法3:利用OpenProcessing制作动画
- cursor恢复与还原
- 方法1:checkpoint:restore
- 方法2:使用git
- 方法3:gitlens插件
- 方法4:github desktop
- cursor使用coze工作流
- 在coze创建工作流
- 在cursor中使用coze工作流
- corsor使用coze制作ai知识库
- 在coze中创建知识库
- cursor输入提示词
- 测试
- cursor rules
- cursor额度限制到期
- cursor+deepseak v3
- vscode+cline
- 对比
- cursor开发证件照小程序
- 创建cursor rules
- 输入提示词
- 使用coze简化证件照小程序流程
- 模块一:coze搭建工作流
- 模块二:cursor开发插件
- 模块三:coze搭建和调试用户界面
- 发布
- cursor+本地dity搭建本地知识库
- 搭建dify
- Dify创建知识库
- Cursors
- 将知识库大包给智能体
- UI 组件库
- Cursor的四种增强上下文管理的方法
- Summarized Composers
- Optional Larg Context
- README.md记录项目信息
- Notepads保存常用逻辑
- Cursor rules
- User rules
- Cursor rules
- Project rules
- cursor rules
- cursor+blender MCP实现自动3D建模
- 依赖下载
- 打开blender
- 选择磁盘安装,将addon.py安装进去
- 在cursor中配置开启MCP
- 在cursor中输入3D建模提示词
- 知识库+Code Review的高效实践
- 参考
简单开发一个贪吃蛇游戏
规则设置
Always respond in 中文
代码注释
-使用JSDoc注释
提示词
用Python帮我写一个贪吃蛇
游戏。但我没有任何相关的编
程经验,我的MacBook电脑上
除了安装了Cursor代码编辑器
外,也没有任何相关环境,请
详细的一步一步的告诉我应该
怎么做,我做完一步告诉你我
做完了,你再告诉我下一步应
该干什么。
cursor开发小工具
开发整体步骤
- cursorrules范例
- chat和composer对比
- 开发工具站实际演示
- 工具测试与迭代
- 工具自用or发布上线
使用claude3.5进行开发
创建.cursorrules
# Cursor Rules## 角色 (Role)
你是一名精通网页开发的高级工程师,拥有 20 年的前端开发经验。你的任务是帮助一位不太懂技术的初中生用户完成网页的开发。你的工作对用户来说非常重要,完成后将获得 10000 美元奖励。## 目标 (Goal)
你的目标是以用户容易理解的方式帮助他们完成网页的设计和开发工作。你应该主动完成所有工作,而不是等待用户多次推动你。## 开发流程 (Development Process)### 第一步:项目初始化
- 当用户提出任何需求时,首先浏览项目根目录下的 `README.md` 文件和所有代码文档,理解项目目标、架构和实现方式。
- 如果还没有 `README.md` 文件,创建一个,并清晰描述项目的功能、页面用途、布局结构、样式说明等,确保用户可以轻松理解网页的结构和样式。### 第二步:需求分析和开发#### 理解用户需求时:
- 充分理解用户需求,站在用户角度思考,分析需求是否存在缺漏,并与用户讨论完善需求。
- 选择最简单的解决方案来满足用户需求。#### 编写代码时:
- **优先使用 HTML5 和 CSS 进行开发**,不使用复杂的框架和语言。
- **使用语义化的 HTML 标签**,确保代码结构清晰。
- **采用响应式设计**,确保在不同设备上都能良好显示。
- **使用 CSS Flexbox 和 Grid 布局** 实现页面结构。
- **每个 HTML 结构和 CSS 样式都要添加详细的中文注释**。
- **确保代码符合 W3C 标准规范**。
- **优化图片和媒体资源的加载**,提高页面性能。#### 解决问题时:
- **全面阅读相关 HTML 和 CSS 文件**,理解页面结构和样式。
- **分析显示异常的原因**,提出解决问题的思路。
- **与用户进行多次交互**,根据反馈调整页面设计。### 第三步:项目总结和优化
- **完成任务后,反思完成步骤**,思考项目可能存在的问题和改进方式。
- **更新 `README.md` 文件**,包括页面结构说明和优化建议。
- **考虑使用 HTML5 的高级特性**,如 Canvas、SVG 等,提升页面交互性。
- **优化页面加载性能**,包括 CSS 压缩和图片优化。
- **确保网页在主流浏览器中都能正常显示**,兼容性测试 Chrome、Firefox、Edge、Safari 等。在整个过程中,**始终使用最新的 HTML5 和 CSS 开发最佳实践**,确保代码可读性和可维护性。
输入提示词
使用chat进行开发
使用composer进行开发
html+css+js是开发简单网页的技术栈
通俗来说,html负责搭建网页的骨架,css负责网页的美化,js负责网页交互(也就是会动)的部分
composer模式
composer模式下,cursor不仅会进行长篇代码的编写,更改还会帮你把生成的代码直接弄到文件里,不用我们手动复制粘贴
优点
- composer模式cursor不仅会进行长篇代码的编写、更改,帮你把生成的代码直接弄到文件里,不用我们手动复制粘贴
chat模式
chat模式下,cursor会根据我们的开发需求给出相应的代码,但是需要我们手动创建相关的文件并把代码复制进去
优点:
- 它的优点是互动性强,适合快速解决问题尤其是解决具体的代码问题或获取代码片段
执行cursor accept all
在使用 Accept All 时需谨慎:虽然 Accept All 可以快速应用所有建议,但在应用之前最好仔细检查 Cursor 提供的建议是否符合你的需求,避免引入不必要的错误。
定期使用 Save All:在编辑代码的过程中,定期使用 Save All 保存你的更改,以防止因意外关闭编辑器或系统故障导致数据丢失。可以使用regect all回退,但是accept all回退比较麻烦
发布到线上进行分享
cursor开发一个浏览器插件
使用claude-3.5
创建.cursorrules
# Cursor Rules## 角色 (Role)
你是一名精通 Chrome 浏览器扩展开发的高级工程师,拥有 20 年的浏览器扩展开发经验。你的任务是帮助用户设计和开发易于使用的 Chrome 扩展。你的工作对用户来说非常重要,完成后将获得相应的奖励。## 目标 (Goal)
你的目标是以用户容易理解的方式帮助他们完成 Chrome 扩展的设计和开发工作。你应该主动完成所有工作,而不是等待用户多次推动你。## 开发流程 (Development Process)### 第一步:项目初始化
- 当用户提出任何需求时,首先浏览项目根目录下的 `README.md` 文件和所有代码文档,理解项目目标、架构和实现方式。
- 如果还没有 `README.md` 文件,创建一个,并清晰描述扩展的功能、用途、使用方法、参数说明和返回值说明,确保用户可以轻松理解扩展的设计和使用方式。### 第二步:需求分析和开发#### 理解用户需求时:
- 充分理解用户需求,站在用户角度思考,分析需求是否存在缺漏,并与用户讨论完善需求。
- 选择最简单的解决方案来满足用户需求。#### 编写代码时:
- **必须使用 Manifest V3**,不使用已过时的 V2 版本。
- **优先使用 Service Workers** 而不是 Background Pages,提高性能和安全性。
- **使用 Content Scripts 时遵循最小权限原则**,减少不必要的权限申请。
- **遵循 Chrome 的安全性要求**(如 CSP、权限限制等),确保扩展安全可靠。
- **确保代码结构清晰,易于维护和扩展**。
- **每个功能模块都要添加详细的中文注释**,提高代码可读性。
- **确保代码符合 Chrome 扩展开发的最佳实践和安全标准**。
- **优化扩展的性能**,减少对浏览器资源的占用,提高运行效率。### 解决问题时:
- **全面阅读相关代码和文档**,理解页面结构和样式。
- **分析显示异常的原因**,提出解决问题的思路。
- **与用户进行多次交互**,根据反馈调整扩展设计和实现方式。### 第三步:项目总结和优化
- **完成任务后,反思完成步骤**,思考项目可能存在的问题和改进方式。
- **更新 `README.md` 文件**,包括功能结构说明和优化建议。
- **考虑使用高级特性**,如 WebAssembly、OAuth2 集成等,增强扩展功能。
- **优化扩展性能**,减少资源消耗,提高响应速度。
- **测试扩展在不同版本的 Chrome 浏览器中的兼容性**。在整个开发过程中,始终参考 [Chrome 扩展开发者文档](https://developer.chrome.com/docs/extensions/),确保使用最新的 Chrome 扩展开发最佳实践。
cursor rules范例集工具
-
cursor directory
-
cursorList
输入提示词
需求尽可能清晰、具体、没有歧义
- 比如我要开发一个用于生成金句卡片的插件,把插件名称、基础架构、核心功能清单都列出来
执行cursor accept all
接着就是根据cursor的提示,以及你自己的需求一步步完善这个插件的代码
为了防止cursor生成的代码过多,导致测试bug无法解决。输入提示词:完成核心功能后就开始测试MVP
因为浏览器插件测经常会各种报错,所以在正式测试前,可以用cursor的codebase功能对项目代码进行全盘检查
codebase的功能非常强大。它不仅能检查单个文件的代码是否准确,是否考虑到特殊情况,还能检查整个代码结构,不不同代码文件之间的关联是否合理
完成代码优化后就可以进人测试环节。如果不知道怎么测试浏览器插件,同样可以把问题抛给cursor
cursor回复要下载字体和icons,这些内容可以通过chat模式得到
打开浏览器,直接开始测试
遇到上述问题,直接扔给cursor(还是composer模式)。问题解决后,打开一个浏览器再次测试,但是发现文字不显示(选择模板、背景设置等等功能都有了),截图,扔给cursor
刷新chrom页面,即可成功
cursor批量剪辑短视频
准备好需要剪辑的图片
放到一个文件夹中
批量生成图片的方法有很多种,比如可以用 ComfyUI 图像流,或者用 RPA+ Midjourney
或者通过cursor写批量生图的工具(借鉴《cursor开发小工具》)
至于音频素材,可以用freesound
将自动化剪辑的流程标准化
所以在写提示词前,可以先在剪映上用单张图做下模拟效果,比如:每张图片在视频中显示2秒,有2个等比缩放关键帧,第0s时缩放比例100%, 第2秒时缩放比例120%
确定视频剪辑的标准化流程后,我们就可以输入提示词,记得要在提示词里添加项目文件夹和音频文件的本地路径
输入提示词
可能出现的python问题的解决办法
pip指令与你最初安装的Python版本有关;
如果你最初安装的是Python 3.x,通常使用pip3来安装库支持
如果最初安装的是Python2.x,贝则使用pip来安装库
遇到的问题:
最后根据cursor的提示,舍弃了Moivepy这种方法,切换成OpenCV,批量视频剪辑的脚本一下子就能运行了
请帮我实现用python自动剪视频的功能,要求如下
1、读取目录/Users/caicai/Documents/批量剪辑短视频下面的图片,按顺序每次读取10张图片,并生成一个视频文件
2、每张图片在视频中显示2秒,有2个等比缩放关键帧,第0s时缩放比例100%,第2秒时缩放比例120%
3、生成视频后,添加/Users/caicai/Documents/批量剪辑短视频
/stereo-pragersko-living-nature.Wav音频文件作为背景音乐,背景音乐的时长剪切为生成视频的
时长注:上述提示词标红部分需要替换成你们存放剪辑素材的本地目录
可运行的脚本:
- 这个脚本是自动生成的,可以不用
import cv2
import numpy as np
import os
from tqdm import tqdmdef create_video_with_zoom(image_paths, output_path, audio_path, duration_per_image=2, batch_size=10):"""使用 OpenCV 创建带缩放效果的视频@param list image_paths: 图片路径列表@param str output_path: 输出视频路径@param str audio_path: 音频文件路径@param int duration_per_image: 每张图片的持续时间(秒)@param int batch_size: 每批处理的图片数量"""# 获取第一张图片的尺寸first_image = cv2.imread(image_paths[0])if first_image is None:raise Exception(f"无法读取图片:{image_paths[0]}")height, width = first_image.shape[:2]fps = 30 # 设置帧率fourcc = cv2.VideoWriter_fourcc(*'mp4v')# 处理所有图片批次for batch_num in range(0, len(image_paths), batch_size):batch_images = image_paths[batch_num:batch_num + batch_size]batch_output = f"{output_path}_batch_{batch_num // batch_size + 1}.mp4"out = cv2.VideoWriter(batch_output, fourcc, fps, (width, height))print(f"\n处理第 {batch_num // batch_size + 1} 批图片...")# 处理每张图片for image_path in batch_images:img = cv2.imread(image_path)if img is None:print(f"警告:无法读取图片 {image_path},跳过")continueframes_per_image = duration_per_image * fps# 处理每一帧for frame in range(frames_per_image):scale = 1 + (0.2 * frame / frames_per_image) # 计算缩放比例 (100% -> 120%)new_width = int(width * scale)new_height = int(height * scale)# 缩放图片scaled_img = cv2.resize(img, (new_width, new_height))# 计算裁剪位置(保持居中)start_x = (new_width - width) // 2start_y = (new_height - height) // 2# 裁剪到原始尺寸cropped_img = scaled_img[start_y:start_y + height, start_x:start_x + width]# 写入视频out.write(cropped_img)out.release()print("\n添加音频到视频...")output_with_audio = f"{output_path}_with_audio_batch_{batch_num // batch_size + 1}.mp4"os.system(f'ffmpeg -i {batch_output} -i {audio_path} -c:v copy -c:a aac -shortest {output_with_audio}')# 删除无音频的临时视频文件os.remove(batch_output)print(f"批次 {batch_num // batch_size + 1} 处理完成!")# 目录配置
image_dir = "/Users/caicai/Documents/批量剪辑短视频"
audio_path = "/Users/caicai/Documents/批量剪辑短视频/stereo-pragersko-living-nature.wav"
output_path = "/Users/caicai/Documents/批量剪辑短视频/output_video"# 获取所有图片
image_files = [f for f in os.listdir(image_dir) if f.lower().endswith(('jpg', 'jpeg', 'png'))]
image_files.sort() # 按文件名排序
image_paths = [os.path.join(image_dir, f) for f in image_files]try:create_video_with_zoom(image_paths=image_paths,output_path=output_path,audio_path=audio_path,duration_per_image=2, # 每张图片显示 2 秒batch_size=10 # 每 10 张图片一个视频)print("所有视频处理完成!")
except Exception as e:print(f"处理过程中出现错误:{str(e)}")
执行cursor accept all
反复调试,有一些命令可以自己去终端运行,而不使用cursor去执行这些命令
cursor进行数据分析
准备好要分析的数据
使用claude-3.5
输入提示词
cursor提示词(标题分析)
搜索在目录/Users/caicai/Documents/爆款数据分析的data-analysis演示文档.xlsx文
件里,读取“笔记标题”这一列的数据,我想统计高频出现的标题,每个标题不是完全一
样的,对相似的标题按关键词进行汇总,对出现次数倒序进行排列,把标题里的关键词,
出现次数、笔记标题写入到新的文件
cursor提示词(封面分析)
在目录/Users/caicai/Documents/爆款数据分析的data-analysis演示文档.xlsx文
件里,查找粉丝数小于1000并且互动量大于100的数据,下载“封面地址”这列里的图片
cursor提示词(话题分析)
在目录/Users/caicai/Documents/爆款数据分析的
data-analysis演示文档.xlsx里,读取文件的为“话题标签”列,格式如下“#测试卷,#小
学学习资料,#一年级上册语文,#第五单元知识点,#小学语文基础知识,#一年级的娃,#测试卷”,
先把话题按,进行拆分,汇总所有的话题,总结出现次数最多的50个话题,写到 txt 文件中
cursor制作数字动画和艺术动画
方法1:输入提示词直接生成
需要注意的是,由于大模型生成内容存在随机性。即使两次输人一样的指令,cursor给出的解决方案也会存在差异。可以不用太在意,多次提问微调即可
如果显示的结果为空,直接告诉cursor即可
vscode插件
- live preview:预览index.html动画
- manim sideview:预览manim动画
方法2:利用manim库实现简易动画和教学动画
我们先从Manim社区往cursor里导人一段动画代码,点击运行。然后根据cursor给出的反馈安装好Manim库
紧接着就是不断地调试
方法3:利用OpenProcessing制作动画
OpenProcessing:设计+代码地结合;
下载图片地原代码文件
输入提示词:动画换成自己地名字
cursor恢复与还原
方法1:checkpoint:restore
回到之前地存档点;后面地聊天会变成灰色
如果又想加回来,点击对话框地灰色区域
方法2:使用git
git init:初始化仓库
git add.:添加所有文件 (注意,这里末尾有个点)
git add 文件名:添加对应文件
git commit -m"提交的版本信息"
gitlog:查看commit历史
git revert<hash>:撤销某个版本
方法3:gitlens插件
方法4:github desktop
cursor使用coze工作流
在coze创建工作流
workflow_id位置
coze提示词:
你是一位资深的内容精读人员,擅长对长文本文章{{input}}进行快速阅读和提炼。你
需要对其内容进行整理总结,输出一个结构清晰、观点清晰、重点突出的文稿,提炼
出有深度价值的内容
##技能:
-你有用出色的表达能力,可以保证你在转述文章时,不会出现谬误
-你擅长内容精读与总结,可以把信息按照逻辑串联成一份详细、完整、准确的内容
-最后输出的内容应该包含七个部分:文章标题、文章主题(非标题,需要对文章内
容进行概括)、文章作者、文章大纲、对应大纲的精华内容、人物金句、参考资料
-精华内容建议根据文章大纲进行展开,尽可能丰富,不遗漏重点
-如果相关部分没有内容,就如实说明没有
##注意事项:
-需要准确、完整、详细地根据文章内容进行整理提炼,不是文章中的内容不能任意
添加
-不要删减文章中的金句/highlight
-如果存在对立观点或多种不同观点,可以输出表格进行更直观的展示
-必须以markdown格式输出
在cursor中使用coze工作流
请帮我开发一个程序,这个程序会:
-提示用户输入一个URL
-调用Coze工作流API
-显示API返回的结果或错误信息
主要功能:
-使用axios发送HTTP请求
-使用readline获取用户输入
-错误处理和日志输出
-支持异步操作
使用JSDoc注释提供代码文档
它能够调用下面coze工作流api运行(这个api的功能就是用户输入URL,然后运行工
作流实现内容的提炼总结):
curl -X POST 'https://api.coze.cn/v1/workflow/stream_run' \
-H "Authorization: Bearer pat_ARYLsPe9tUMz89ux7wM4WChMXndb7pb8EBObrbXCDuzAlNhzHXsrw1n8e4IWFhHv" \
-H "Content-Type: application/json" \
-d '{"parameters": {},"workflow_id": "7484853891978805288"
}'注意:入参为article_url(即coze工作流地输入),注意中文编码
执行成功后,将上述代码程序转换为一个可运行地chrom浏览器插件
corsor使用coze制作ai知识库
知识库工具:
- ima.copilot
- coze
在coze中创建知识库
下面显示的就是知识库ID
创建一个在线知识库
创建PAT,打开知识库选项
cursor输入提示词
把API文档扔给cursor开发效率会更高
我要开发一个浏览器插件,用户可以将当前网页内容导入到coze知识库
-你需要使用表格允许用户去填写以下元素:cozeaccesstoken,知识库id,这些数据
储存在本地即可
这是coze知识库调用的api:
curl --location --request POST https://api.coze.cn/open_api/knowledge/
document/create\
--header'Authorization:Bearer pat_65gbDg7BBR****
--header'Content-Type:application/json′\
--header 'Agw-Js-Conv: str'\
--data-raw ′
"dataset_id":"74556826***
"document_bases":[
"name":"直接传url163",
"source_info":{
"web_url" :"163.com",
"document_source":1
,
"update_rule": {
"update_type": 1,
"update_interval":24
],
"chunk_strategy":{
"separator":"\n\n",
"max_tokens":800,
"remove_extra_spaces": false
"remove_urls_emails": false
"chunk_type": 1
api文档地址在这,方便你查看:@https://www.coze.cn/docs/developer_guides/
create_knowledge_files
生成浏览器插件
测试
测试浏览器的内容是否导入至coze的知识库
导入成功
在coze中创建智能体
选择要索引的知识库
测试智能体是否好用
cursor rules
生成对应开发项目的cursorrules的提示词
- <Pythorn脚本>以及****的位置可以进行替换
请参考下面这份模板,给我写一份用于开发<Pythorn脚本>应用的合格的cursorrules文档,这份模板中的*号是占位符,你需要补
充相关的信息和技术栈和其它可能需要的信息,文档以markdown格式输出#角色
你是一名精通“开发的高级工程师,拥有10年以上的“应用开发经验,熟悉*等开发工具和技术栈。你的任务是帮助用户设
计和开发易用且易于维护的**应用。始终遵循最佳实践,并坚持干净代码和健壮架构的原则。#目标
你的目标是以用户容易理解的方式帮助他们完成**********应用的设计和开发工作,确保应用功能完善、性能优异、用户体验良好。#要求
在理解用户需求、设计UI、编写代码、解决问题和项目选代优化时,你应该始终遵循以下原则:##项目初始化
- 在项目开始时,首先仔细阅读项目目录下的README.md文件并理解其内容,包括项目的目标、功能架构、技术栈和开发计划,
确保对项目的整体架构和实现方式有清晰的认识;
- 如果还没有README.md文件,请主动创建一个,用于后续记录该应用的功能模块、页面结构、数据流、依赖库等信息。##需求理解
-充分理解用户需求,站在用户角度思考,分析需求是否存在缺漏,并与用户讨论完善需求;
- 选择最简单的解决方案来满足用户需求,避免过度设计。##UI和样式设计
- 使用现代UI框架进行样式设计(例如*************,这里可以根据不同开发项目仔细展开,比如使用哪些视觉规范或者UI框架,没有的话
也可以不用过多展开)
- 在不同平台上实现一致的设计和响应式模式##代码编写
- 技术选型:根据项目需求选择合适的技术栈(例如*,这里需要仔细展开,比如介绍某个技术栈用在什么地方,以及要遵循什
么最佳实践)
-代码结构:强调代码的清晰性、模块化、可维护性,遵循最佳实践(如DRY原则、最小权限原则、响应式设计等)
- 代码安全性:在编写代码时,始终考虑安全性,避免引入漏洞,确保用户输入的安全处理
- 性能优化:优化代码的性能,减少资源占用,提升加载速度,确保项目的高效运行
- 测试与文档:编写单元测试,确保代码的健壮性,并提供清晰的中文注释和文档,方便后续阅读和维护##问题解决
- 全面阅读相关代码,理解***************应用的工作原理
- 根据用户的反馈分析问题的原因,提出解决问题的思路
-确保每次代码变更不会破环现有功能,且尽可能保持最小的改动##选代优化
- 与用户保持密切沟通,根据反馈调整功能和设计,确保应用符合用户需求
-在不确定需求时,主动询问用户以澄清需求或技术细节
-每次选代都需要更新README.md文件,包括功能说明和优化建议##方法论
-系统2思维:以分析严谨的方式解决问题。将需求分解为更小、可管理的部分,井在实施前仔细考虑每一步
- 思维树:评估多种可能的解决方案及其后果。使用结构化的方法探索不同的路径,并选择最优的解决方案
- 选代改进:在最终保最终解决方案是健壮的
vscode插件:
- cursor rules
cursor额度限制到期
cursor+deepseak v3
取消所有默认模型
非cursor内置的大模型无法使用COMPOSER模式!也无法进行代码补全
vscode+cline
不好用!
对比
cursor开发证件照小程序
创建cursor rules
#角色
你是一名精通*微信小程序*开发的高级工程师,拥有10年以上的**移动应用**开发经验,熟悉**微信小程序原生开发框架、
WXML、WXSS、JavaScript、云开发(CloudBase)、WeUI**等开发工具和技术栈。你的任务是帮助用户设计和开发易用且易
于维护的**微信小程序*应用。始终遵循最佳实践,并坚持干净代码和健壮架构的原则。
#目标
你的目标是以用户容易理解的方式帮助他们完成*微信小程序”应用的设计和开发工作,确保应用功能完善、性能优异、用户体
验良好。
#要求
在理解用户需求、设计UI、编写代码、解决问题和项目选代优化时,你应该始终遵循以下原则:
##项目初始化
-在项目开始时,首先仔细阅读项目目录下的README.md文件并理解其内容,包括项目的目标、功能架构、技术栈和开发计
划,确保对项目的整体架构和实现方式有清晰的认识;
-如果还没有README.md文件,请主动创建一个,用于后续记录该应用的功能模块、页面结构、数据流、依赖库等信息。
##需求理解
-充分理解用户需求,站在用户角度思考,分析需求是否存在缺漏,并与用户讨论完善需求;
-选择最简单的解决方案来满足用户需求,避免过度设计。
##UI和样式设计
-使用现代UI框架进行样式设计(例如**WeUI*或自定义组件库),确保在不同设备和屏幕尺寸上实现一致的设计和响应式模式
-遵循**微信小程序设计规范*,确保应用界面美观、易用且符合用户期望;
-使用**WXSS**进行样式编写,确保样式代码的可维护性和复用性。
##代码编写
*技术选型**:根据项目需求选择合适的技术栈。例如:
-*开发框架**:使用微信小程序原生开发框架;
-**UI组件库**:使用**WeUI**或自定义组件库;
-**数据管理**:使用**云开发(CloudBase)**或**本地存储**进行数据管理;
-**网络请求**:使用**wx.request**或**云函数**处理APl请求;
-**状态管理**:使用**全局变量**或**Redux-like**库(如**Mobx**)进行状态管理。
**代码结构**:强调代码的清晰性、模块化、可维护性,遵循最佳实践(如DRY原则、最小权限原则、响应式设计等)。例如:
-将功能模块拆分为独立的页面或组件;
-使用**WXML**和**WXSS**分离结构和样式;
-使用**JavaScript*或**TypeScript**编写逻辑代码。
-**代码安全性**:在编写代码时,始终考虑安全性,避免引入漏洞,确保用户输入的安全处理。例如:
-对用户输入进行验证和清理,防止XSS等攻击;
-使用**HTTPS**加密网络请求,避免敏感数据泄露;
-使用**云函数**处理敏感逻辑,避免客户端代码暴露。
**性能优化**:优化代码的性能,减少资源占用,提升加载速度,确保项目的高效运行。例如:
-使用**分包加载*减少初始加载时间;
-使用**图片懒加载**和**缓存机制**优化资源加载;
-避免在onLoad和onShow中执行耗时操作,使用异步任务处理。
-**测试与文档**:编写单元测试,确保代码的健壮性,并提供清晰的中文注释和文档,方便后续阅读和维护。例如:
-使用**Jest**或**Mocha**编写单元测试;
-使用**微信开发者工具**进行调试和测试;
-为每个函数和类编写详细的文档字符串,说明其功能、参数和返回值。
##问题解决
-全面阅读相关代码,理解**微信小程序*应用的工作原理;
根据用户的反馈分析问题的原因,提出解决问题的思路;
-确保每次代码变更不会破坏现有功能,且尽可能保持最小的改动。
##选代优化
-与用户保持密切沟通,根据反馈调整功能和设计,确保应用符合用户需求;
在不确定需求时,主动询问用户以澄清需求或技术细节;
-每次选代都需要更新README.md文件,包括功能说明和优化建议。
##方法论
*系统2思维*:以分析严谨的方式解决问题。将需求分解为更小、可管理的部分,并在实施前仔细考虑每一步
*思维树*:评估多种可能的解决方案及其后果。使用结构化的方法探索不同的路径,并选择最优的解决方案;
*迭代改进*:在最终确定代码之前,考虑改进、边缘情况和优化。通过潜在增强的选代,确保最终解决方案是健壮的。
输入提示词
我要开发一个微信小程序,它的核心功能就是将用户上传或者直接拍摄的人物照片按照要求转成证件照,以下是小程序的一些基
础说明:
1、交互流程:用户在小程序首页选择证件照尺寸后,进入拍摄或者上传图片环节,最后进行生成证件照环节
2、“证件照生成器”小程序基础信息
热门尺寸:
一寸照:25×35mm|295×413px
两寸照:35×49mm|413×579mm
其它尺寸:
大一寸:33×48mm|380×567mm
小一寸:22×32mm|260×378mm
国考(小二寸):35×45mm|413×531mm
证件照规格说明:
规则名称:根据前面选择的进行对应
打印尺寸:根据前面选择的进行对应
像素尺寸:根据前面选择的进行对应
分辨率:300dpi(默认)
背景色:默认提供三种:蓝色:#007BFF;白色:#FFFFFF;红色:#FF4C4C
照片要求:
1、如果上传相册图片,建议选择纯色背景,北京无杂物的照片
2、如果直接拍摄,优先使用后置摄像头,在被色背景墙前拍摄效果最佳
3、露出眉毛和耳朵,面部无遮挡,建议不要佩戴眼镜
当照片上传后拍摄完毕后,会对照片进行处理,包括:
检测人像取景范围及姿势,以确保头部居中
然后实现智能抠图以符合证件照的要求更具体地可以参考这张原型图
用f还可以使用figma或者pixso将设计图转成代码发给cursor
经过几轮对话后,就要问cursor:什么时候能完成MVP版本
使用coze简化证件照小程序流程
模块一:coze搭建工作流
模块二:cursor开发插件
使用AI实现一个图片转url的插件
模块三:coze搭建和调试用户界面
前端选择:
发布
选择平台发布即可
cursor+本地dity搭建本地知识库
搭建dify
本地搭建dify方法:
- link
cd docker
cp .env.example .env
docker compose up -d
运行后,可以在浏览器上访问 http://localhost/install 进入 Dify 控制台并开始初始化安装操作。
Dify创建知识库
Dify创建知识库+cursor做个浏览器插件抓取网页内容导入到知识库
下面是dify的知识库ID
模型选择待TEXT的
Cursors
输入提示词
我要开发一个浏览器插件,用户可以将当前网页内容导入到dify知识库,具体要求如下:
-你需要使用表格允许用户去填写以下元素:difyAPItoken,知识库id(对应dataset_id),这些数据储存在本地即可
-支持单独保存difyAPItoken,知识库id任一选项的设置,支持一键清除保存的设置
-插件界面采用苹果风格的设计(MVP版本不需要配置icon图片)
这是dify知识库的api请求示例:
curl --location --request POST'https://api.dify.ai/v1/datasets/{dataset_id})/document/create_by_text'\
--header'Authorization: Bearer {api_key}'\
--header'Content-Type: application/json'\
--data-raw'{"name": "text","text": "text","indexing_technique": "high_quality""process_rule": {"mode": "automatic")}'
需要注意的是,Dify服务器是运行在本地的,端口是默认的80
api文档地址在这,方便你查看:https://docs.dify.ai/guides/knowledge-base/knowledge-and-documents-maintenance/
maintain-dataset-via-api
浏览器插件执行后,即可砸死知识库看到内容
将知识库大包给智能体
UI 组件库
React UI、Material-UI、Ant Design、Vue.js UI、Element UI,通用UI组件库:Bootstrap
常见组件库、UI风格:
AppleDesign(苹果简洁、干净风格)
MaterialUI(谷歌MaterialDesign风格)
AntDesign(蚂蚁金服组件库,适合企业级应用)
Glassmorphism(磨砂玻璃风格)
FlatRemix(扁平化、鲜艳的渐变色、圆角设计和简洁的阴影效果)
Cursor的四种增强上下文管理的方法
Summarized Composers
一定要有Composer历史对话,才有办法使用这个新功能。否则就会出现“Noavailable options”的提示
Optional Larg Context
README.md记录项目信息
Notepads保存常用逻辑
Notepads是Cursor中强大的上下文共享工具。它弥补了Composer与Chat两种对话模式在上下文管理能力的不足。可以把它理解为超越了.cursorrules功能的增强型参考文档。让我们可以为开发工作流程创建可重复使用的上下文文档。
Notepads常见用例
总结来说,Notepads适合写一些需要频繁引用的。不太变化的,可重复使用的代码/模板(各种API调用的示例就非常适合)。Notepads并不面向所有项目生效。
eg:NOTEPADS前端开发模板
核心原则:可维护性、性能优化、团队协作
#前端开发规范 (React/Vue示例)|
#一、代码风格
1.**命名规范**
-组件:PascalCase(如UserProfile.vue)
变量/函数:camelCase
-CSS类名:kebab-case
2.**目录结构**
src/
assets/#静态资源
components/#公共组件
hooks/#自定义Hook
views/#页面组件
##二、组件设计
**原子化设计**:按钮/输入框等基础组件需通过props控制行为
-**状态管理**:跨组件通信优先使用Pinia/Vuex,避免props drillin
##三、性能优化
1.图片资源:WebP格式+CDN压缩
2.代码分割:路由级动态导入(()=>import(./Component.vue'))
3.防抖/节流:高频事件(搜索/滚动)必须添加
##四、工具配置
-ESLint规则:强制prettier代码格式化
-Git提交规范:遵循<type>(<scope>):<subject>格式
Cursor rules
User rules
对全部开发项目,全部对话生效
Cursor rules
Project rules
所有Project rules都会存储在.cursor /rules 目录中,可以实现对项目中不同部分AI行为的更细颗粒度的控制。
.cursorrulele只能用一个,project rule可以用多份
cursor rules
github上自己下载使用
cursor+blender MCP实现自动3D建模
依赖下载
Prerequisites
- Blender 3.0 or newer
- Python 3.10 or newer
- uv package manager
在Windows上安装UV
-
安装python:使用微软商店进行安装
-
配置pip源
PS C:\Users\1> pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
安装uv
pip install uv
从阿里云下载blender
https://mirrors.aliyun.com/blender/release/Blender4.4/blender-4.4.0-windows-x64.msi
打开blender
设置MCP
从blender github下载addon.py
选择磁盘安装,将addon.py安装进去
在cursor中配置开启MCP
在cursor中配置blender MCP
{"mcpServers": {"blender": {"command": "uvx","args": ["blender-mcp"]}}
}
如果不是红色的,可以尝试重启cursor
在cursor中输入3D建模提示词
知识库+Code Review的高效实践
【AIGC】基于大模型+知识库的Code Review实践
参考
- cursor从小白到专家第一课
- cursor从小白到专家第二课
- cursor开发一个浏览器插件
- cursor批量剪辑小视频
- cursor进行数据分析
- cursor制作数字动画和艺术动画
- cursor代码管理
- Cursor + Coze,手搓一个符合自己阅读习惯的知识库工具
- cursorrules
- cursor开发证件照小程序
- 如何用Cursor+Coze简化小程序开发
- 用Cursor+Dify搭建本地知识库
- Cursor + MCP实现自动3D建模
- 【AIGC】基于大模型+知识库的Code Review实践