命令列工具
reflex-dev/reflex avatar
reflex-dev/reflex

Reflex 0.9.9:纯 Python 全栈與 uv run reflex run

純 Python 中的 Web 應用程式。簡介 Reflex 是一個用純 Python 建立全端 Web 應用程式的函式庫。

28,885 個 Star1,778 個 ForkPythonApache-2.0

秒懂

它是什麼?
reflex-dev/reflex 用 Python 寫前後端,推荐 uv 初始化項目,`reflex init` 後 `reflex run` 在 localhost:3000 热重载,Apache-2.0 并配套 AI Builder 與 Hosting。
適合誰用?
适合希望用 Python 統一 UI 與後端、可接受 Reflex 编譯链的团队;不适合必须精細控制 React 生態或已有 Next.js 资產的項目。驗證时在 venv 内 `uv add reflex && uv run reflex init && uv run reflex run`,浏览器打開 http://localhost:3000,改 my_app_name/my_app_name.py 观察热重载;部署前讀 reflex.dev/hosting 與 v0.9.9 release,确认 openai SDK 版本與 API key 配置。
可以商用嗎?
可以。Apache-2.0 是寬鬆授權:你可以使用、修改並販售以它為基礎的軟體,只需保留著作權與授權聲明。
還在維護嗎?
有在維護。儲存庫在最近一天內有新的提交。
用什麼語言寫的?
主要是 Python(依據 GitHub 的語言統計)。

以上回答依據專案的 GitHub 資料(最近同步於 2026年9月15日)與我們的分析,不構成法律意見。

開源專案深度解析

Pure Python 全栈定位

README Introduction 段:Reflex 是用纯 Python 構建 full-stack web app 的庫,前端與後端都寫 Python,无需学 JavaScript。Key features 强调 Pure Python 與 Full Flexibility(易上手也可扩展复杂 app)。架構说明在 reflex.dev/blog/2024-03-21-reflex-architecture。

這與 Streamlit/Dash 的单向脚本模式不同:Reflex 用組件化 UI + State 類管理交互,底层编譯到 web 前端。Apache-2.0 許可證,star 28857、fork 1773,default 分支 main,最近 push 2026-08-28,release v0.9.9 同日發布。0.9.x 仍属 rapid iteration,生產 pin 精确版本并讀 CHANGELOG。

reflex-dev/reflex 的 uv run reflex init 会在 my_app_name/ 生成默认頁面;改 my_app_name.py 後 localhost:3000 應热重载。若 generate 示例调用 openai images API,需在 .env 配置 OPENAI_API_KEY 并 pin openai 包版本;reflex 0.9.9 release note 應查是否變更 rx.State 或编譯器选項。

README 推荐 uv 因 reflex CLI 依赖解析复杂;pip install reflex 在部分平台需额外 node toolchain。reflex.dev/docs/getting-started/introduction 补充 uv 以外路径。圖像示例 model gpt-image-1.5 需 OpenAI API 權限;无 key 时仍可測 reflex run 默认 counter UI。Hosting 與 OSS 版本 skew 时 compile 錯誤常见;pin reflex==0.9.9 在 pyproject.toml 或 uv.lock。architecture 頁解释 frontend backend 同進程通信,利于 debug 但限制水平扩展模式。

补充核对:对照 reflex/dev/reflex 與 release tag 记錄命令輸出、配置文件路径與版本号,在隔离環境重跑最小示例後再决定是否纳入生產依赖链。

Reflex 0.9.9 用 uv run reflex run 启動;localhost:3000 驗證 HMR。 (段落1专用核对項。)

uv 安装與 reflex init/run

README 强烈建议 virtual environment,确保 reflex CLI 在 PATH。创建項目:mkdir my_app_name;cd my_app_name;uv init;uv add reflex;uv run reflex init;uv run reflex run。浏览器访问 http://localhost:3000。源码默认在 my_app_name/my_app_name.py,保存即 fast refresh。

未使用 uv 的用户可能用 pip install reflex,但官方示例以 uv 為主,CI 應固定一种包管理器。openIssues 335,升級 0.9.x 前查 release 是否改動 CLI 或 breaking API;CLI 找不到命令时检查 venv 激活與 uv run 前缀是否一致。

uv init、uv add reflex、uv run reflex init、uv run reflex run;默认頁 localhost:3000。源码 my_app_name/my_app_name.py 保存即 fast refresh;venv 确保 reflex 在 PATH。

README 推荐 uv 因 reflex CLI 依赖解析复杂;pip install reflex 在部分平台需额外 node toolchain。reflex.dev/docs/getting-started/introduction 补充 uv 以外路径。圖像示例 model gpt-image-1.5 需 OpenAI API 權限;无 key 时仍可測 reflex run 默认 counter UI。

Reflex 0.9.9 用 uv run reflex run 启動;localhost:3000 驗證 HMR。 (段落2专用核对項。)

State、rx.event 與 OpenAI 圖像示例

Example App 展示圖像生成:class State(rx.State) 含 prompt、image_url、processing 字段;@rx.event def set_prompt 與 async def generate 调 openai AsyncOpenAI client.images.generate(model="gpt-image-1.5"),結果寫 base64 data URL。UI 侧 def index() 绑定組件(README 片段截断)。

该示例说明 Reflex 原生支持 async event handler 與 yield 中间状態(processing True/False)。采用前需确认 openai SDK 版本與 OPENAI_API_KEY 環境變量;README 未展開 secrets 管理,生產應接 reflex.dev/hosting 或自建 reverse proxy,避免把 key 寫進 my_app_name.py。

State(rx.State) 與 @rx.event;generate 调 openai AsyncOpenAI images.generate model gpt-image-1.5。processing 字段與 yield 中间状態;OPENAI_API_KEY 勿寫入源码。

reflex 0.9.9a2 alpha 與 stable 0.9.9 间隔短,生產避免 alpha。my_app_name.py 改 State 字段後 frontend 自動重编譯;大 state 可能增 compile 时间。openai AsyncOpenAI 需 asyncio 事件循環;Reflex 文档 ai 章节列其他 provider。Apache-2.0 允許 commercial use;Hosting 條款单独。

Reflex 0.9.9 用 uv run reflex run 启動;localhost:3000 驗證 HMR。 (段落3专用核对項。)

AI Builder、Agent Toolkit 與 Hosting

README NOTE 框列出生態:build.reflex.dev AI Builder 秒級生成 Reflex app;Agent Toolkit 連接 MCP 與 Skills 到 coding assistant;reflex.dev/hosting 部署與管理。這些是厂商產品层,與 OSS reflex 庫互补但不等价于自托管 SLA。

选型时区分:本地 reflex run 适合開發;Hosting 处理 HTTPS、scaling 與 build pipeline。Agent Toolkit 对已在 Cursor 内用 MCP 的团队有吸引力,但依赖 Reflex 云侧能力,應讀 docs/ai/integrations/agent-toolkit/ 權限範围,不能把 OSS repo star 數当成 Hosting 可用性證明。

Reflex 0.9.9 用 uv run reflex run 启動;localhost:3000 驗證 HMR。 (段落4专用核对項。)

v0.9.9 预發布节奏

GitHub Releases 显示 v0.9.9(2026-08-28) preceded by v0.9.9a2、v0.9.9a1 同周 alpha,说明 0.9.9 经過多轮预發布。homepage reflex.dev 聚合文档、Discord、PyPI badge。

contributors graph 在 README 底部,核心维护 reflex-dev org;issue 中 installation 與 Windows/WSL 问题常见,目標部署 OS 應在 issue 里先搜。fast refresh 開發體驗類似現代前端工具链,但 debug 有时需讀生成產物或 Reflex 日志;architecture 博文解释 Python 到 compile 到 frontend 數據流。

0.9.x rapid iteration;issue 常见 Windows WSL 安装。contributors graph 在 README;debug 有时需看编譯產物日志。

uv run reflex run 日志显示 compile 與 frontend url;Ctrl+C 停止後端口释放。reflex init 询问 template;选 blank 最小。State 方法名 set_prompt 对應 UI on_change;processing bool 驱動 spinner。v0.9.9 release GitHub 頁列 contributor 與 asset;对比 0.9.9a2 diff 查 breaking。

Reflex 0.9.9 用 uv run reflex run 启動;localhost:3000 驗證 HMR。 (段落5专用核对項。)

與 React/Next 栈的边界

Reflex 抽象了 JSX/DOM,高級定制(复杂 animation、第三方 React 庫)可能受编譯器支持列表限制,需查 docs 是否允許 custom component 或 wrap React。Pure Python 卖点对 data science 团队友好,但对已有 design system 的 frontend 团队可能是遷移成本。

Example 使用 openai 圖像 API,说明 Reflex 适合快速原型;長期產品應评估编譯產物體积、SEO 與边缘部署选項。README 推荐 virtual environment 也是為避免 reflex 命令與系統 Python 包冲突,這在多項目 CI runner 上尤其重要。

高級 animation 或第三方 React 可能受限;data science 团队友好,已有 Next design system 遷移成本高。Example 适合原型,長期需评 bundle 與 SEO。

Reflex 0.9.9 用 uv run reflex run 启動;localhost:3000 驗證 HMR。 (段落6专用核对項。)

uv run reflex run 端到端試跑

新目錄执行 README 五行命令至 uv run reflex run,确认 localhost:3000 加载默认頁。编辑 my_app_name/my_app_name.py 改 UI 文本,保存看是否热重载。

若試 OpenAI 示例,export OPENAI_API_KEY 後粘贴 State/generate 代码,点击触發 generate 观察 processing 状態與 image_url。部署試驗讀 reflex.dev/hosting 或本地 reflex export(以当前文档為准),并在 uv.lock pin reflex==0.9.9。记錄 Node/ Bun 等前端 toolchain 版本若文档要求,便于复現 build 失败。

uv run reflex run 後改 my_app_name.py 測热重载;OpenAI 示例需 .env key。uv.lock pin reflex==0.9.9;部署讀 reflex.dev/hosting 與 v0.9.9 release note。

Reflex 0.9.9 用 uv run reflex run 启動;localhost:3000 驗證 HMR。 (段落7专用核对項。)

reflex export 與 Hosting 部署边界

本地 reflex run 仅适合開發;reflex.dev/hosting 文档描述云端 build 與 deploy 流程,與 pip/uv 安装的 OSS 包版本應对齐 v0.9.9。若不用 Hosting,需自行配置 reverse proxy、HTTPS 與静態资源缓存,README 未提供 nginx 示例。AI Builder(build.reflex.dev)生成代码與 hand-written my_app_name.py 結構可能不同,合并前應在 git branch 隔离試驗。Agent Toolkit 連接 MCP 时讀 docs/ai/integrations/agent-toolkit/ 的 permission 列表,避免把 production database credential 暴露给 dev assistant。升級 0.9.9 前在 staging 跑全量 reflex run 與現有 rx.State 測試。

reflex init 生成的 rxconfig 或項目配置文件(以当前 0.9.9 文档為准)控制 frontend port 與 backend;若 3000 端口占用需改 config 或環境變量。State 類字段類型註解影响 generated frontend;async generate 示例中 yield 用于 UI 显示 loading。PyPI reflex 包版本與 GitHub v0.9.9 tag 應对齐;pip 與 uv 混用可能导致 lock 不一致。Discord T5WSbC2YtQ 為社区支持,installation 报錯應先搜 issue 加 reflex 版本号。

Reflex 0.9.9 用 uv run reflex run 启動;localhost:3000 驗證 HMR。 (段落8专用核对項。)

Reflex 的實際判斷要對照其 Python 專案入口、元件定義與啟動命令。先建立一個只包含單一頁面和互動狀態的範例,觀察瀏覽器端輸出、伺服器錯誤與重新整理後的狀態;README 未承諾的部署規模和第三方服務行為,應保留為未說明。

第1項核驗針對 Reflex 0.9.9:纯 Python 全栈與 uv run reflex run 的文件邊界:把 README 中的安裝入口、命令、設定鍵與輸出格式對應到實際執行結果。針對 reflex-dev-reflex-deep-analysis,應保留原始輸入、執行環境、終端輸出、錯誤路徑和產生檔案;若流程依賴網路、模型、資料庫或作業系統權限,還要記下依賴失效時的具體反應。這些紀錄能分辨是輸入格式不符、設定未載入、外部服務失敗,還是專案本身的處理限制。

第2項核驗針對 Reflex 0.9.9:纯 Python 全栈與 uv run reflex run 的文件邊界:把 README 中的安裝入口、命令、設定鍵與輸出格式對應到實際執行結果。針對 reflex-dev-reflex-deep-analysis,應保留原始輸入、執行環境、終端輸出、錯誤路徑和產生檔案;若流程依賴網路、模型、資料庫或作業系統權限,還要記下依賴失效時的具體反應。這些紀錄能分辨是輸入格式不符、設定未載入、外部服務失敗,還是專案本身的處理限制。

第3項核驗針對 Reflex 0.9.9:纯 Python 全栈與 uv run reflex run 的文件邊界:把 README 中的安裝入口、命令、設定鍵與輸出格式對應到實際執行結果。針對 reflex-dev-reflex-deep-analysis,應保留原始輸入、執行環境、終端輸出、錯誤路徑和產生檔案;若流程依賴網路、模型、資料庫或作業系統權限,還要記下依賴失效時的具體反應。這些紀錄能分辨是輸入格式不符、設定未載入、外部服務失敗,還是專案本身的處理限制。

編輯結論

适合希望用 Python 統一 UI 與後端、可接受 Reflex 编譯链的团队;不适合必须精細控制 React 生態或已有 Next.js 资產的項目。驗證时在 venv 内 `uv add reflex && uv run reflex init && uv run reflex run`,浏览器打開 http://localhost:3000,改 my_app_name/my_app_name.py 观察热重载;部署前讀 reflex.dev/hosting 與 v0.9.9 release,确认 openai SDK 版本與 API key 配置。

官方來源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
社群筆記

社群筆記