关于 Rivtor
Rivtor 是用于部署全栈应用并管理生产服务的命令行工具和 MCP 服务。开发者与编码 Agent 可从本地目录或远程来源部署,查看验证结果,并操作数据库及其他项目资源。
主要功能
- 01部署应用并配置数据服务
- 02识别服务并连接服务 URL
- 03验证部署并查看问题
- 04管理日志、密钥、域名和回滚
- 05运行数据库查询和导出
适用场景
- 01从本地目录部署项目
- 02让 Agent 排查并重试失败的部署
- 03检查线上应用状态和未解决的生产问题
- 04管理环境变量并回滚发布
MCP 相关
`rivtor mcp` 通过 stdio 运行本地 MCP 服务,提供部署、状态、日志、环境变量、回滚、数据库、域名和项目工具。远程 MCP 端点还支持从 git URL、起始模板或内联文件部署。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://api.rivtor.com/mcpclaude mcp add --transport http com-rivtor-rivtor https://api.rivtor.com/mcp{"mcpServers":{"com-rivtor-rivtor":{"type":"http","url":"https://api.rivtor.com/mcp"}}}在 Cursor 中打开{"servers":{"com-rivtor-rivtor":{"type":"http","url":"https://api.rivtor.com/mcp"}}}在 VS Code 中打开{"mcpServers":{"com-rivtor-rivtor":{"type":"http","url":"https://api.rivtor.com/mcp"}}}{"mcpServers":{"com-rivtor-rivtor":{"serverUrl":"https://api.rivtor.com/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
rivtor
只需一条命令,即可从终端或 AI Agent 部署任意应用(前端、后端、工作进程、Postgres、Redis 和对象存储)。
npx rivtor login
npx rivtor deploy
Rivtor 会检测文件夹中的所有服务(Next.js、Vite、Astro、Express、Fastify、NestJS、FastAPI、Flask、Django、Go、Rust、Dockerfile 等),为代码所需的数据库提供资源,将服务 URL 连接起来,并返回可访问的 URL,通常只需约两分钟。
安装
npm i -g rivtor # or run it with npx: npx rivtor <command>
你需要 Node.js 20 或更高版本。
登录
在 https://rivtor.com/dashboard/tokens 创建令牌,然后运行:
rivtor login # paste the token when asked (input is hidden)
rivtor login --token rvt_... # non-interactive
令牌会以 0600 权限保存到 ~/.config/rivtor/config.json(或 $XDG_CONFIG_HOME/rivtor)。在 CI 中,请改用 RIVTOR_TOKEN。RIVTOR_API_URL 用于更改 API 端点(默认为 https://api.rivtor.com)。
部署
rivtor deploy # deploy the current folder
rivtor deploy ./my-app # deploy another folder
rivtor deploy --dry-run # print the detected plan; nothing is deployed
rivtor deploy --env-file .env.production # send these variables with the deploy
rivtor deploy --no-wait # start and exit right away
rivtor deploy --no-verify # skip post-deploy verification, not release security checks
rivtor deploy --json # print the raw DeployResult (for scripts and agents)
rivtor deploy --clean # rebuild everything from scratch, without build/dependency caches
重新部署时只会上传发生更改的文件:CLI 会发送文件哈希列表,API 则会请求尚未拥有的文件。依赖项按账户缓存,并会一直重复使用,直到锁文件、运行时版本或构建环境发生变化。如果缓存的依赖项看起来过时,请使用 --clean。
上传内容:
- 文件会根据
.gitignore文件(包括嵌套文件)以及可选的.rivtorignore进行打包。 - 会跳过
node_modules、.git、构建产物(dist、build、out、.next等)、虚拟环境和缓存。 - 绝不会上传
.env文件,即使.gitignore允许上传也不例外。只会上传.env.example、.env.sample和.env.template,以便 Rivtor 查看应用所需的变量名称。如需发送机密值,请使用--env-file或rivtor env set。 - 压缩后的上传大小上限为 300 MB(重新部署时仅计算变更的文件)。
项目名称依次取自 --project <slug>、rivtor.json({ "project": "my-app" }),再取自文件夹名称。首次部署后,CLI 会写入 rivtor.json,以便后续部署到同一项目。
退出代码:0 表示已上线,1 表示失败,2 表示需要输入(例如缺少机密信息)。部署失败时,CLI 会显示原因、文件和行号,以及修复方法。
已验证的部署
当 API 返回验证报告时,部署输出会以实际判定结果(working、partly_working 或 broken)、摘要、检查数量、每个问题对应的原因/文件/修复方法,以及私有报告链接作为结尾。缺失或跳过的报告会明确标注,绝不会根据部署成功推断为正常。假定覆盖范围完整前,请先查看已跳过的检查组。
rivtor verify my-app # re-check the current live app without redeploying
rivtor verify my-app --json # complete machine-readable VerificationReport
rivtor status my-app # last verdict, report link and open issue count
rivtor issues my-app --status open --json
rivtor issue-resolve <issue-id> --project my-app
rivtor verify-fix <issue-id> --project my-app --yes
手动验证不会应用任何配置修复。只有判定结果为 working 时才会以 0 退出;其他判定结果和请求失败均以 1 退出。Deploy 会保留现有的部署状态退出代码;自动化程序应在 --json 输出中单独检查 verification.verdict。--no-wait 会停止等待,但验证仍会启用。
报告页面和截图需要登录并加入项目。分享报告 URL 不会授予访问权限。请参阅 https://rivtor.com/docs/verify。
命令
| Command | What it does |
|---|---|
rivtor login [--token <t>] | 保存 API 令牌 |
rivtor logout | 删除已保存的令牌 |
rivtor whoami | 显示已登录的账号和套餐 |
rivtor deploy [path] [--project] [--dry-run] [--json] [--no-wait] [--env-file] [--clean] [--no-verify] | 部署文件夹 |
rivtor verify [project] [--json] | 重新检查线上应用并返回验证报告 |
rivtor issues [project] [--status open|resolved|dismissed|all] [--severity] | 以 JSON 格式列出生产环境问题 |
rivtor issue-resolve <id> [--project] [--dismiss] | 解决问题或记录误报排除项 |
rivtor verify-fix <ids...> [--project] --yes | 同意应用允许列表中的配置修复并重新验证 |
rivtor status [project] | 服务、URL、数据服务和最近一次部署 |
rivtor projects | 列出你的项目 |
rivtor logs [project] [--service] [--since 1h] [--level error] [--raw] [--build <deploymentId>] | 运行时日志,或某次部署的构建日志 |
rivtor env set K=V [K2=V2 ...] [--service] | 设置环境变量和机密(服务会重启;不会重新构建) |
rivtor env rm K [K2 ...] [--service] | 删除环境变量 |
rivtor env ls | 列出环境变量(值会隐藏) |
rivtor rollback [releaseId] | 回滚到上一个版本,或指定版本 |
rivtor db query "<sql>" | 执行只读 SQL |
rivtor db url | 获取临时连接字符串(有效期为 1 小时) |
rivtor db export -o backup.dump | 下载自定义格式的 pg_dump |
rivtor domain add <hostname> [--service] | 绑定自定义域名并打印要创建的 DNS 记录 |
rivtor destroy [project] | 删除项目及其所有数据;输入项目 slug 以确认 |
rivtor upgrade [hobby|pro|team] [--interval month|year] | 打开结账链接 |
rivtor mcp | 通过 stdio 运行 MCP 服务 |
rivtor skills install [--target claude|codex|cursor|all] [--project] | 安装 Rivtor Agent 技能 |
rivtor skills path | 打印捆绑技能所在的文件夹 |
大多数命令都接受 --json 和 --project <slug>。 |
在 AI Agent 中使用(MCP)
rivtor mcp 会通过 stdio 运行本地 MCP 服务。它提供与远程服务相同的工具,其 deploy 工具可以直接从磁盘上传文件夹:
deploy、status、logs、env_set、rollback、db、domain_add、destroy、upgrade、list_projects
借助这些工具,Agent 可以自行修复部署失败的问题。部署失败时,Agent 会收到包含 cause、file 和 fix 的结构化错误。它会编辑代码并再次调用 deploy,且只会重新构建发生变化的服务。如果缺少密钥,Agent 会向你询问一次,然后调用 env_set。密钥值绝不会被回显。
Claude Code
claude mcp add rivtor -e RIVTOR_TOKEN=rvt_... -- npx -y rivtor mcp
如果你已经运行过 rivtor login,可以省略 -e RIVTOR_TOKEN=...:
claude mcp add rivtor -- npx -y rivtor mcp
Cursor
~/.cursor/mcp.json(或项目中的 .cursor/mcp.json):
{
"mcpServers": {
"rivtor": {
"command": "npx",
"args": ["-y", "rivtor", "mcp"],
"env": { "RIVTOR_TOKEN": "rvt_..." }
}
}
}
Codex
~/.codex/config.toml:
[mcp_servers.rivtor]
command = "npx"
args = ["-y", "rivtor", "mcp"]
env = { RIVTOR_TOKEN = "rvt_..." }
远程 MCP(无需本地安装)
无需从磁盘上传文件的 Agent,可以通过请求头 Authorization: Bearer rvt_... 连接到 https://api.rivtor.com/mcp。远程 deploy 工具接受 git URL、入门模板或内联文件。
Agent 技能
该软件包附带一项 Agent 技能,用于教会编码 Agent 掌握 Rivtor 工作流:部署、读取 DeployResult 和验证判定结果、根据 error.cause/error.fix 修复、询问缺失的密钥,并在需要人工介入时停止。它还列出了每个错误代码及其修复方法。
npx rivtor skills install # Claude Code: ~/.claude/skills/rivtor
npx rivtor skills install --project # Claude Code, this project: ./.claude/skills/rivtor
npx rivtor skills install --target codex # Codex: ~/.agents/skills/rivtor (--project: ./.agents/skills/rivtor)
npx rivtor skills install --target cursor # Cursor rule: ./.cursor/rules/rivtor.mdc (always per project)
npx rivtor skills install --target all # all three
npx rivtor skills path # where the bundled skill lives, to copy it by hand
重新运行 install 会替换之前的副本。启动新的 Agent 会话以加载它。
在 Claude Code 中,你也可以将其安装为插件:
/plugin marketplace add shyamolkonwar/rivtor-cli
/plugin install rivtor@rivtor
该技能在连接了 Rivtor MCP 工具时会使用这些工具,否则会使用 rivtor CLI,因此也请连接 MCP 服务(见上文)。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。