首页
/ Reflex Build 应用分享(Share App)完整指南:只读预览链接、可见性控制与生产部署的边界

Reflex Build 应用分享(Share App)完整指南:只读预览链接、可见性控制与生产部署的边界

2026-09-09 10:42:42作者:殷蕙予

在 Reflex Build 的 AI 应用构建工作流中,Share(分享) 是应用生命周期中一个轻量而关键的环节:它生成一条指向应用某次生成(generation)只读视图的链接,用于在正式部署前收集反馈与开展演示。本指南以 docs/ai_builder/app_lifecycle/share_app.md 为主线,结合 Reflex 平台的可见性设置、项目权限体系与部署/复制/下载/Fork 等相邻工作流,完整讲解"何时分享、如何分享、分享后接收者能做什么、何时应该改用部署",帮助你在团队协作与对外演示中正确使用分享能力,同时避免密钥泄露与越权访问。

Share 的定位:生成级只读预览,而非生产入口

Reflex Build 中,每个应用都由 AI Agent 基于提示词持续迭代生成。Share 动作创建的链接,指向的是应用某一次生成的只读视图,它的核心用途有两个:

  • 反馈收集:把当前生成结果发给评审人,让他们查看并交互,再据此给出修改意见;
  • 演示:在应用尚未达到生产部署标准时,向利益相关方展示进展。

它与 Deploy App(部署)有本质区别:部署会把当前应用发布到 Reflex Cloud 或所连接的云厂商,获得生产 URL 与生产级配置;而分享只提供一个预览入口,不涉及生产环境、域名、机器规格或环境变量。正如原文档所强调的:当需要生产 URL 和生产配置时,请改用部署(deployment)

理解这一点后,可以把 Share 放在整个应用生命周期中看待:Reflex Build 生成的是一份标准 Reflex 项目源码(参见 What Is Reflex Build),你可以对它进行 下载复制Fork部署 或分享——它们各自服务于不同的协作与发布场景。

分享前置条件:先确认 App Visibility

Share 动作只对公共(Public)应用可用。 因此在点击分享之前,必须先检查应用的可见性设置。

打开应用的更多菜单(more menu),选择 Settings,在设置页中查看 App Visibility(应用可见性)。Reflex 提供两种可见性(参见 General App Settings):

可见性 含义 分享能力
Public(公共) 应用可以通过只读链接被分享 ✅ 支持 Share
Private(私有) 仅限拥有项目访问权限的人打开 ❌ 不支持 Share

私有应用的访问边界由项目权限体系控制:组织管理员可打开所有项目;团队成员继承团队被授予的项目角色;经理和普通成员只有被显式加入项目后才能访问(详见 Managing Project Access)。因此,私有应用天然停留在"项目内可见"的状态,无法对外生成分享链接。

把应用从 Private 切换为 Public 之前,请先完成下面一节的安全检查。

分享前的安全检查:密钥、个人数据与未完成内容

原文档明确要求:在改变应用可见性之前,先审查应用中是否包含密钥(secrets)、个人数据(personal data)以及未完成的内容(unfinished content)。

这一要求与 Reflex 平台的秘密管理实践一脉相承:

  • Reflex 建议将凭据存放在 Secrets 或集成(Integrations)中,而不是写在提示词或源码里(参见 What Is Reflex Build 中的集成与安全说明);
  • 下载源码导出时,Secrets 与集成凭据不属于可移植的源码导出内容,需要在目标环境单独配置(参见 Download App);
  • 项目中的 Secrets 值默认只有项目 Admin 角色可以查看(参见 Roles & Permissions)。

分享链接将把应用的只读视图暴露给链接持有者,其暴露面大于项目内的正常协作。因此,切到 Public 前应逐项确认:

  1. 应用中没有硬编码的 API Key、访问令牌或数据库连接串;
  2. 没有真实用户邮箱、手机号、地址等个人数据,或已替换为示例数据;
  3. 没有正在编辑的半成品页面、明显的 TODO 占位或调试输出;
  4. 数据与行为符合"只读对外可见"的预期,而非内部操作入口。

如果你不确定应用当前状态,可先用 Security Scanner 在项目侧边栏运行检查(reflex cloud scan),它会扫描依赖风险、暴露的密钥与 Reflex 特定安全问题,再决定是否公开可见性。

分享一个 Public 应用:三步操作

当应用已是 Public 且通过安全审查后,分享操作本身非常简洁:

  1. 打开 Deploy 旁边的菜单:在应用界面的右上角区域,找到 Deploy(部署)按钮旁的下拉菜单;
  2. 选择 Share:从菜单中选择 Share 动作;
  3. 复制生成的链接:复制分享链接,发送给预期的评审人(intended reviewers)。

整个流程不涉及域名、机器规格或部署配置——它只是生成一条只读预览链接。这一点与部署流程形成鲜明对比:部署时你需要在对话框中检查工作区资源配额、应用名称与生成主机名、托管提供商、区域与机器规格、应用 Secrets 与环境变量,甚至可能触发部署审批(详见 Deploy AppProject Approvals)。

接收者的能力边界:可查看、可交互、不可编辑

分享链接的接收者拥有一个明确限定的权限集:

  • 可以查看:看到应用当前生成的只读视图;
  • 可以交互:与预览中的应用进行交互(例如填写表单、触发事件等前端交互);
  • 不可以编辑:无法修改源码应用(source app)。

从源码结构看,Reflex 应用的前端交互最终通过事件(event)处理机制驱动后端状态变更(核心实现在 reflex/event.pyreflex/state.py 中),但分享链接的接收者没有 Builder 中的源码编辑能力,也没有项目内 Editor 角色所拥有的"创建/编辑应用"权限(参见 Roles & Permissions 中项目角色能力对比表)。这意味着分享是一种"展示型"而非"协作编辑型"的协作方式——需要多人共同修改应用时,应使用项目内的成员/团队访问控制,而不是分享链接。

Share 与相邻工作流的边界:何时用哪个

分享、部署、复制、Fork、下载在 Reflex Build 中容易混淆,它们的适用场景可以这样区分:

动作 产出 适用场景 权限要求
Share(分享) 只读预览链接 生产部署前的反馈收集与演示 应用需为 Public
Deploy(部署) 生产 URL 与生产配置 需要正式发布、域名与生产环境 项目内 Editor/Admin 及审批策略
Copy(复制) 独立的新应用副本 尝试重大改动而不影响原应用,或复用起点(详见 Copy App 拥有源应用
Fork(Fork) 从他人公共应用/模板创建独立应用 基于他人可见的公共应用或模板起步(详见 Fork App 取决于你的套餐与源应用可见性
Download(下载) 一次性源码导出归档 本地开发或自托管(详见 Download App 项目内相应角色

关键决策原则:

  • 只想让人看看并给反馈Share
  • 需要生产 URL 和生产配置Deploy
  • 需要基于现有应用独立演进(属于自己的应用)→ Copy
  • 需要基于他人公共应用或模板起步 → Fork
  • 需要把源码带到本地或其他环境继续开发 → Download

分享与其他公开渠道的关系:模板与 Fork 的可见性

理解 Share 的只读边界后,还应留意 Reflex 中"公开"的另外两个形态,避免混淆:

  • Template(模板):应用可以被保存为项目级或组织级的模板,供团队成员在 Builder 的 Templates 页中作为起点使用(详见 Templates)。模板面向"复用起点",分享则面向"查看当前生成结果";
  • Fork:他人的 Public 应用可以被 Fork 成你自己的独立应用。这意味着公开应用不仅可被"看",还可能被他人 Fork——这也进一步说明分享/公开之前做安全审查的重要性:一旦可见性为 Public,代码与数据就超出了项目访问控制的保护范围。

Fork App 可知,你的套餐可能限制 Fork 非模板的公共应用;如果 Fork 不可用,应检查应用可见性与套餐限制。这些机制共同构成 Reflex Build 中"公开可见"的完整图景。

最佳实践总结

结合原文档与 Reflex 平台的访问控制设计,推荐以下实践:

  1. 保持 Private 优先:默认让应用保持 Private,仅在需要对外演示或收集反馈时临时切换为 Public,完成后可考虑改回;
  2. 分享前执行安全清单:检查 Secrets、个人数据、未完成内容,必要时运行 reflex cloud scan(见 Security Scanner);
  3. 把凭据放在 Secrets,而非源码:这样即使应用被分享或被 Fork,也不至于连带泄露凭据;
  4. 明确区分分享与部署:分享链接不能替代生产部署;需要生产 URL、生产配置、日志与回滚能力时,走 Deploy App 流程;
  5. 团队协作使用项目权限:需要多人编辑时,通过 Managing Project Access 添加成员并分配 Viewer/Editor/Admin 角色,而不是依赖分享链接。

小结

Share 是 Reflex Build 应用生命周期中"对外展示"的最小闭环:前置条件是 Public 可见性,核心操作是三步生成只读链接,能力边界是"可查看、可交互、不可编辑",而生产发布则必须交给 Deploy。掌握好 Share 与 Deploy、Copy、Fork、Download 的边界,并严格执行分享前的安全审查,就能让分享成为高效的反馈与演示工具,而不是敏感信息外泄的入口。

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
kernelkernel
deepin linux kernel
C
33
18
ops-transformerops-transformer
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
1.14 K
2.76 K
pytorchpytorch
作为 Ascend for PyTorch 社区的核心组件,TorchNPU 是昇腾专为 PyTorch 打造的深度学习适配插件,使 PyTorch 框架能够直接调用昇腾 NPU,为开发者提供昇腾 AI 处理器的超强算力。
Python
860
1.35 K
docsdocs
暂无描述
Markdown
899
5.83 K
ops-nnops-nn
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
925
1.85 K
jiuwenswarmjiuwenswarm
JiuwenSwarm 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。
Python
3.84 K
1.02 K
kernelkernel
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
533
601
cann-learning-hubcann-learning-hub
CANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。
Jupyter Notebook
1.03 K
525
ops-mathops-math
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.37 K
1.46 K
AscendNPU-IRAscendNPU-IR
AscendNPU-IR是基于MLIR(Multi-Level Intermediate Representation)构建的,面向昇腾亲和算子编译时使用的中间表示,提供昇腾完备表达能力,通过编译优化提升昇腾AI处理器计算效率,支持通过生态框架使能昇腾AI处理器与深度调优
C++
548
395