// 配置文件
settings.json
远程服务器放在 context_servers 下。用 zed: open settings file 打开文件,或在 Settings → AI → MCP Servers 中添加服务器。
面向 Zed 用户
Zed 智能体依据你打开的文件和你给的指令工作。Maguyva 索引整个仓库并通过 MCP 返回结果,于是智能体会直接询问某个符号在哪里,而不是靠猜。
Free 层级:3 个代码仓库, 最多 5 万行索引代码,无需信用卡。
一条 context_servers 条目:一个 URL,加一个 Authorization 请求头。 四条 Zed 专属事实,没有一条难。
// 配置文件
远程服务器放在 context_servers 下。用 zed: open settings file 打开文件,或在 Settings → AI → MCP Servers 中添加服务器。
// 传输方式
Zed 通过 HTTP 直接连接 Maguyva 的远程端点。不需要本地进程,也不需要 Node.js。
// 密钥
本指南没有验证 Zed 请求头中的环境变量展开,所以密钥直接写进 Authorization 请求头。请把它放在用户设置里,而不是会提交的文件里。
// 审批
Zed 默认在每次调用工具前询问。可在 agent.tool_permissions.tools 下用 mcp:maguyva:find_symbol 这样的键,逐个放行 Maguyva 的工具。
# .rules
- 宣布改动完成之前,先运行仓库的测试命令。
- 只在被要求修改的包内编辑。Zed 只加载一个项目指令文件:在一个以 .rules 开头、包含 AGENTS.md 和 CLAUDE.md 的固定列表中,第一个匹配到的那个。个人指令放在 ~/.config/zed/AGENTS.md。适合写进去的有:
指令文件告诉智能体怎么工作。它没法告诉智能体,四千个文件里哪些在调用它正要修改的那个函数。
Zed 智能体无法从眼前的文件里学到的三件事。
智能体只看得到你打开的和它 grep 到的。另一个包里同名的辅助函数看起来一模一样,直到错的那个被发布上线。
“改了这个签名会坏掉什么?”是一个图的问题。没有索引,智能体只能一个文件一个文件地读,直到轮次或上下文耗尽。
智能体为摸清情况而打开的每个文件,都在消耗本可用于改动本身的 token。一个带 file:line 的排序答案,比十次试探性读取更省。
一条 context_servers 条目让 Zed 智能体获得:
Zed 给智能体一个快速的编辑器。
Maguyva 给智能体一张代码地图。
先问地图,再动手编辑。
// workflow 01
zed agent> 对外 Webhook 的重试策略在哪里? find_symbol("retryPolicy") src/webhooks/dispatch.ts:41 retryPolicy() ← 实现 src/webhooks/__mocks__/dispatch.ts:9 ← mock → 智能体打开的是 dispatch.ts:41,而不是 mock。 [exit 0]
一次排序查询取代一轮 grep。答案以智能体可以直接打开的路径和行号返回。
// workflow 02
zed agent> 给 fetchInvoice 加一个 timeout 参数 dependency_search("fetchInvoice", dependents) 分布在 4 个包中的 7 个调用方 → 智能体一次性更新全部七处调用。 [exit 0]
影响范围在第一次编辑之前就到手,而不是在构建失败之后。
三个步骤。Free 层级:3 个代码仓库, 最多 5 万行索引代码,无需信用卡。
// step 01
挑一个你已经熟悉的,这样你能给答案打分。
// step 02
~/.config/zed/settings.json
{
"context_servers": {
"maguyva": {
"url": "https://maguyva.tools/mcp",
"headers": {
"Authorization": "Bearer mgv_xxxx"
}
}
}
} // step 03
把 mgv_xxxx 换成你的 API 密钥并保存。问智能体一个你已经知道答案的问题,然后打开它引用的文件。