插件
让智能体连接 GitHub、Jira、Notion、Stripe、浏览器等几十种服务。
插件为智能体提供某个服务或应用的工具。在底层,一个插件就是一个或多个 MCP 服务器。
市场
点按侧边栏右下角的市场图标(四个圆点),或选择 文件 › 市场…(⇧⌘M,Windows 和 Linux 上是 Ctrl+Shift+M)。最前面是 精选插件 和 精选智能体,然后按类别列出其余内容。精选分组下的 查看全部 会列出所有插件或所有智能体。搜索会同时查找插件和智能体。市场内容来自 lorca.app,所以新的插件和智能体无需更新 Beans 就会出现。
市场里有这些插件:
| 类别 | 插件 |
|---|---|
| 效率 | Linear、Notion、Atlassian(Jira 和 Confluence)、Zapier、Todoist、ClickUp、Airtable |
| 通信 | Granola、Fireflies、Resend |
| 设计 | Canva、Miro、Webflow |
| 代码 | GitHub、Sentry、Cloudflare、GitLab、Netlify、Railway、Expo |
| 数据 | Supabase、Neon、PostHog、Mixpanel、Amplitude |
| 销售 | Attio、Close、Apollo.io |
| 财务 | Stripe、PayPal、Mercury |
| 研究 | Context7(库文档)、Browser(由智能体操作的无头浏览器)、Exa(网页搜索)、DeepWiki、Hugging Face |
| 支持 | Intercom |
Browser、Context7、DeepWiki、Exa 和 Hugging Face 不需要账号。这里没有插件的应用,比如 Gmail、Google 日历和 Slack,可以通过 Zapier 使用。市场里的智能体是现成的队友,参见智能体。
插件按 Runner 安装。那台电脑上的每个智能体都能使用那里安装的每个插件。密钥和登录状态留在那个 Runner 上;你的其他设备只看得到插件的名字和状态。
按需加载工具
每个回合开始时,智能体只会看到 Runner 上已安装插件的一份精简目录。只有任务确实需要某项能力时,Beans 才连接对应的 MCP 服务器,并把匹配的工具结构交给模型。选中的工具会在本回合余下时间保持可用,无关插件的完整工具目录不会占用模型上下文。
安装插件
- **在聊天里:**对智能体说“安装 GitHub 插件”。它会找到插件,并在安装任何东西之前发一张卡片征求你的许可。
- **在应用里:**打开市场,点按插件旁边的 添加。插件会安装在市场顶部显示的 Runner 上;如果你有多台 Runner,可以在那里换一台。智能体检查器里的 从插件中添加… 会在这个智能体的 Runner 上打开市场,设置 › 插件 则在工具栏里选中的 Runner 上打开。
你可以从手机给任何 Runner 安装插件。请求会加密送到那台电脑。
登录
需要账号的插件会在聊天里发一张登录卡片:登录 或 以后再说。
- GitHub 会显示一个短代码和一个链接(在插件的面板里登录时,面板上也会显示)。在任何设备上到 github.com 输入代码即可。
- 其他服务会在 Runner 上的浏览器里打开登录页面。如果你在另一台设备上,卡片会告诉你到那边去完成。
有些插件也接受直接粘贴的令牌,没有浏览器的 Runner 也能用:GitHub 的个人访问令牌,或者 Airtable、Cloudflare、Fireflies、Neon、PostHog、Resend、Stripe、Supabase、Zapier 的 API 密钥或令牌。Context7 和 Exa 可以填一个 API 密钥来提高免费额度,Hugging Face 的令牌则让插件用你自己的账号。在插件的面板里填写。密钥字段只能写入:保存之后不会再显示。
插件可以做什么
读取类操作立即执行。任何会改动东西的操作,比如创建 issue、发表评论、删除页面,都要经过 自动审查,该问的时候会先问你。
管理插件
插件的面板会显示它的状态、登录、设置、你已经始终允许的操作(带 还原),以及 移除。市场里的插件会自动更新,并保留你的设置和登录状态。
你自己的 MCP 服务器
任何 MCP 服务器都可以当作插件:由 Runner 启动的命令,比如 npx -y @modelcontextprotocol/server-filesystem ~/Notes、uvx mcp-server-fetch 或 docker run;也可以是使用 streamable HTTP 的远程服务器的 URL。
设置 › 插件 会在 MCP 服务器 下列出工具栏里选中的 Runner 上的这些服务器。添加服务器… 需要一个名称,以及命令(和它的环境变量)或 URL(和它的请求头)。把服务器 README 中的 JSON,或 Claude Desktop、Cursor 的整个 mcpServers 配置块粘贴到任意一栏,表单就会读懂它;多个服务器会一次添加。保存之后,表单会显示服务器是否启动成功、提供了哪些工具,并提供 重新连接、关闭它的开关和 移除。关闭的服务器会保留设置和登录信息,但智能体看不到它。
需要账号的远程服务器会在 Beans 第一次连接时要求登录:服务器会显示 需要登录,在它的表单里或智能体发出的卡片上点 登录,就会像市场插件一样通过 OAuth 登录;在它的表单里点 退出登录 会忘掉这次登录。如果服务器接受令牌,可以把令牌放在请求头里,比如 Authorization: Bearer …。
这些服务器保存在 Beans 文件夹里的 mcp.json(~/.lorca/mcp.json),格式与 Claude Desktop、Cursor 和 Claude Code 相同,你可以从它们的配置里复制,也可以直接手动编辑。编辑之后,在 设置 › 插件 里它那一行点按 重新载入,或运行 lorca mcp reload:
{
"mcpServers": {
"notes": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/me/Notes"],
"description": "我的笔记文件夹"
},
"linear": {
"type": "http",
"url": "https://mcp.linear.app/mcp"
},
"context7": {
"type": "http",
"url": "https://mcp.context7.com/mcp",
"headers": { "CONTEXT7_API_KEY": "${CONTEXT7_API_KEY}" },
"disabled": true
}
}
}${VAR} 会读取你的 shell 环境中的变量,${VAR:-default} 在变量没有值时使用默认值;值没有设置的请求头或变量会被省略。description 告诉智能体这个服务器的用途,cwd 是命令启动时所在的文件夹,timeout 是一次调用最多可以多少秒没有回应(不设置时为十分钟),"oauth": false 让远程服务器不要登录。Beans 会保留它不认识的字段,也会保持你写的顺序。
想让智能体用不到服务器的某些工具,可以在服务器的表单里关掉它们旁边的开关,也可以像 pi 一样写在 toolExposure 里:{ "delete_*": "hidden", "delete_draft": "codemode" } 会隐藏名字以 delete_ 开头的所有工具,delete_draft 除外,因为写明的名字优先于模式。"exposure": "hidden" 会隐藏 toolExposure 没有写到的所有工具。
不支持即时注册应用的服务器,可以在 oauth 里使用你在它那里注册的应用:clientId、clientSecret(可以写成 ${SECRET}),以及注册时填写的 callbackPort 或 callbackUrl,这样的登录会在 Runner 自己的浏览器里打开。clientName 让 Beans 用另一个名字注册,用于只接受它认识的名字的服务器;scope 请求更多权限;服务器指错授权服务器时,authServerMetadataUrl 指向正确的那个。服务器回复某次调用需要比当前登录更多的权限时,会请你重新登录,一并授予这些权限。
智能体按服务器的名称调用它的工具,比如 notes__read_file。读取类工具立即执行,其余的和其他插件一样要经过自动审查。提供资源(比如文件或记录)的服务器还会多出列出和读取资源的工具 notes__list_mcp_resources 和 notes__read_mcp_resource;二进制资源会存成文件,智能体可以打开。命令行管理的也是同一个文件:lorca mcp add、list、get、remove、reload、sign-out,以及从其他应用 import。