news 2026/9/16 20:46:45

Refly v0.7.1 解析:MCP Store 五大平台一键接入与 Skill 调用后台执行

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Refly v0.7.1 解析:MCP Store 五大平台一键接入与 Skill 调用后台执行

Refly v0.7.1 解析:MCP Store 五大平台一键接入与 Skill 调用后台执行

【免费下载链接】reflyThe first open-source agent skills builder. Define skills by vibe workflow, run on Claude Code, Cursor, Codex & more. Build Clawdbot 🦞· APIs for Lovable · Bots for Slack & Lark/Feishu · Skills are infrastructure, not prompts.项目地址: https://gitcode.com/GitHub_Trending/re/refly

Refly v0.7.1 的核心主题是MCP Store:用户只需配置对应平台的 API Key,即可一键接入 GitHub、Firecrawl、DeepWiki、Gitee、Zapier 五个远端 MCP Server,无需手写连接地址与鉴权头;同时该版本为Skill Invocation 引入后台执行能力,调用发起后即使关闭浏览器,任务仍在服务端继续运行。读完本文,你可以掌握 MCP Store 的目录结构与分发机制、API Key 的三种注入方式、MCP Server 的完整生命周期 API,以及后台执行能力对 Skill 工作流的影响。

以下内容基于仓库中的发布说明 v0.7.1.md、目录配置 mcp-catalog.json 与apps/apipackages/ai-workspace-common中的对应源码整理。

版本亮点总览

v0.7.1 的发布说明(Highlights)概括了三大改动:

  1. MCP Store 上线:支持快捷添加 MCP Server,首发包含 GitHub、Firecrawl、DeepWiki、Gitee、Zapier 五款服务,只需配置各平台的 API Key 即可连接使用;
  2. Skill Invocation 支持后台执行:可以关闭浏览器,技能调用继续在后台运行,随时回来查看结果;
  3. 稳定性与体验修复:多项 Bug 修复与优化(详见文末「缺陷修复与体验优化」小节)。

MCP Store:首批 5 款 MCP Server 一览

MCP Store 的目录内容定义在仓库根目录的 config/mcp-catalog.json。每个条目包含名称、中英文描述、连接类型(type)、连接地址(url)、鉴权方式(authorization)与外部文档链接。首批 5 款服务的实际配置如下:

服务连接类型地址鉴权方式用途
GitHubstreamablehttps://api.githubcopilot.com/mcp/API Key 置于Authorization: Bearer访问 GitHub API:文件操作、仓库管理、搜索等
Firecrawlssehttps://mcp.firecrawl.dev/${API_KEY}/sseAPI Key 直接写入 URL将 URL 爬取并转换为干净的 Markdown
DeepWikissehttps://mcp.deepwiki.com/sse无需鉴权与任意仓库的最新文档对话
Giteestreamablehttps://api.gitee.com/mcpAPI Key 置于Authorization: Bearer基于 Git 的代码托管与协作平台
Zapierssehttps://actions.zapier.com/mcp/${API_KEY}/sseAPI Key 直接写入 URL连接应用并自动化工作流

从源码结构看,这里体现了 MCP 的两种远端传输形态:streamable(Streamable HTTP)与sse(Server-Sent Events)。二者在 Refly 服务端均属于 URL 型服务器(区别于本地stdio进程型服务器),这也决定了它们的必填字段是url

只需配置 API Key:三种鉴权注入方式

发布说明强调 "Simply configure the API Key for the respective platform to connect"。这一「只填一个 Key」体验的实现在前端 utils.ts 的applyCommunityMcpApiKey函数中:它根据目录条目里authorization[].apiKeyIn字段的取值,将用户填写的 Key 自动注入到连接配置的不同位置:

  • url:把 URL 中的${API_KEY}占位符替换为真实 Key(Firecrawl、Zapier 采用这种方式,见目录配置);
  • authorizationBearer:追加Authorization: Bearer <key>请求头(GitHub、Gitee 采用这种方式);
  • headers:写入自定义请求头,头名取paramName,缺省为X-API-Key

对应的类型定义在 types.ts:

export interface CommunityMcpAuthorization { type: 'apiKey'; apiKeyIn: 'url' | 'authorizationBearer' | 'headers'; paramName?: string; // For headers type }

同时,requiresApiKey工具函数通过检查authorization数组判断某个目录条目是否需要 Key——这正是 DeepWiki 无需任何 Key 即可直连的原因:它的authorization数组为空。当需要配置 Key 时,界面会弹出 CommunityMcpApiKeyModal.tsx 提供的 Key 配置弹窗,并根据apiKeyIn类型展示对应的鉴权说明文案(URL 参数 / Bearer Token / 自定义 Header)。

目录的分发链路:从仓库文件到前端商店

MCP Store 的目录并非硬编码在前端,而是一条「仓库文件 → 对象存储 → 静态 URL」的分发链路:

  1. 源头:目录文件维护在仓库的 config/mcp-catalog.json;
  2. 发布:scripts/upload-config.js 通过 MinIO 客户端把该文件上传到对象存储的mcp-config/mcp-catalog.json路径(同脚本还会上传provider-catalog.json);
  3. 拉取:前端 mcp-community.ts 中的fetchCommunityMcpConfigshttps://static.refly.ai/mcp-config/mcp-catalog.json获取目录,并校验响应必须包含servers数组,同时返回versionlastUpdated元数据;
  4. 可用性探测:同文件还提供checkCommunityMcpApiHealth,用HEAD请求检测目录 API 是否可达,用于界面上区分「商店不可用」与「目录为空」两种状态。

这条链路意味着新增或下线一个 Store 服务只需更新目录 JSON 并重新发布,前端无需发版。

安装后的生命周期:MCP Server 管理 API

从 Store「安装」一款服务,本质上是调用后端 MCP Server 的创建接口,把它落库为当前用户的一条服务器配置。相关实现在 mcp-server.controller.ts 与 mcp-server.service.ts,路由前缀为v1/mcp-server,全部需要 JWT 鉴权:

接口方法说明
/v1/mcp-server/listGET列出当前用户的服务器(支持typeenabled过滤),并合并全局(isGlobal)服务器
/v1/mcp-server/createPOST创建服务器;同名已软删的记录会被恢复复用
/v1/mcp-server/updatePOST更新配置;全局服务器不可被更新
/v1/mcp-server/deletePOST软删除(写入deletedAt);全局服务器不可被删除
/v1/mcp-server/validatePOST真实建立一次连接验证配置是否可用

几个值得注意的实现细节:

  • 敏感信息加密落库headersenv两个字段在写入前经EncryptionService加密(encryptServerConfig),读取时再解密(decryptServerConfig),保证 API Key 等凭据不以明文形式保存在数据库中;
  • Web 端限制 stdiocreateMcpServer会显式拒绝type === 'stdio'的请求,提示 Web 界面仅支持 URL 型(sse/streamable)服务器——这也解释了 Store 目录中全部为远端服务的选型;
  • 连接验证有超时保护testMcpConnection使用MultiServerMCPClient(来自@refly/skill-template包)初始化真实连接,默认 15 秒超时(Promise.race),并进一步要求服务器至少返回一个 tool,否则判定为「No tools found for this MCP server」;
  • 列表排序策略listMcpServers按「已启用优先 → 最近更新优先 → 名称升序」排序,便于用户在工具列表中快速定位常用服务器。

validate接口的存在与 Store 场景直接相关:填入 Key 后即可先验证连通性,再决定保存,避免把配置错误的服务器带入 Skill 执行链路。

Skill Invocation 的后台执行

v0.7.1 的另一项核心能力是Skill 调用支持后台执行:发起技能调用后可以关闭浏览器,调用仍在后台继续运行,用户可随时返回查看结果(发布说明原文:"You can now close your browser, and the skill invocation will continue to run in the background.")。

这项能力改变了 Skill 工作流的使用边界:耗时长、多步骤的编排型任务不再受浏览器页面生命周期约束——例如触发一次需要多次工具调用与模型推理的复杂 Skill 后离开,回来后在运行历史中查看最终产物即可。该行为属于本次版本新引入的能力,仓库中的 Skill 相关实现集中在 apps/api/src/modules/skill 模块,可结合该目录源码进一步了解调用与结果回传的机制。

缺陷修复与体验优化

发布说明「System Optimizations & Bug Fixes」小节列出的修复与优化完整继承如下:

性能与稳定性

  • 修复共享(shared)代码组件中超链接不可点击的问题;
  • 修复某些场景下复制代码组件时报错的问题;
  • 修复已选中 MCP 数量显示不正确的问题;
  • 修复编辑器偶发崩溃的问题。

用户体验

  • 改进了 Skill 调用失败时的错误信息展示;
  • 优化了暗色模式下的 Markdown 样式。

其中「已选中 MCP 数量显示错误」与「Skill 调用失败错误信息」两项修复,恰好落在 MCP Store 与后台执行两大新功能所影响的界面上,可以理解为新功能配套的体验打磨。

小结与延伸阅读

v0.7.1 把「连接外部 MCP 服务」这件事从手动填写地址、鉴权头简化为:在 Store 中选择服务 → 填入 API Key(或免 Key)→ 验证 → 使用。实现上它由三层支撑:

  • 目录层:config/mcp-catalog.json 定义服务清单,经 scripts/upload-config.js 分发到静态端点;
  • 前端层:mcp-community.ts 拉取目录,utils.ts 按apiKeyIn自动注入 Key;
  • 服务端层:mcp-server.service.ts 负责加密落库、连接验证与软删除等完整生命周期管理。

如需继续深入,建议依次查看:MCP 客户端封装(@refly/skill-template包中的MultiServerMCPClientcreateMcpClientConfig)、数据库模型(apps/api/prisma/schema.prisma 中的McpServer表)以及中文发布说明 docs/zh/changelog/v0.7.1.md。

【免费下载链接】reflyThe first open-source agent skills builder. Define skills by vibe workflow, run on Claude Code, Cursor, Codex & more. Build Clawdbot 🦞· APIs for Lovable · Bots for Slack & Lark/Feishu · Skills are infrastructure, not prompts.项目地址: https://gitcode.com/GitHub_Trending/re/refly

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/16 20:46:17

OpenCV图像去畸变实战:从相机标定到参数调优全流程

做机器视觉项目的朋友&#xff0c;肯定都遇到过这种场景&#xff1a;相机标定做完&#xff0c;用广角镜头一拍&#xff0c;画面边缘的直线全变成了弧线&#xff0c;测量软件报出来的坐标偏得离谱。我在一个工业测量项目里就被这个坑过&#xff0c;后来花了一整周研究OpenCV图像…

作者头像 李华
网站建设 2026/9/16 20:46:08

SpringBoot智慧校园平台开发实战与架构设计

1. 项目概述与背景分析安龙四中智慧校园信息服务平台是一个基于SpringBoot框架开发的综合性校园数字化解决方案。这个项目源于当前教育信息化2.0行动计划的大背景&#xff0c;旨在通过技术手段解决传统校园管理中存在的效率低下、信息孤岛等问题。我在实际开发中发现&#xff0…

作者头像 李华
网站建设 2026/9/16 20:44:19

UFO Galaxy TaskStarLine 深度解析:用智能依赖边编织任务星座 DAG

UFO Galaxy TaskStarLine 深度解析&#xff1a;用智能依赖边编织任务星座 DAG 【免费下载链接】UFO UFO: Weaving the Digital Agent Galaxy 项目地址: https://gitcode.com/GitHub_Trending/uf/UFO 本篇技术指南围绕 UFO 项目 Galaxy 框架中的核心组件 TaskStarLine 展…

作者头像 李华
网站建设 2026/9/16 20:44:11

TVBOX 2026版:无广告4K影音系统技术解析

1. 项目背景与需求解析最近在折腾家庭影音系统时&#xff0c;发现一个挺有意思的现象&#xff1a;越来越多用户开始追求自主可控的影视资源解决方案。传统视频平台会员费水涨船高不说&#xff0c;最让人头疼的是无处不在的广告和突如其来的卡顿。这不&#xff0c;最近接触到一套…

作者头像 李华
网站建设 2026/9/16 20:43:46

SSM+Vue校园二手交易平台毕业设计实战指南

简介&#xff1a;这是一套完整的校园二手交易平台微信小程序毕业设计源码&#xff0c;面向计算机专业本科生及Java全栈初学者&#xff0c;解决高校学生闲置物品线上流转难、交易信息不对称等实际问题。系统采用SSM框架开发后端&#xff0c;前端基于微信原生小程序技术栈&#x…

作者头像 李华