image

引言

最近宁夏因为地震登上了热搜,一天两次 4 级地震不说,光 1 级以上的就有近 15 次左右,别看这 1-2 级地震小,但是架不住他多啊,而且因为地理位置原因还感受异常明显,这一天天提心吊胆的。

地震预警软件里面基本都不显示 3 级以下的地震了,想看 3 级以下的地震只能从地方地震局官网看,每次刷刷刷的看的麻烦,想的能不能用 Cursor 写一个获取最新地震数据给手机提示的应用?

说干就干!

实现效果

每隔 30 秒抓取一下数据,如果发现有新增的,推送到手机的 bark 中

技术栈

使用当下最热门的 CursorSealos 云原生方式开发,力求最简单快速方式搭建。

编程语言:Java

AI:Cursor

数据库:MySQL

手机提示:Bark


Crusor

  • 简介: Crusor 是一个基于 VSCode 的 AI 代码开发 IDE,支持多种编程语言,哪怕你不懂代码,只要你能清楚的描述出你的需求,他就可以帮你构建出你想要的代码。

  • 优势:

    • 基于 VSCode 提供了丰富的开发工具和插件,支持个性化配置。
    • 支持多语言开发,适用于不同的项目需求。
    • 可以一键快速构建整个项目。
  • 官方文档: Crusor 官方文档

Sealos

  • 简介: Sealos 是一个基于 Kubernetes 的云原生操作系统,提供了使用个人电脑一样的云原生体验。

  • 优势:

    • 简化 Kubernetes 的部署和管理,降低使用门槛。
    • 提供丰富的云原生应用模板,30 秒内轻松部署 Nginx、mysql、pgsql、mongo 等等应用,加速应用上线。
    • 无需安装 Kubernetes 集群,即可登录使用,提供多租户共享一个 Kubernetes 的能力,同时保障数据安全。
    • 只需为容器付费,自动伸缩功能可节省 10%~40% 的成本。
    • 自动分配二级域名,轻松实现公网访问,支持自定义域名绑定。
  • 邀请链接: https://cloud.sealos.run/?uid=PpfpFHqbZD

  • 官方文档: Sealos 官方文档

  • image

Devbox

  • 简介: Devbox 是一个轻量级的开发者环境工具,支持快速创建和切换开发环境,适用于多种编程语言和框架。

  • 优势:

    • 快速创建和切换开发环境,节省时间。
    • 支持多种编程语言和框架,灵活性高。
    • 轻量级设计,资源占用低,适合各种开发场景。
    • image
  • 官方文档: Devbox 官方文档

bark

  • 简介: Bark 是一个跨平台的通知中心,支持多种平台的通知推送,方便用户接收和管理通知。

  • 优势:

    • 跨平台支持,可以在多个设备上接收通知。
    • 支持自定义通知样式和内容,个性化强。
    • 提供丰富的 API,方便集成到各种应用中。
  • 官方文档: Bark 官方文档

准备阶段

Python 安装

  • 从官网安装 Python

Cursor 安装

  • 进入官网 Cursor - The AI Code Editor 下载安装,注册账号登录后会有 14 天的 Cursor Pro 权益,内含 250 次免费 Claude-3.5-sonnet 快速调用
  • image

Devbox 环境搭建

  • 注册 Sealos
  • 切换 Sealos 为更为便宜的火山云(字节跳动)
  • image
  • 项目名称随意,选择运行环境为 Python,版本为 3.10,1C1G 的资源,网络端口因为是推送,不需要外网访问将其删除,点击创建即可。
  • image
  • cjdevbox

数据库创建

  • 点击右上角最小化按钮,回到主页面,点击数据库图标
  • image
  • 因为是只做推送,保留选择最小配置,点击部署即可
  • image
  • 点击详情页,可以看到数据库连接信息,鼠标移上去可以复制连接信息
  • image

开始搭建

在 Devbox 创建完成、数据库信息准备好后,我们就可以开始着手搭建了。

  1. 通过 Devbox 打开 Cursor: 在我们创建好的 Devbox 项目中点击,使用 crusor 打开

    1. image

    2. 在弹出的 Cursor 中,如果有提示让安装扩展插件,直接点击同意安装即可(如果同时打开了两个窗口,关闭那个无用的窗口)

      1. 正常打开后,窗口长这样:image​​
  2. 设置 Cursor Rules: 给 crusor 设置 rule 让他更好的去服务我们,提示词可以关注公众号后回复 rule提示词​ 后下载:image

  3. 开始对话: 按住 Ctrl+L 打开 chat 聊天窗口,并选择上方 composer​ ​选项卡,并调整 AI 模型为 claude-3.5-sonnetimage

  4. 描述需求:

    帮我用Python开发一套地震信息推送系统
    
    实现效果:每隔30秒爬取一下  https://www.nxdzj.gov.cn/earthquake/new   这个地震局网站的数据
    使用MySQL存储,使用requirements来存储依赖,如果发现有新增的数据,把位置、震级、发生时间推送到我手机的bark中
    
    **数据库连接信息为**:
    
    **地址:** 你的数据库地址
    
    **端口号**:你的数据库端口
    
    **账号**:账号
    
    **密码**:密码
    
  5. 按照 Cursor 要求运行image

  6. 问题解决: 一般来说如果遇到报错无法运行、和想要功能有误,可以直接选择当行和报错信息点击悬浮的 add to composer 或者在 composer 中描述,来针对具体问题让 Cursor 解决

  7. 修改入口 sh:修改 entrypoint.sh​ 文件 python3 hello.py ​为你的入口文件,像我为 python3 earthquake_monitor.py

部署应用至云

当初选型 sealos 和 Devbox,就是为了快速部署,现在我们应用已经生成完成了,现在需要再 Devbox 中上线

  1. 将代码中数据库链接信息改成内网地址,以节约成本image

  2. 进行发版:在 Devbox 的详情中选择发布版本,版本号随便填写,发版完成后点击上线image

  3. 应用上线:调整上线资源,可以按我这个来选择,以节省成本,其他的默认即可image

  4. 至此搭建完成!

    1. 效果图:6f57953aa5d1a336c83f542b92511c7

总结

Cursor 是一个异常强大的 AI 编辑器,配合这云原生的环境,只要需求描述清楚,哪怕你不是程序猿,也可以快速的搭建想要的应用

虽然途中可能会出现些问题,但是都可以调用 Cursor 来帮我们解决,况且本就没有一开始就完美的软件。

Cursor 配合着 Devbox 和 sealos Cloud 的环境,更是锦上添花,可以帮助我们快速的上线。

借助Cursor,其实实现这种小工具的方法很多,并不是唯一解,你甚至可以不用数据库,直接存储在上下文中。