在 Render 上部署智能体
最后更新 查看 Markdown 源文件
将 Flue Node 服务器作为长期运行的 Render Web 服务运行。本指南假设你已经有一个正在运行的 Flue 项目。
Flue 的 Node 目标是一个长期运行的 HTTP 服务器,而非函数。它在进程中持有智能体会话,并通过长连接提供流式响应。在 Render 上,这意味着将其作为长期运行的 Web 服务运行 — 不是 serverless 函数,不是静态站点。
先决条件
你需要:
- 一个 Render 账户
- 一个正在运行的 Flue 项目(
flue run应该可以工作) - 一个 GitHub 或 GitLab 仓库包含你的项目
设置
1. 创建 Web 服务
- 登录 Render Dashboard
- 点击 “New” → “Web Service”
- 连接你的 GitHub 或 GitLab 仓库
- 选择你的 Flue 项目仓库
2. 配置服务
在服务配置页面:
- Name:输入服务名称(例如
flue-agents) - Region:选择一个靠近你的用户的区域
- Branch:选择你的部署分支(通常是
main) - Runtime:选择 “Node”
- Build Command:
npm install && npm run build - Start Command:
npm run start
3. 设置环境变量
在服务设置中添加环境变量:
- 转到你的服务 → Environment
- 添加以下变量:
ANTHROPIC_API_KEY=sk-...
MODEL_SPECIFIER=anthropic/claude-sonnet-4-6
NODE_ENV=production
4. 创建数据库
没有数据库,Flue 将对话保存在内存中 — 重启时会丢失。
- 在 Render Dashboard,点击 “New” → “PostgreSQL”
- 配置数据库名称和计划
- 创建后,复制 “Internal Database URL”
- 在你的 Web 服务环境变量中添加
DATABASE_URL
5. 部署
Render 会自动部署你的应用。确保你的 package.json 有正确的脚本:
{
"scripts": {
"build": "vite build",
"start": "node dist/server.mjs"
}
}自定义域名
1. 添加自定义域名
- 转到你的服务 → Settings → Custom Domains
- 点击 “Add Custom Domain”
- 输入你的域名
- 按照说明配置 DNS 记录
2. 配置 DNS
在你的 DNS 提供商中添加 CNAME 记录:
your-domain.com CNAME your-app.onrender.com
扩展
升级计划
Render 提供不同的计划:
- Starter:适合小型项目
- Standard:适合中型项目
- Pro:适合大型项目
自动扩展
Render 支持自动扩展:
- 转到你的服务 → Settings → Scaling
- 启用 “Auto Scaling”
- 设置最小和最大实例数
健康检查
Flue 不会自动生成健康检查端点。在你的 app.ts 中添加一个:
import { createAgentRouter } from '@flue/runtime/routing';
import { Hono } from 'hono';
import { MyAgent } from './agents/my-agent.ts';
const app = new Hono();
app.get('/health', (c) => c.text('ok'));
app.route('/agents/my-agent', createAgentRouter(MyAgent));
export default app;在 Render 服务设置中配置健康检查:
- 转到你的服务 → Settings → Health Check Path
- 设置为
/health
日志和监控
查看日志
- 转到你的服务 → Logs
- 实时查看日志或筛选历史日志
监控
Render 提供基本的监控:
- CPU 使用率
- 内存使用率
- 请求量
- 响应时间
- 错误率
环境变量参考
| 变量 | 描述 | 必需 |
|---|---|---|
ANTHROPIC_API_KEY | Anthropic API key | 是(如果使用 Anthropic) |
OPENAI_API_KEY | OpenAI API key | 是(如果使用 OpenAI) |
MODEL_SPECIFIER | 模型标识符 | 否 |
NODE_ENV | 环境模式 | 否(默认 development) |
DATABASE_URL | PostgreSQL 连接字符串 | 否(但推荐) |
故障排除
部署失败
- 检查构建日志是否有错误
- 确保
package.json有正确的构建脚本 - 验证所有依赖都已安装
应用崩溃
- 检查运行时日志
- 确保环境变量正确设置
- 验证数据库连接(如果使用)
连接问题
- 确保服务正在运行
- 检查 Render 的网络设置
- 验证域名配置
参考资料
- Render 文档 — 官方 Render 文档。
- Render Web 服务 — Web 服务指南。
- Render PostgreSQL — 数据库指南。
- Docker 部署 — 底层 Docker 镜像的详细信息。