App 很轻。第一次打开时启动 prestod,然后提示是否启用官方基础菜谱。
Presto 展示计划:会安装 Typst、公文模板、PDF 导出器,推荐安装 Tinymist 实时预览。
后台开始下载插件、检查版本、启动必要服务。界面先可用,预览能力显示 warming。
文档可以立刻打开。Tinymist 准备好后,实时预览自动变成 ready;如果失败,普通编辑和导出仍可降级使用。
学校菜谱覆盖了默认公文模板和 PDF 导出设置。Presto 显示哪些地方被覆盖,用户确认后生效。
这份文档不讲太多架构黑话,只解释一件事:Presto 如果从“一个很大的桌面软件”变成“一个会自己组装能力的创作系统”,它应该长什么样、怎么用、为什么不会乱成一锅粥。
Presto 以后可以不像一个“把所有功能塞进安装包里的大软件”,而像一个本地运行的小厨房:后台一直有一个管家,用户订阅菜谱,菜谱决定需要哪些工具,管家自动把工具准备好,桌面主程序只是看得见、摸得着的操作台。
也就是 prestod。它常驻在后台,知道现在装了什么、开了什么、缺什么、谁坏了、谁该被关掉。
Typst、Tinymist、PDF 导出、公文模板、AI 助手都可以拆成独立插件。需要时装,不需要时不启动。
用户不需要理解一堆底层能力,只要选“公文写作包”“教案计划包”“极简写作包”这种菜谱。
| 现在常见做法 | 新版 Presto 的想法 | 用户感受到什么 |
|---|---|---|
| 所有功能尽量塞进主程序。 | 主程序变轻,功能拆成可安装、可升级、可关闭的服务。 | 安装包更小,功能更新不一定要等整个 App 发版。 |
| 打开 App 才开始做所有事。 | 后台 prestod 可以先跑着,桌面只是连上它。 |
打开界面更快,后台能力状态更清楚。 |
| 插件页像应用商店,用户一个个装。 | 用户订阅“菜谱”,一次得到一组匹配好的插件和设置。 | 不用懂 Typst、Tinymist、provider 这些词,也能装好一套工作环境。 |
| 配置改了就直接生效,出了问题难回头。 | 先显示“将要改变什么”,确认后再应用,并支持回滚。 | 换配置、换菜谱、升级插件更有安全感。 |
这点有点像 Docker 镜像分层。不是每份菜谱都独立启动一遍,而是先把它们叠成“最终配置”,再由后台决定真正要启动哪些服务。
普通用户打开的还是一个完整软件,不会感觉自己在维护一套基础设施。
只是它背后连接的是常驻后台,所以能看到更清楚的插件、服务、日志和配置状态。
用户可以在里面管理菜谱、切换配置、导入导出、看服务状态、查看失败原因、一键回滚。
它有点像 Docker Desktop、Clash Dashboard、系统服务管理器的温和合体。
| 页面 | 人话解释 | 典型操作 |
|---|---|---|
| 菜谱 | 我现在启用了哪些能力组合。 | 订阅官方菜谱、导入学校菜谱、调整层叠顺序。 |
| 当前环境 | 所有菜谱叠加之后,Presto 现在到底是什么状态。 | 查看某个设置来自哪一层,发现是谁覆盖了谁。 |
| 后台服务 | 哪些插件服务正在跑,哪些在等待,哪些失败了。 | 启动、停止、重启、查看日志、设置空闲自动关闭。 |
| 能力路由 | 每种能力现在由谁提供。 | 把 Typst 编译切到官方 provider,把 AI 切到个人 provider。 |
| 变更预览 | 启用新菜谱前,先告诉你会发生什么。 | 确认安装、取消变更、保存计划、回滚。 |
App 很轻。第一次打开时启动 prestod,然后提示是否启用官方基础菜谱。
Presto 展示计划:会安装 Typst、公文模板、PDF 导出器,推荐安装 Tinymist 实时预览。
后台开始下载插件、检查版本、启动必要服务。界面先可用,预览能力显示 warming。
文档可以立刻打开。Tinymist 准备好后,实时预览自动变成 ready;如果失败,普通编辑和导出仍可降级使用。
学校菜谱覆盖了默认公文模板和 PDF 导出设置。Presto 显示哪些地方被覆盖,用户确认后生效。
这套设计确实有复杂度风险。 所以它不能被做成“小型 Kubernetes”或“通用本地编排平台”。它只应该解决 Presto 自己的能力组合问题。
关键收敛原则是:用户配置只能声明“我要哪些能力、用哪个 provider、什么服务策略”,不能写任意命令、不能随便指向本地可执行文件、不能绕过插件市场。
| 来源 | 借什么 | 不借什么 |
|---|---|---|
| Docker | 后台 daemon、分层、服务运行心智。 | 不要求所有东西都容器化。 |
| Homebrew | 包、源、安装、服务管理、菜谱源。 | 不允许用户配置执行任意安装脚本。 |
| NPM | 依赖、版本、lockfile。 | 不把依赖树暴露给普通用户折腾。 |
| VS Code | 扩展贡献点、provider 选择。 | 不允许插件直接把任意前端组件塞进主界面。 |
| Clash / Mihomo | core + dashboard + profile 的产品形态。 | 不继承任意节点配置的自由度。 |
| K8s | 期望状态、控制面、自动调谐。 | 不做多节点集群和复杂 CRD 生态。 |
| Terraform / Vercel | 变更预览、应用、历史、回滚。 | 不做云部署平台。 |
prestod 和 Runtime Console,能看服务状态、日志、启动/停止、导入导出配置。这个方向不是为了炫技,而是为了把 Presto 从“一个功能越来越重的桌面软件”变成“一个可以按工作流组装的创作环境”。
普通用户看到的是菜谱、状态、开关、回滚;高级用户看到的是 profile、lockfile、provider、service lifecycle。底层可以很工程化,但表面必须保持像一个好用的软件。