文章目錄
- 1:簡單開發一個貪吃蛇游戲
- 規則設置
- 提示詞
- 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
- 參考
1:簡單開發一個貪吃蛇游戲
規則設置
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從小白到專家第二課
- cursor開發一個瀏覽器插件
- cursor批量剪輯小視頻
- cursor進行數據分析
- cursor制作數字動畫和藝術動畫
- cursor代碼管理
- Cursor + Coze,手搓一個符合自己閱讀習慣的知識庫工具
- cursorrules