SuperAPI AI 工具集

develop-with-ryra

编程与开发

查看项目

更新于 10-15 23:40

技能介绍

用途:当用户想在这台 ryra 机器上开发、构建、搭建或创建服务、应用、API、智能体、工具或项目时,将其设置为可部署、可升级的 ryra 服务。

项目位置:每个新项目放在 ~/projects/<project-name>,一个项目一个目录;先创建该文件夹并 cd 进入再搭建,除非用户指定了明确路径。

初始化:在项目文件夹中运行 ryra init,生成 service.toml 和 test.toml。简单项目(单进程)原生运行;较复杂项目(数据库、多容器)在 quadlets/ 下生成 podman quadlet 文件。在仓库中运行 ryra add 将其添加为服务,之后用 ryra upgrade 拉取并应用更新。

测试驱动:ryra init 同时生成 test.toml。运行服务前至少让一个测试通过。始终用 ryra test <path-or-name> 运行测试,指向被测对象(服务/项目目录或 test.toml 中的命名测试),它在沙箱中运行,是真实信号;不要跳过,也不要用原始运行器(bun test、vitest、pytest 等)替代。流程为红(先写一个测试并确认因正确原因失败)、绿(写最少代码使其通过)、重构(保持绿色),然后才运行服务,再进入下一个测试。多数服务用普通 HTTP/单元测试即可,仅在真实浏览器、多步 UI、认证重定向等高级流程时才用 Playwright e2e。

部署:服务默认仅回环(127.0.0.1),需暴露才能被其他设备访问。默认部署模型是 tailnet,且必须通过 ryra 暴露:安装时用 ryra add --tailscale,已安装则用 ryra config <service> --tailscale,两者都会在 https://<service>.<tailnet>.ts.net 提供服务(仅 tailnet、自动 HTTPS、非公开)。这需要已登录的 tailnet 并配置 Tailscale API token(引导中的“publish app addresses”步骤或 Settings -> Tailscale);若未配置,先引导用户前往。不要手动运行 tailscale serve 暴露服务,否则 ryra 无法追踪,仪表盘仍显示“loopback only”,ryra upgrade 也不会保留。

技术栈:使用官方最新 init 命令(bun create / 框架 init),不要手写样板,均为 TypeScript。API/服务用 Bun + Hono + OpenAPI;仪表盘或交互式 Web 应用用 Bun + Hono + OpenAPI 后端加简单 SolidJS 应用(需要更多标准库时改用 React);网站或营销平台用 Astro;同时需要页面和应用用 TanStack Start。

限制:资料未提供 ryra 的安装方式、收费、平台支持范围及具体命令参数细节。