
简介
CSDN 博客专家,专注独立开发,如果你对独立开发感兴趣,可以关注我。
擅长的技术栈
可提供的服务
独立开发者社群,独立开发训练营
今天是本系列的最后一课。我们将完成从“本地开发”到“正式上线”的关键跨越,探讨如何通过数据资产化交付给用户安全感,并利用 Vercel 实现零运维部署。同时,我们也会复盘 Cursor 的高阶配置,帮你建立从 MVP 到产品化的系统思维。
近期在实践具身交互相关场景,原本只是了解平台能力、跑一个简单演示。但过程中发现一个值得思考的问题:很多 Agent 能力已经成熟,却始终停留在文本界面,难以适配真实场景需求。过去一年,Agent 搭建方式已经成熟:大模型对接知识库、工具、工作流,最终呈现为文本交互。在代码、资料等场景效率很高,但放到门店、展厅、客服、培训这类需要服务氛围的场景,就显得局限,用户未必愿意主动发起文字提问。

本篇文章将手把手带领大家完成 DeepSeek 官方以及第三方聚合平台 SiliconFlow 的账号注册与密钥获取。

这套机制里会用到 ArkUI 的 `AppStorage`、`@StorageProp` 和 `@Watch`。我在项目里把它们放在工作台、会议列表、联系人列表这些页面之间使用。页面当前可见时马上刷新,页面隐藏时先记录状态,等切回来再检查版本差异。这样可以减少隐藏页面的无效查询,也能让列表、统计、选择器在需要的时候拿到最新数据。

这套机制里会用到 ArkUI 的 `AppStorage`、`@StorageProp` 和 `@Watch`。我在项目里把它们放在工作台、会议列表、联系人列表这些页面之间使用。页面当前可见时马上刷新,页面隐藏时先记录状态,等切回来再检查版本差异。这样可以减少隐藏页面的无效查询,也能让列表、统计、选择器在需要的时候拿到最新数据。

会议详情页进入编辑页以后,编辑页可能会修改标题、标签、参会人,也可能会调整时间轴笔记。编辑页保存并返回以后,详情页要重新读取当前会议;详情页再返回会议列表时,列表也要知道会议数据已经变化。这个过程如果只靠页面之间互相约定,时间一长就很容易忘记哪条路径负责刷新。

会议详情页进入编辑页以后,编辑页可能会修改标题、标签、参会人,也可能会调整时间轴笔记。编辑页保存并返回以后,详情页要重新读取当前会议;详情页再返回会议列表时,列表也要知道会议数据已经变化。这个过程如果只靠页面之间互相约定,时间一长就很容易忘记哪条路径负责刷新。

GitHub Spark 的定位正好卡在这个位置。它不只是帮开发者补几段代码,也不只是生成一张好看的前端页面,而是让用户用自然语言描述应用,然后在浏览器里生成、预览、修改并发布一个全栈 Web 应用。

应用可能刚从桌面冷启动,也可能已经在后台,只是系统重新投递了一个 Want。用户可能已经同意隐私协议,也可能是第一次安装后进入应用。首页的导航栈还没有创建之前,新建会议页没有稳定的承接位置。启动页保留动画以后,外部指令还要跨过 Splash 再交给首页,不能在中途丢失。

应用可能刚从桌面冷启动,也可能已经在后台,只是系统重新投递了一个 Want。用户可能已经同意隐私协议,也可能是第一次安装后进入应用。首页的导航栈还没有创建之前,新建会议页没有稳定的承接位置。启动页保留动画以后,外部指令还要跨过 Splash 再交给首页,不能在中途丢失。









