文章主要介绍了作者对 Windsurf 的初体验,包括下载安装、注册登录、实战尝试(新建项目、设置虚拟环境、运行、修改需求等),并与 Cursor 进行对比,认为 Windsurf 有诸多优点,如创建项目方便、交互提醒好用等,最后期待二者竞争带来更好工具。

关联问题: Windsurf能支持更多模型吗 Windsurf有哪些缺点 Cursor会被淘汰吗

Windsurf已经发布好多天,目前个人使用Cursor、Bolt比较多,这个热门的应用,怎么着也得去体验一把,看看是否有宣传的那么好。

本文主要从实际场景出发,谈谈使用感受,再通过我不多的Cursor使用体验进行简单的对比,希望给大家一份参考。

本文编写时,笔者尚未体验Cursor 0.43版本,毕竟是Windsurf出来后,Cursor才升级的嘛,有个先来后到。

前置准备

下载、安装

官网访问直接下载,没有什么特别的,安装也直接按照喜欢的来就行。

注册、登录

安装最后,要求登录,此时进行注册、登录流程。

注册登录可能需要注意网络问题,不是很稳定。

以下是日常使用时的截图,与Cursor区别不大,与VS Code也基本一致。

image.png

实战尝试

最近正在学习Streamlit,就把那边的应用简化一个场景尝试下。

场景如下:

使用Streamlit实现一个仿ChatGPT页面的应用,大模型更换为国产大模型API。

新建项目

开始

安装后打开的界面,直接使用Generate a Project with Cascade

笔者感受:

这个入口设计的体验比Cursor好点,Cascade就是Cursor的 CHAT 聊天框,包括打开的快捷键都是一致的,这是为迁移做好了准备啊。

image.png

生成(新建项目)

使用如下提示词进行,为了体验效果,没有专门进行提示词优化。

<span data-line-num="1">帮我使用streamlit构建一个类似chatgpt网站,后台对接智谱清glm-4-flash 大模型api,使用中文</span>

生成过程截图如下:

笔者感受:

  1. requirements.txt中依赖版本老旧,无法直接使用,我直接删除版本限定,使用最新版本。

    这个应该是是因为我没有提前设置Python环境导致,后续我又使用Cascade帮我设置了虚拟环境。

  2. 国产的智谱接口调用代码错误,这个如果不增加私有知识库给大模型,几乎所有编辑器都是这样,Cursor也一样,唯一一个直观体验比较好的是Bolt(尚未深究)。

    我直接手动调整了这一段代码。

  3. 生成过程给出它的理解或者叫做实现步骤,方便生成结果不满意的时候,能够精准修改提示词,当然,这个也有可能是Claude 3.5 Sonnet在后面出大力。

image.png

  1. 生成后增加了一些汇总说明,并标识了文件需要Review,包括哪些是新增的,哪些是更新的。这个我感觉是很有必要的,毕竟一个项目生成起来需要太多次交互了,有这个Review,最起码能提高一些保证。

设置Python虚拟环境

我直接生成的代码,尚未设置虚拟环境,这里直接通过Cascade告诉Windsurf帮我安装。

<span data-line-num="1">帮我设置python虚拟环境</span>

执行效果挺不错的,一步步确认,在Cascade标签中就能执行,无需切换。

image.png

笔者感受:

  1. 涉及到执行终端命令,效果比我预期好,对整体项目的理解,包括电脑环境理解比Cursor更进一步。

运行

通过Cascade告诉Windsurf帮我运行应用。

<span data-line-num="1">运行该应用</span>

image.png

点击Accept后自动执行相应运行命令,给出执行结果,并打开浏览器预览。

image.png

笔者感受:

  1. Cascade中直接执行确实比较统一,但是我个人还是更喜欢在Terminal中执行命令的效果,可能是多年下来的职业习惯了。

初步运行效果

这是运行后的结果,整体还是可以的。毕竟排除掉我写文章的记录工作,到这一步估计也就不到10分钟。

image.png

修改需求

界面

通过Cascade告诉Windsurf帮我优化界面。

<span data-line-num="1">请将右侧主区域背景改为浅灰色,对话消息背景设置为白色,这样美观一点。</span>

image.png

修改后效果如下:

image.png

笔者感受:

  1. 比较一般。抓住了我这次反馈的核心,进行美化,方向和思路没有问题,但是对界面元素的定位有些问题,没有完美的实现我的要求。

    这也给我们提了个醒,在告诉Windsurf干什么的同时,如果能说明目的,可能它能比你预期做的更多。

功能

通过Cascade告诉Windsurf帮我优化功能。

<span data-line-num="1">现在调用大模型的返回是同步的,请帮我改为流式返回</span>

image.png

结果我已经帮大家测试了,流式返回修改非常准确,最关键的是修改代码的位置和量都还比较多。

笔者感受:

  1. 这次修改非常满意,完美的实现了我的预期,尤其是智谱清言的流式参数修改也是正确的。因为按照我的理解,这个应该只有对智谱清言的接口文档熟悉后才行的,看来后续需要对调用专有API的情况进行深入验证了。

总结

整体尝试下来,感觉不错,确实领先我当前使用的Cursor版本,主要体现在以下几点:

  1. 一句话创建项目,这个和Bolt类似,虽然这个点很小,但是证明Windsurf确实在考虑如何优化用户的体验。并且,每次发起指令后,Cascade会自动将指令置顶,方便查看更多返回。
  2. 每次交互后的文件新增和修改提醒,我感觉比较好用,如果后续能有历史修改的查看就更好了。
  3. 每次返回的执行,接受和拒绝按钮比较明显,Cursor的比较小,我个人更喜欢Windsurf,但这是个见仁见智的事情。
  4. 直观感受,对代码库的理解更加深入了,也没有像Cursor区分chatcodebase的区别,虽然一方面降低了使用难度,但也在另一方面牺牲了普适性,毕竟有些项目可能不想让大模型全部扫一遍。

后续有空了再去体验下Cursor的0.43版本,Windsurf呢,也会再进一步使用,如果有新的发现,再分享给大家。

最后,期望CursorWindsurf竞争起来,这样我们才能使用到更加优质且价廉的工具嘛。

本文收录于以下专栏

cover

下一篇

CopyCoder:自动生成前端提示词(仿掘金案例)