部署公开的 SkillFlaw 服务
默认情况下,本地部署的 SkillFlaw 只能从运行它的机器或所在网络中访问。
如果你只是想临时共享、远程调试或做短时演示,可以借助 ngrok 或 zrok 之类的转发服务,把本地端口发布到公网。
本页讨论的是对现有部署做转发暴露,它并不是推荐的长期生产形态。若要稳定地对外提供公共访问,请使用真正的反向代理或入口层,例如 通过 Nginx 和 HTTPS 部署 SkillFlaw。
先确认你到底要暴露什么
SkillFlaw 并不是所有能力都走同一个统一公网端口。
请根据你要共享的能力选择对应上游:
| 本地上游 | 公网用途 |
|---|---|
http://localhost:7860 | 后端 API、/health、webhook、/api/v1/run/*、/api/v1/responses、/api/v1/mcp/streamable |
http://localhost:3001 | 前端 UI,以及 /playground/:id/ 这类可共享的 Playground 路由 |
http://localhost:3002 | 独立文档服务 |
如果你只需要 API 或 MCP 访问,发布后端即可。 如果你需要浏览器 UI 或公开的 Playground 页面,就发布前端。
前置条件
- 已经运行中的本地 SkillFlaw 部署
- 已在本地安装 ngrok、zrok 等转发工具
- 若转发工具需要登录,已准备好对应凭据
如果你还没有先把本地部署跑起来,可先阅读 用于部署的 SkillFlaw 安装说明。
暴露后端,供 API 与 MCP 访问
当你希望远程客户端直接访问后端时,使用这个模式。
-
确认后端正在
7860端口监听。 -
如转发工具需要认证,先完成认证。 例如 ngrok:
_10ngrok config add-authtoken NGROK_AUTHTOKEN -
发布后端端口。
_10ngrok http http://localhost:7860 -
记录生成的公网地址。
示例输出:
_10Forwarding https://example.ngrok-free.app -> http://localhost:7860 -
验证后端可达:
https://example.ngrok-free.app/healthhttps://example.ngrok-free.app/api/v1/mcp/streamable
使用公网后端发起 API 请求
让你的 API 客户端直接指向转发后的后端域名。
例如:
_10curl -X POST \_10 "https://example.ngrok-free.app/api/v1/webhook/FLOW_ID" \_10 -H "Content-Type: application/json" \_10 -H "x-api-key: YOUR_API_KEY" \_10 -d '{"data": "example-data"}'
使用公网后端供 MCP 客户端访问
对外开放的 MCP 流量仍然走同一个后端传输端点:
https://example.ngrok-free.app/api/v1/mcp/streamable
这也是你在 将 SkillFlaw 用作 MCP 服务器 中需要提供给客户端的地址。
暴露前端,供 UI 与 Playground 共享
如果别人需要通过浏览器访问 SkillFlaw UI,或者你要分享公开 Playground 页面,请使用这个模式。
-
确认前端正在
3001端口监听。 -
发布前端端口。
_10ngrok http http://localhost:3001 -
在浏览器中打开生成的公网地址。
-
如果你要分享 Playground 链接,请使用公网前端域名配合 UI 已经使用的路由格式:
https://example.ngrok-free.app/playground/FLOW_ID/
暴露独立文档服务
如果你把文档作为独立本地服务运行,则应转发 3002 端口:
_10ngrok http http://localhost:3002
安全注意事项
转发工具可以让本地服务非常快地暴露到公网,这很方便,但也意味着风险会同步被暴露出去。
- 不要假设生成的公网地址是私密的。
- 对任何公开暴露的后端,都要保留 API 认证。
- 对外暴露的 MCP 端点要按公开 API 面对。
- 演示和调试场景优先使用短生命周期的转发会话。
- 如果需要长期稳定公网访问,请迁移到 Nginx 与 HTTPS 或其他可控入口层。