Refly v0.2.3 更新解析:产品引导向导、会话制计费与知识库体验升级的实现细节

发布时间:2026/11/11 21:33:36

Refly v0.2.3 更新解析:产品引导向导、会话制计费与知识库体验升级的实现细节 Refly v0.2.3 更新解析产品引导向导、会话制计费与知识库体验升级的实现细节【免费下载链接】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.2.3 更新日志系统梳理该版本的核心变更全新产品初始化设置向导、由 Token/存储容量制转向“会话次数 文件数量”的计费方案、知识库文档与资源预览、节点级永久删除能力以及五项核心问题修复。读完本文你可以理解每一项功能在前端触发链与后端服务层的对应实现引导表单如何被服务端 Schema 驱动、用户偏好如何回写、配额如何计量并能通过环境变量ONBOARDING_ENABLED等开关了解自部署时的相关配置项。一、v0.2.3 更新总览根据 v0.2.3 更新日志本版本的定位是“全面升级产品引导体验、优化付费方案设计并提供更直观的知识库展示同时修复多个核心使用问题”。变更分为四大块模块变更类型关键内容产品引导新功能初始化设置向导、核心功能介绍、交互式使用指南、功能点悬浮视频教程付费方案全新优化计费单位由 Token/存储容量改为会话次数与文件数量新增用量统计展示与用量不足提醒知识库体验升级新增文档和资源预览功能资源管理新功能删除节点时可永久删除对应资源/文档删除画布时可级联删除画布内全部资源核心修复缺陷修复频繁退出登录、网页内容复制导出丢失、文档标题末字符无法删除、空图片地址报错、弱网下删除最后画布跳转异常下面按模块展开并结合仓库源码说明各功能的实际实现位置。二、产品引导全面升级从“设置向导”到“悬浮视频教程”更新日志中引导模块包含四个具体能力产品初始化设置向导配置界面语言UI Locale、AI 回答语言Output Locale以及操作模式鼠标/触控板产品核心功能介绍帮助新用户快速理解产品价值交互式使用指南手把手引导体验 Refly 辅助内容创作全流程功能点悬浮视频教程直观了解各功能的使用方法。2.1 初始化设置向导的触发链设置向导是否弹出由登录后拉取的用户设置中的preferences.hasFilledForm字段决定。前端在 use-get-user-settings.ts 中完成这一判断// packages/ai-workspace-common/src/hooks/use-get-user-settings.ts const updateModalStatus (preferences: UserPreferences) { const hasBeenInvited preferences.hasBeenInvited; userStore.setShowInvitationCodeModal(!preferences.hasBeenInvited); // Only check form filling status if user has been invited if (hasBeenInvited) { const hasFilledForm preferences.hasFilledForm ?? false; userStore.setShowOnboardingFormModal(!hasFilledForm); } };即仅当用户已被邀请hasBeenInvited且尚未填过引导表单hasFilledForm false时才会置位showOnboardingFormModal。后端在注册时将该字段初始化为false见 auth.service.ts 中hasFilledForm: false的初始化表单提交成功后再置为true。2.2 服务端驱动的动态表单引导表单本身并不是前端写死的组件而是由服务端下发 JSON Schema、前端用 RJSFreact-jsonschema-form动态渲染的。FormOnboardingModal 的核心流程通过useGetFormDefinition请求表单定义含schema与uiSchema将服务端返回的 Schema 解析后合并formId与当前用户uid交给ReflyRjsfForm渲染解析失败或请求出错时展示错误占位避免白屏。对应的后端实现位于 form.service.tsgetFormDefinition从数据库FormDefinition表中读取已发布的表单定义formId、title、description、schema、uiSchema、statussubmitForm写入FormSubmission记录并将用户preferences.hasFilledForm更新为true同时从答案中提取role字段同步到遥测属性user_identityhasFilledForm对外暴露“是否已填写”的判断逻辑供用户设置接口聚合返回。这一设计意味着运营侧可以在不发布前端版本的情况下调整引导表单的字段与文案——表单结构完全由数据驱动。2.3 引导开关ONBOARDING_ENABLED是否强制走引导流程是一个可配置项。app.config.ts 中定义了// apps/api/src/modules/config/app.config.ts onboarding: { enabled: process.env.ONBOARDING_ENABLED true || false, },FormService.hasFilledForm首先检查auth.onboarding.enabled关闭时直接返回hasFilledForm: true跳过表单要求。对于自部署场景可以通过设置环境变量ONBOARDING_ENABLEDtrue来启用该引导链路可参考 env.example 中的环境变量约定。2.4 界面语言、AI 回答语言与操作模式的落地向导收集的三项配置最终会写入用户设置并驱动本地行为同样在 use-get-user-settings.ts 中可见localSettings { ...localSettings, uiLocale, // 界面语言 outputLocale, // AI 回答语言 isLocaleInitialized: true, canvasMode: settings?.preferences?.operationMode || mouse, // 操作模式鼠标/触控板 disableHoverCard: settings?.preferences?.disableHoverCard || false, };其中有一个值得注意的“首次登录回写”逻辑若服务端返回的uiLocale与outputLocale均为空新注册用户前端会用浏览器navigator.language映射出默认语言并立即回写updateSettings({ uiLocale, outputLocale })保证下次加载时语言配置已固化到服务端。操作模式则通过preferences.operationMode持久化缺省为mouse供画布交互层读取以切换鼠标/触控板适配方案。三、付费方案全新优化从 Token/存储容量到会话次数与文件数量更新日志明确说明计费方式的变更“由 Token/存储容量改为会话次数和文件数量更清晰直观”并配套了定价说明优化、用量统计展示与用量不足提醒。3.1 配额模型在源码中的体现当前仓库的订阅计量实现与“会话/请求次数 文件数量”的双维度模型一致。subscription.service.ts 中可以看到两类用量表usage meter请求计量t1CountQuota/t2CountQuota按请求层级计次的配额缺省回落到配置项quota.request.t1/quota.request.t2另有creditQuota对应的积分额度存储计量fileCountQuota缺省回落到配置项quota.storage.file用于约束用户上传/入库的文件数量。// apps/api/src/modules/subscription/subscription.service.ts节选 t1CountQuota: plan?.t1CountQuota ?? this.config.get(quota.request.t1), t2CountQuota: plan?.t2CountQuota ?? this.config.get(quota.request.t2), // ... fileCountQuota: plan?.fileCountQuota ?? this.config.get(quota.storage.file),即套餐plan上可单独配置各维度的上限未配置时使用全局默认值。这种“按次 按文件数”的配额结构正是更新日志所说新计费方式在服务端的落点。3.2 用量统计与不足提醒用量展示与提醒在前端有对应组件hint.tsx 负责订阅/用量相关的提示渲染聊天输入区如 chat-box.tsx与文件导入流程如 storageLimit.tsx也会基于剩余配额给出拦截或引导。套餐价格常量目前收敛在 pricing.tsplus / starter / maker 三档月付与年付价格注释说明应与支付平台配置保持一致。3.3 与旧方案的对照维度旧方案≤v0.2.2 时期v0.2.3 起计费单位Token 消耗、存储容量会话请求次数、文件数量用户感知需理解 Token 概念次数直观便于预估配额来源—套餐级t1CountQuota/t2CountQuota/fileCountQuota缺省回落到全局配置配套能力—用量统计展示、用量不足提醒与补充指引四、知识库体验升级预览与永久删除更新日志记录了知识库的两项变更文档和资源预览新增文档和资源预览功能界面更加直观美观永久删除资源或文档在节点删除时可永久从知识库中删除该资源或文档在删除画布时可删除画布中所有的资源或文档。永久删除的价值在于此前的删除多为画布层面的移除底层知识库资源仍会持续占用存储配额对应上一节提到的fileCountQuota维度v0.2.3 之后删除操作可以直接清理底层数据让配额回收成为可能。该能力在更新日志中描述为可选行为“可永久删除”即删除时由用户决定是否彻底移除。五、核心问题修复与源码印证更新日志列出了五项核心修复其中“频繁退出登录”一项与前端鉴权状态管理直接相关源码中可以看到对应的防御性设计见 use-get-user-settings.ts竞态请求防护activeRequestId递增 isLatestRequest()判断确保慢响应不会覆盖新请求写入的登录态登出误判防护鉴权失败或无凭据时调用authChannel.updateCurrentUid(null)避免跨标签页的 uid 监听把“未登录”误判为“切换用户/被登出”重定向环路短路鉴权失败时仅在“非公开页且不在根路径 /login”的情况下才跳转登录页并保留returnUrl避免登录态检查引发的循环跳转——这类异常跳转在弱网环境下会显著放大“频繁掉登录”的观感。其余四项修复网页内容复制到 AI 文档再导出的内容丢失、文档标题最后字符无法删除、文档编辑器空图片地址报错、弱网环境下删除最后画布的跳转异常属于编辑器与画布交互层面的缺陷修复以 更新日志 的条目描述为准。六、小结这一版本解决了什么问题降低上手门槛初始化向导 功能介绍 交互式指南 悬浮视频教程构成完整的新用户引导链路表单由服务端 Schema 驱动可通过ONBOARDING_ENABLED在自部署中开关计费心智更清晰以会话次数和文件数量替代 Token/存储容量配额按套餐维度配置并回落到全局默认配套用量统计与不足提醒资源生命周期闭环知识库预览提升浏览体验节点/画布级永久删除打通了配额回收稳定性针对登录态竞态、弱网跳转等高频问题做了修复。如果想进一步跟进相关实现建议从 form.service.ts、use-get-user-settings.ts、subscription.service.ts 三个文件入手分别对应引导表单、登录态与本地偏好、配额计量三条主线。【免费下载链接】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),仅供参考
延伸阅读

更多相关文章

2026/11/7 12:45:04

TAPTAP评论文本挖掘:从爬虫到情感分析的完整方案

简介:这是一个面向计算机相关专业学生与文本挖掘初学者的完整项目资源,聚焦TAPTAP游戏评论的文本挖掘全流程,覆盖APP爬虫、数据清洗、pyecharts可视化与情感分析四大核心环节。项目来源于作者大三期末大作业,经导师指导获得99分高…

2026/11/4 3:16:49

去耦电容到底该多近?从物理本质到布局落地的完整指南

1. 引言:从一个被问住的“常识”说起做硬件设计这些年,我面试过不少工程师,也带过不少新人。每次问到去耦电容,几乎人人都能背出那句口诀:“电容要靠近引脚放,越近越好。”但你追问一句:“那到底…

2026/11/11 21:27:17

用电工证可以申请入户有效期多久

电工证过期了不知道怎么复审延期?教你用含金量高的证书入户 证书过期了不知道怎么复审延期?你不是一个人。特别是在郑州做项目现场管理员,手里拿着一张 用电工证可以申请入户…

2026/11/11 21:27:17

德山考电工证培训内部消息曝光!别再被中介坑了

德山考电工证培训内部消息曝光!别再被中介坑了 你是不是还在为不知道去哪报名德山考电工证培训而发愁?怕被中介坑、怕交了钱拿不到证?别急,内部消息来了,教你避开这些套路,顺利拿到电工证! 为什么德山考电工证培训这么火? 德山考电工证培训…

2026/11/11 21:27:17

陈校长特种工快速取证值不值得考?许昌房建工程从业者必看

陈校长特种工快速取证值不值得考?许昌房建工程从业者必看 你是不是也像我一样,刚进工地就听说“没有特种作业证就别想上岗”?别急,今天咱们就来聊聊【陈校长特种工快速取证】,看看值不值得考,也顺带说说许昌房建工程从业者怎么操作更省事。…

2026/11/11 21:22:16

西藏找帮忙考电工证怎么避坑?电子证书怎么查?全攻略来了

西藏找帮忙考电工证怎么避坑?电子证书怎么查?全攻略来了 你是不是也遇到过这种情况, 不知道去哪报名怕被中介坑 ,网上一搜“西藏找帮忙考电工证”,结果信息乱七八糟,价格参差不齐,甚至还有人推荐你去“代办”——听起来很省事,但背后可能藏着大隐患…

2026/11/11 12:42:59

电工证丢失还能补吗?千万别踩坑,丢了证等于失业

电工证丢失还能补吗?千万别踩坑,丢了证等于失业 你正在找工作,但手里的电工证突然丢了,这下怎么办?别急,先别慌, 电工证丢失还能补吗 ?答案是肯定的,但 千万别踩坑 ,补办流程如果不了解,可能会耽误你上岗、甚至影响到你的收入。…

2026/11/11 0:02:26

考低压电工证通过率考试真题与备考技巧

低压电工证通过率高不高?学历不高也能考,值不值得考? 你是不是总听说电工证能帮你找高薪工作,但又担心自己学历不够,考不上?其实,低压电工证考试门槛并没有你想象中那么高,关键是方法对不对。这篇文章就告诉你, 考低压电工证通过率到底有多高 ,…

2026/11/11 0:02:26

低压电工证学时千万别踩坑,濮阳毕业生怎么避坑报名

低压电工证学时千万别踩坑,濮阳毕业生怎么避坑报名 你是不是也和我一样,刚毕业就听说低压电工证学时必须达标才能上岗?可一打听,发现报名机构五花八门,价格参差不齐, 不知道去哪报名怕被中介坑…

2026/11/11 20:27:01

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/10 10:29:37

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑