有没有体验了Zed AI的佬

Introducing Zed AI
我看了演示挺牛逼的,有没有用过Copilot、Cursor、Zed AI的佬来说下对比啊,哪个更牛逼,主要是都有哪些坑,然后它们这功能可以上Deepseek不?效果咋样?


24-08-22更新
没佬回答,我自己发下自己的体验

Zed AI使用体验

编辑器

从IDE的角度来说,Zed还有很长的发展路径。在使用过程中,我发现作为一个IDE,它还缺失了很多功能,比如Git相关的操作(能展示状态)、数据库查看管理等。不过,如果将Zed作为一个轻量级的编辑器来替代Sublime,它绝对是完胜的。与Vscode相比,Zed确实快了很多很多,没有基于Electron构建这点就自带速度属性了。

作为一个普通编辑器,Zed该有的功能基本都具备。但是在配置方面,它比Vscode更原始,很多配置在Vscode中至少可以通过界面进行,而Zed的配置只能通过JSON文件来完成。

特色AI功能

就是冲着这个AI功能体验的Zed,核心思想是在对话界面把上下文都丢给AI

AI回答之后在文件需要修改的地方直接让AI应用刚刚对话里的方案(那个"apply changes"就是)


白送的Claude

本来这可以作为Zed的一个加分项,但实际体验下来,发现很容易触发rpm限制。一旦达到限制,Zed送的Claude就报错没法继续用了。不过还好,我们可以使用下面的方法来解决这个问题。

使用Copilot

没错,我们可以直接使用Copilot提供的4o作为聊天工具,它同样具有输入补全的能力。这样既不会浪费之前为Copilot付费的钱,还能获得不错的体验。

配置Deepseek

Zed非常适合Deepseek,Zed AI的理念会使用大量的token(很多文件作为上下文),并且在AI应用到文件的时候,会把问答里的内容当做上下文全部带上,Deepseek刚好能够完美hit cache,但需要使用Cloudflare Worker把openai的model转成deepseek coder。以下是转发的示例代码(给个例子,这是我很多转发中的一个):

export default {
  async fetch(request, env, ctx) {
    const url = new URL(request.url);

    let pathArray = url.pathname.split("/ds-beta");

    if (pathArray.length <= 1) {
      return new Response('Bad request: Missing `redirectUrl` query param', { status: 400 });
    }

    // 克隆原始请求
    let originalRequest = request.clone();

    // 读取并打印原始请求体
    let originalBody = await originalRequest.json();
    console.log("Original request body:", JSON.stringify(originalBody, null, 2));

    // 修改 body
    let modifiedBody = { ...originalBody, model: "deepseek-coder" };

    // 创建新的 headers, 复制所有原始 headers
    let newHeaders = new Headers(originalRequest.headers);
    // 更新 Content-Type header
    newHeaders.set('Content-Type', 'application/json');

    // 创建新的请求,包含修改后的 body 和所有原始 headers
    let newRequest = new Request(originalRequest, {
      body: JSON.stringify(modifiedBody),
      headers: newHeaders,
      method: originalRequest.method,
    });

    // 打印修改后的请求体
    console.log("Modified request body:", JSON.stringify(modifiedBody, null, 2));

    console.log("send request to deepseek");
    // 使用修改后的请求发送子请求
    let res = await fetch("https://api.deepseek.com/beta" + pathArray[1], newRequest);

    console.log("receive response from deepseek", res.statusText);
    return res;
  },
};

感受

换用了一个简单的IDE后,在编写简单项目的时候,感觉更加专注了(可能这就是为什么那么多人喜欢使用Vim的原因吧)。它带来了一种编写代码的快感(??)。

Zed支持Vim模式、多光标编辑、代码跳转,可以使用Copilot,AI功能在某些情况下非常给力。通过JSON配置task后,使用起来非常便捷。它确实非常非常快,并且支持大多数常用的编程语言。

不过,Zed的Git管理需要通过命令行进行,没有直观的图形化配置界面,它的插件支持也非常有限。

78 个赞

蹲一个蹲一个

等大佬测评。

1 个赞

登录zed账号可以免费使用,试了几下还不错

2 个赞

佬,为啥我用的时候说anthorpic model not available in your region,我配了个proxy似乎没啥用


更新:proxy有用,已经用上了

1 个赞

Zed AI的理念是将大部分工作交给AI,如果AI完全不出错,那么项目可以做得很顺利。

显而易见的问题在于,一旦AI出错,需要人把关的时候,由于软件提供的编辑、调试等功能都非常弱,会降低我们的生产力。

理论上什么都能做,软件擅长做一些小工程、实现一些成熟的需求,不擅长做大部分日常任务。当然你可以配个别的编辑器来使用

2 个赞

怎么配置proxy啊

12 个赞

直接项目下可以创建个.zed/settings.json,然后可以覆盖默认的配置,默认的配置你可以看看Default Setting,用命令面板可以直接打开,和vscode差不多

2 个赞

看着很不错,我去试试

1 个赞

可以分享下你的配置吗 佬儿

1 个赞

我配置就配了个tab size和proxy:

{
  "languages": {
    "Rust": {
      "tab_size": 4
    },
    "TypeScript": {
      "tab_size": 4
    },
    "CSS": {
      "tab_size": 4
    }
  },
  "proxy": "http://127.0.0.1:50887"
}

1 个赞

感谢 proxy是clash生成的吧

1 个赞

我这个是的,他支持很多协议的,你可以看看你的软件是否提供对应的协议

// Set a proxy to use. The proxy protocol is specified by the URI scheme.
  //
  // Supported URI scheme: `http`, `https`, `socks4`, `socks4a`, `socks5`,
  // `socks5h`. `http` will be used when no scheme is specified.
  //
  // By default no proxy will be used, or Zed will try get proxy settings from
  // environment variables.
  //
  // Examples:
  //   - "proxy": "socks5://localhost:10808"
  //   - "proxy": "http://127.0.0.1:10809"
  "proxy": null,
1 个赞

感谢指点 :smiling_face_with_three_hearts:

等大佬测评。。

感谢分享,mark一下

用了两天,还不错,使用 zed 代替我的默认编辑器了

没有windows版 :joy:

转发一定要通过 Cloudflare Worker 吗?为啥不能直接在本机转发呢?

1 个赞

我擦,我傻逼了,应该是可以在本地转发的,不过就是要多起一个服务就是了,确实会方便很多,我待会试试

1 个赞