AI 辅助开发
这一章解决什么问题
帮助你理解并使用 Zed 的 AI 功能,包括 Agent 面板、Inline Assistant、模型配置等。
资料来源
- Zed AI Overview — AI 功能概览
- Zed Agent Panel — Agent 面板文档
- Zed Agent Settings — Agent 配置
- Zed External Agents — 外部 Agent
- Zed Inline Assistant — 内联助手
- Zed LLM Providers — 模型提供商
访问时间:2025-06-09 适用版本:Zed v0.170+
你会在什么时候用到它
- 需要理解陌生代码时
- 需要重构或修改代码时
- 想生成测试或注释时
- 需要写 commit message 时
AI 功能概览
Zed 的 AI 功能分为几个层次:
| 功能 | 入口 | 用途 |
|---|---|---|
| Agent 面板 | 右侧面板 | 对话式 AI,解释、修改、生成代码 |
| Inline Assistant | 编辑器中 | 直接修改选中的代码 |
| Edit Prediction | 输入时 | 类似 Copilot 的代码补全 |
| Git Commit 生成 | Git 面板 | 自动生成 commit message |
Agent 面板
Agent 面板是 Zed 的 AI 对话界面。
打开 Agent 面板
- 点击右侧的 Agent 图标
- 或
Ctrl+Shift+P→agent panel: toggle focus
配置 AI 模型
首次使用前需要配置模型。Zed 支持多种模型来源:
1. Zed 托管模型(Zed.dev)
注册 Zed 账号后,可以免费使用一定量的 AI 调用:
- 点击状态栏的 Sign In 登录
- 或使用
Ctrl+Shift+P→Sign In - 按照提示完成登录
2. 自己的 API Key
使用你自己的 API Key,按量付费:
json
{
"language_models": {
"openai": {
"api_url": "https://api.openai.com/v1",
"available_models": [
{
"name": "gpt-4o",
"display_name": "GPT-4o",
"max_tokens": 128000
}
]
},
"anthropic": {
"api_url": "https://api.anthropic.com",
"available_models": [
{
"name": "claude-sonnet-4",
"display_name": "Claude Sonnet 4",
"max_tokens": 200000
}
]
}
}
}API Key 安全
不要在 settings.json 中直接写 API Key。Zed 会弹出对话框要求输入,并安全存储。
Windows 上 API Key 存储在系统密钥管理器中。
3. 本地模型(Ollama)
使用本地运行的开源模型:
- 安装 Ollama(Windows 版)
- 下载模型:
ollama pull codellama或ollama pull qwen2.5-coder - 在 Zed 中配置:
json
{
"language_models": {
"ollama": {
"api_url": "http://localhost:11434",
"available_models": [
{
"name": "qwen2.5-coder:latest",
"display_name": "Qwen Coder",
"max_tokens": 32768
}
]
}
}
}本地模型注意
- 本地模型需要较强的硬件(尤其是 GPU)
- 代码能力通常不如云端大模型
- 需要保持 Ollama 服务运行
选择模型
配置多个模型后,在 Agent 面板顶部可以切换使用的模型。
使用 Agent 面板
解释代码
- 在编辑器中选中代码
- 在 Agent 面板中输入:"解释这段代码"
- AI 会分析代码并给出解释
修改代码
- 在 Agent 面板中描述修改需求
- AI 会生成修改后的代码
- 代码会以 diff 形式显示
- 点击 Apply 应用修改
查看 Diff 再接受
重要习惯
AI 生成的代码修改会以 diff 形式展示。在接受前务必仔细审查 diff,确保:
- 只修改了需要修改的地方
- 没有删除重要代码
- 逻辑正确
控制 AI 作用范围
你可以控制 AI 能看到和修改哪些文件:
- 当前文件:默认 AI 可以看到当前打开的文件
- 选中代码:只针对选中的代码片段
- @提及文件:在对话中
@文件名让 AI 关注特定文件 - 项目上下文:AI 可以搜索项目中的相关代码
Inline Assistant
Inline Assistant 让你直接在编辑器中使用 AI 修改代码。
使用方法
- 选中要修改的代码
- 按
Ctrl+Shift+A或右键 → Inline Assist - 输入修改指令
- AI 会直接在当前位置修改代码
示例
选中一个函数后输入:
- "添加错误处理"
- "添加 JSDoc 注释"
- "用 async/await 重写"
- "添加参数验证"
Edit Prediction
Edit Prediction 是类似 GitHub Copilot 的实时代码补全。
开启/关闭
json
{
"features": {
"edit_prediction_provider": "zed"
}
}选项:
"zed"— 使用 Zed 的预测模型"none"— 关闭
使用方式
输入代码时,灰色显示预测的内容:
Tab接受预测Escape忽略- 继续输入会覆盖预测
Git Commit 生成
详见 Git 版本控制 章节。
在 Git 面板中暂存改动后,可以点击 AI 按钮生成 commit message。
适合与不适合使用 AI 的场景
✅ 适合使用 AI
| 场景 | 原因 |
|---|---|
| 解释不熟悉的代码 | 快速理解代码意图 |
| 添加注释/文档 | 减少重复劳动 |
| 生成测试用例 | 提高测试覆盖率 |
| 简单重构 | 变量重命名、提取函数等 |
| 写 commit message | 基于 diff 自动生成 |
| 格式转换 | JSON ↔ YAML 等 |
⚠️ 需要谨慎
| 场景 | 注意 |
|---|---|
| 复杂逻辑修改 | 务必仔细审查 diff |
| 安全相关代码 | AI 可能引入漏洞 |
| 性能关键代码 | 可能不是最优实现 |
❌ 不建议完全依赖
| 场景 | 原因 |
|---|---|
| 核心业务逻辑 | 需要深度理解业务 |
| 安全认证代码 | 风险太高 |
| 架构设计 | 需要全局思考 |
Windows 下 AI 功能不可用的排查
如果 AI 功能无法使用,按以下步骤排查:
1. 检查网络连接
- 云端模型需要网络访问
- 确认能访问 api.openai.com 或 api.anthropic.com
2. 检查 API Key
Ctrl+Shift+P→open settings→ 检查语言模型配置- 确认 API Key 有效且有额度
3. 检查本地模型
powershell
# 测试 Ollama 是否运行
curl http://localhost:11434/api/tags4. 查看错误信息
Agent 面板中会显示错误信息,根据提示排查。
5. 查看日志
Ctrl+Shift+P → open log 查看详细日志。
AI 隐私说明
- Zed 托管模型:数据通过 Zed 的服务器转发
- 自己的 API Key:数据直接发送给对应的 AI 提供商
- 本地模型:数据不离开本机
本章小结
- Agent 面板:
Ctrl+Shift+P→agent panel打开 - 支持 Zed 托管、API Key、本地模型三种方式
- Inline Assistant:
Ctrl+Shift+A直接修改代码 - 务必审查 AI 生成的 diff 后再接受
- 复杂逻辑和安全代码需要人工审查
小练习
- 配置一个 AI 模型(Zed 托管或 API Key)
- 选中一段代码,让 AI 解释它的作用
- 选中一个函数,让 Inline Assistant 添加注释
- 在 Git 面板中用 AI 生成 commit message