创建第一个 Curio
从可运行的模板出发,完成第一次 Host 调用,并构建可安装的插件包。
核对日期:2026 年 9 月 11 日
本页目录
开始前的准备#
先在 Mac 上安装 Trove 开发预览版。在 Trove 的设置 → 命令行工具中安装或检查命令行工具,打开新终端,确认可执行文件可用:
trove --version
trove --help
Web 模板需要 Node.js 20.19+ 或 22.12+,以及你选择的包管理器。以下步骤使用 npm。静态模板不需要 Node、Rust 或依赖安装。
创建并运行工程#
在父目录运行 trove new,按向导输入名称(这里使用 My Curio),选择 Web、包管理器,以及是否安装依赖。Enter 接受默认值,方向键选择,Esc 或 Ctrl-C 取消。目标目录必须不存在。
trove new
cd my-curio
trove dev
进入向导显示的新目录;如果跳过了依赖安装,先运行所选包管理器的 install。CLI 会连接或启动 Host,运行开发服务并打开 Curio 窗口。起始页的两个按钮分别演示通讯与存储,点击后显示真实结果,终端同时显示本次运行输出。
找到需要修改的文件#
| 路径 | 用途 |
|---|---|
curio.json | 身份、UI 入口、开发与构建命令 |
src/main.ts | 页面、连接状态、结果与错误展示 |
src/demo.ts | 两个独立的 Host 调用示例 |
src/style.css | 样式与主题 |
vendor/trove-plugin-sdk-0.0.1-alpha.1.tgz | 随 CLI 提供的 SDK,提交到版本控制 |
dist/ui/ | 生产构建输出 |
Web 模板使用 TypeScript 和 Vite,无 UI 框架依赖。可以沿用它,也可以接入自己的框架。
完成第一次调用#
把代码放在前端模块或异步事件处理函数中。方法、参数和返回值由 SDK 提供类型:
import { host } from "@trove/plugin-sdk";
await host.ready();
const info = await host.runtime.getHostInfo();
console.log(info.name, info.version);
console.log(host.context.curioId);
预期显示 Trove、运行中的 Host 版本,以及向导设置的 Curio ID。无需传服务名、方法名或空对象。处理失败见 SDK 错误处理。Web 模板支持 Vite 热更新。
普通浏览器不会注入 Host Bridge;真实调用在 Trove 窗口中执行,浏览器测试显式使用 Mock。
构建并验证安装包#
先按 Ctrl-C 停止开发会话,再执行:
trove pack
trove install
产物位于 dist/packages/<id>-<version>-<target>.curio。只有一个候选包时,install 会自动选择。保持开发服务器停止,在 Trove 中打开已安装的 Curio,再次执行通讯示例,确认生产入口与打包资源正确。
不使用构建工具的起点#
再次运行向导,名称使用 My Static Curio,模板选择「静态 HTML」:
trove new
cd my-static-curio
trove check
trove dev
静态模板的 UI 与 SDK 已预编译到 ui/index.html,无需安装依赖。修改 HTML 后重新加载窗口;它没有 Vite 热更新。需要原生 Backend 时,在向导中选择 Rust;见 Backend 指南。