Skybridge 状态管理全解析:useViewState 如何让你的 MCP App 记住每一次操作

发布时间:2026/10/8 8:23:19

Skybridge 状态管理全解析:useViewState 如何让你的 MCP App 记住每一次操作 Skybridge 状态管理全解析useViewState 如何让你的 MCP App 记住每一次操作【免费下载链接】skybridgeSkybridge is a full-stack TypeScript framework for MCP Apps and ChatGPT Apps. Type-safe. React-powered. Platform-agnostic.项目地址: https://gitcode.com/gh_mirrors/skybr/skybridge如果你正在用 Skybridge 开发MCP App或ChatGPT App一定会遇到这个痛点用户关掉界面再打开购物车空了、筛选条件没了AI 也不知道用户刚才点了什么。Skybridge 状态管理的核心 Hook ——useViewState就是解决这件事的它让 UI 状态持久化、可恢复还能同步给大模型读取。本文将带你快速搞懂它的用法、生命周期和最佳实践。为什么 useState 不够用MCP App 的界面View由宿主应用如 ChatGPT、Claude挂载和卸载。普通 ReactuseState有两个致命问题一卸载就清零宿主重新挂载视图时本地状态全部丢失模型看不见AI 永远不知道你界面上显示的是什么useViewState是一个useState的“平替”一行代码同时解决这两个问题源码位于 use-view-state.ts。useViewState 基本用法三行代码上手import { useViewState } from skybridge/web; type CarouselState { sort: newest | price }; function Carousel() { const [state, setState] useViewStateCarouselState({ sort: newest }); // 用户切换排序后即使视图被重新挂载state.sort 依然保留 }它返回一个和useState完全一致的[state, setState]元组支持值更新和函数式更新setState((prev) ({ ...prev, count: prev.count 1 }))熟悉 React 就能零成本迁移。官方示例 use-view-state-tab.tsx 就是一个点击加一、关闭重开不丢数的计数器。状态生命周期什么时候被记住什么时候被隔离这是新手最容易困惑的部分官方文档 use-view-state.mdx 给出的规则非常清晰场景状态表现同一视图实例重渲染 / 重新挂载✅ 状态保留关闭对话后重新打开✅ 视图带着之前的状态恢复切换显示模式内联 ↔ 全屏✅ 状态保留一次新的工具调用 独立的空白状态从默认值开始另外要注意视图状态是尽力而为的不是持久化数据库。在 Claude 中随着其他视图增多较旧的状态可能被挤出视图会恢复到defaultState。AI 如何看到你的状态这是 Skybridge 状态管理与普通前端框架最大的区别结构化共享useViewState的值会作为结构化内容在下一轮对话时暴露给模型。用户问我购物车里有什么AI 能直接回答多实例只露一个同一视图有多个实例时模型通常只看到最近一次更新的那个ChatGPT 的显示模式差异PiP 或全屏视图的状态更新总会推送给模型内联视图只在挂载后、首轮对话前推送配合 />选择指南useState、useViewState 还是 createStore官方决策表见 state.mdx建议这样分工纯临时 UI 状态悬停、动画→ 普通useState模型不需要知道单组件需要持久化筛选、选中项、草稿→useViewState多组件共享、复杂变更购物车→createStore它是 Zustand 的薄封装共享同一套生命周期一个经典错误是把模型看过的数据重复塞进每个通道。状态、data-llm文案、工具返回内容各司其职不要互相复制。真实项目里长什么样官方电商示例 carousel/index.tsx 用useViewState持久化了选中商品、滚动位置和规格用户从全屏详情返回轮播时滚动位置精确恢复const [nav, setNav] useViewStateViewState({ selectedId: null, scrollLeft: 0, spec: null, });完整的状态管理理念讲解可以参考 docs/build/state.mdxAPI 细节见 docs/api-reference/use-view-state.mdx。小结让 MCP App 拥有记忆的三个要点useViewState是持久化的 useState跨挂载、跨重开对话保留状态并自动共享给大模型按谁需要看分配状态模型需要的用useViewState纯视觉的用useState默认值只是兜底宿主已有持久化状态时以持久化值为准掌握这一层你的 MCP App 就不再是每次打开都是陌生人而是真正记住用户每一次操作的智能界面。【免费下载链接】skybridgeSkybridge is a full-stack TypeScript framework for MCP Apps and ChatGPT Apps. Type-safe. React-powered. Platform-agnostic.项目地址: https://gitcode.com/gh_mirrors/skybr/skybridge创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/10/8 8:18:18

高速堵车对汽车的损伤有多大?哪些部件最容易出问题?

中秋国庆长假一开跑,不少人冲着高速免费的福利,早早收拾好行李就上了路。结果刚过收费站,眼前直接变成了“超长停车场”,前看不到头,后望不到尾,挪个十米就要歇三分钟,平常两小时的路程&#xf…

2026/10/8 8:18:18

城市的术语大全的庖丁解牛

总纲:城市本质是人为集中建设的大型公共基础设施共同体。大量人口、产业、建筑聚集在国有建设用地之上,由多层级规划、市政管网、公共配套、治理体系支撑运转。买房、择业、定居,本质是一次人生置换:用金钱、时间、心力&#xff0…

2026/10/8 8:18:18

从零搭建灌装监控系统(十五):日志查看器,筛选与分页

日志查看器:筛选与分页这是「从零搭建灌装监控系统」系列第15篇。上一篇把日志写进了 SQLite,但能保存不等于能使用。日志查看器要让操作员快速找到一段时间内的错误,也要让开发人员按级别和关键字缩小范围。这篇围绕 LogsViewModel 实现查询…

2026/10/8 9:18:49

eNSP命令大全:华为网络设备配置与排错实战指南

简介:这份资源是华为eNSP网络模拟器的命令速查手册,面向正在学习华为路由交换与防火墙配置的初学者及备考HCIA/HCIP的考生。它把设备常用命令集中整理成册,解决实验时频繁百度、翻书查命令的痛点,帮助读者在搭建拓扑、调试设备时快…

2026/10/8 9:18:49

最大乘积问题:为什么整数拆分要尽量拆3?数学推导与OJ实战

刷东华大学OJ刷到第39题“最大乘积”时,我一开始真没当回事。题面就一句话:把一个正整数n拆成若干个正整数之和,问这些正整数乘积的最大值是多少。当时我第一反应是DFS暴力枚举所有拆法,第二反应是这不就是动态规划模板题吗。直到…

2026/10/8 9:18:49

最大乘积动态规划陷阱:为何要同时维护最大值与最小值

东华大学OJ第39题“最大乘积”,做过的同学都知道,这题表面上是道动态规划入门题,实际上是个暗藏杀机的陷阱题。我第一次提交的时候,信誓旦旦觉得自己写对了,结果WA了好几次,最后才意识到这题跟常规的“最大…

2026/10/8 9:18:49

Superpowers:智能增强型开发者工具链实战指南

1. “Superpowers”不是超能力,而是开发者工具链的智能增强范式你最近在技术社区、开发群聊甚至GitHub trending里反复刷到“superpowers”这个词,它既不像传统框架那样有明确文档,也不像编程语言那样自带语法规范——它更像一个正在快速凝聚…

2026/10/8 9:18:49

Claude Code技能包superpowers实战:从安装到工程化工作流

如果你最近开始重度使用 Claude Code 这类跑在终端里的 AI 编程助手,大概很快就会撞上一个情景:模型本身很能打,你问什么它答什么,可一旦任务跨了好几个文件、需要来回验证,它就容易东一榔头西一棒子,把前面…

2026/10/5 6:32:56

Jev+Agent接管浏览器:browser-use实战与jev-ultrafast性能优化

1. 从“Jev”说起:为什么我要把Agent接进浏览器“Jev”这个词最近在圈子里出现的频率越来越高,很多人第一次听到会以为是某个新模型的名字,其实它更像是一种思路——把Jev模型的能力当作底座,通过Agent的方式去接管浏览器&#xf…

2026/10/7 8:18:33

多智能体集群实战:DeepAgents编排、MCP与A2A协议及Skills体系

1. 从"单兵作战"到"集群协同":多智能体编排到底在解决什么问题如果你最近在折腾 Agent 相关的东西,大概率会有一种感觉:单个 Agent 能做的事情,其实很快就摸到天花板了。你给它一个提示词,挂几个工…

2026/10/8 6:05:44

无源低通滤波器设计实战:从RC到LC,手把手教你避开那些坑

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

2026/10/8 0:02:17

自然数立方等于连续奇数之和:从证明到编程验证

十几年来我一直游走在数学科普和编程教学这两块内容之间,对“看起来像魔法、拆开全是数学”的结论总是格外敏感。最近翻资料时又撞见一句话:任何一个自然数 m 的立方,都可以写成 m 个连续奇数之和。2 的立方等于 3 加 5,3 的立方等…

2026/10/8 0:02:17

C#上位机SSH连接实战:用SSH.NET补齐超时、批量与密钥认证

简介:这是一份基于 C# 开发的 SSH 连接功能半成品工程,原本作为另一个主项目的子功能模块,现独立打包分享。工程采用 WinForms 界面,包含源码、解决方案、安装部署工程、NuGet 依赖包及说明文档,适合正在做远程连接、网…

2026/10/8 0:02:17

Java SpringBoot一体化智能售后系统设计与实现全解析

毕业设计年年做,Java Web 方向的题目翻来覆去就那么几个,但“一体化智能售后系统”这个题,每次看到我都觉得值得认真聊一聊。它不是一个简单 curd 堆出来的管理系统,而是把客户、工单、派单、处理、回访、统计整条链路串起来的一套…

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

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

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