01 / 安装测试版
当前安装包适用于 Apple Silicon Mac、macOS 13 及以上。运行 Runo 本身不需要安装 Go、Node 或 pnpm。你的项目仍然需要它原有的运行环境与依赖。
下载 Runo v0.12.1 测试版 ↓DMG · 体积以 Release 附件为准 · Apple Silicon · 需要仓库访问权限
- 打开下载的 DMG,把 Runo 拖到“应用程序”。
- 从“应用程序”打开 Runo,点击菜单栏的 R 图标。
- 首次访问桌面、文稿或下载目录时,按 macOS 提示允许访问项目所在目录。
关于系统安全提示
这是采用 ad hoc 签名的本地测试构建,尚未完成 Developer ID 签名和 Apple 公证。如果 macOS 阻止打开,仅在你确认安装包来源可信后,前往“系统设置 → 隐私与安全性”,检查与 Runo 对应的提示;系统提供“仍要打开”时可在那里继续。不同 macOS 版本和设备策略的行为可能不同。
Runo 不需要屏幕录制权限。Web 缩略图来自应用自己的 WKWebView,小程序画面通过开发者工具的截图接口获取。
02 / 启动第一个项目
- 找到项目。Runo 默认发现 Codex 保存的本地项目目录;也可以点击“添加项目”选择文件夹。
- 确认配置。点击“配置启动”,确认项目名称、启动命令、类型,以及 Web 项目的本地地址。自动识别的地址是建议值;运行时会从启动日志中校验实际监听地址,不会覆盖你保存的配置。
- 开始运行。保存后点击“启动项目”。Web 服务响应后显示“运行中”,卡片会生成网页缩略图。
- 打开视口。在独立的原生网页窗口中操作项目;也可以查看日志、重启或停止。
Runo 识别常用的 dev / dev:web / start / serve 脚本,优先使用项目声明或锁文件对应的包管理器。发现项目不会自动运行命令;首次确认后才保存和启动。
多个 Web 服务请使用不同端口。Runo 检查端口冲突,但不会接管或终止其他应用的进程。
03 / 一个仓库,多个启动目标
在项目卡片顶部点击“添加目标”,为 Web、管理后台、小程序、原生应用或脚本保存各自的配置。
- 仓库目录用于归组和定位当前 Codex 对话。
- 工作目录是执行命令的位置,可以指向仓库中的子目录。
- 目标名称在同一仓库内唯一;每个目标有自己的进程、日志、地址和预览缓存。
- 模拟器目录可以单独指向生成的小程序目录,编译命令仍在仓库根目录执行。
目标可以同时运行。切换标签只改变当前查看的目标,不会停止其他目标。菜单栏与 Codex 侧栏共享选择,重开后记住上次选择。
04 / 接入 Codex
「Runo · 项目台」提供当前项目侧栏和全局项目入口。插件与 Mac 应用共享配置及运行进程;结束对话不会停止已经启动的项目。
独立插件安装包
插件 ZIP 包含 MCP 服务与原生应用,无需 Go 或编译源码。需要 Node 20+ 和支持插件的 Codex 客户端。当前 GitHub 仓库为私有,下载需要仓库访问权限。
从 Release 安装
下载 Runo-Codex-0.12.1.zip,解压到一个长期保留的位置。将下方路径替换成解压后的实际目录:
codex plugin marketplace add /absolute/path/to/Runo-Codex-0.12.1 codex plugin add quick-open@quick-open-local
安装完成后重启 Codex。Mac 应用也可通过 DMG 独立安装;插件自带的应用会与它共享同一份本地项目配置。
已有项目源码时
在 Runo 源码目录中完成依赖安装和应用构建,再构建插件。项目开发要求以源码 README 为准。
pnpm build pnpm build:codex codex plugin marketplace add /absolute/path/to/quick-open codex plugin add quick-open@quick-open-local
把示例路径换成你实际的源码目录。安装完成后重启 Codex 客户端以加载插件;后续修改插件也需要重新构建、安装并重启。
在对话里打开当前项目
也可以使用侧栏添加内容入口中的“Runo · 项目台”。未登记项目先确认启动配置,已登记项目可以直接启动。接入依赖 Codex 本地存储格式,客户端更新后可能需要兼容调整。
05 / 小程序模拟器
需要已安装支持 wechatide Skill 接口的微信开发者工具,并完成登录、CLI 权限与 Runo 授权。项目需要有效的 project.config.json。
点击“打开模拟器”会打开或聚焦开发者工具的独立模拟器窗口。项目卡片显示真实模拟器截图;实际点击、输入和调试在模拟器中完成。
明确打开或刷新过的小程序约每 20 秒更新画面。“刷新画面”只获取截图,不重新编译或开窗。截图失败时保留最近画面并提示原因。
Taro、uni-app 等框架项目需要先配置生成小程序代码的编译命令,并将模拟器目录指向编译产物。
06 / 本地数据与退出
配置、最近启动记录和缩略图保存在:
~/Library/Application Support/Quick Open/
应用已更名为 Runo;为了兼容原有配置,内部目录和插件 ID 继续使用 Quick Open / quick-open。
收起面板会让项目继续运行。退出 Runo前会列出本次管理的运行目标,确认后才停止。外部服务与上次遗留进程只读观察,不会被停止。重开时恢复项目与缓存图,不会自动启动服务。Runo 不接管微信开发者工具的窗口生命周期。
日志仅保留当前启动会话最近 64 KB。Codex 自动发现功能只读取本地项目目录和名称,不读取聊天或凭据,也不修改 Codex 项目库。
07 / 侧栏、纯净模式与浮窗
拖动桌面面板的边缘调整宽高,再拖动顶部把它放到屏幕右侧。窄窗口会变成单列卡片;点击图钉让面板保持显示。重开时恢复窗口位置和尺寸。
点击顶部“纯净模式”,只看正在运行的目标、状态和画面;同一仓库的多个运行目标分别展示。点击“普通模式”恢复配置、启停和搜索。
从卡片的预览图、标题或空白处拖到窗口外,松手生成独立浮窗;也可以直接点击标题左侧手柄。浮窗默认置顶,可以移动、缩放和取消置顶;关闭浮窗不会停止项目。已停止的项目也可拖出查看缓存画面,不会自动启动。
卡片和浮窗显示定期更新的预览快照。点击画面可打开交互网页或外部模拟器,脚本与原生目标可查看日志。