Web コンソールとリモート手順書実行を支える HTTP API サーバーを起動します。REST エンドポイント、SSE ストリーミング、Inngest によるジョブスケジューリング、Redis Pub/Sub によるリアルタイム更新を提供します。
API サーバーのリモート実行機能には Team プラン以上が必要です。
前提条件
サーバー起動前に以下を準備してください:
- PostgreSQL — 手順書、ジョブ、設定、メータリング用データベース
- Redis — SSE リアルタイムストリーミングと Pub/Sub に必要
- Inngest(任意) — スケジュール・バックグラウンド実行用ジョブキュー
環境変数
| 変数 | 説明 |
|---|
DATABASE_URL | PostgreSQL 接続文字列 |
REDIS_URL | Redis 接続文字列 |
BETTER_AUTH_SECRET | 認証用シークレット(セッション署名) |
オプション
| 変数 | デフォルト | 説明 |
|---|
PORT | 3000 | サーバーポート |
INNGEST_EVENT_KEY | - | Inngest イベントキー |
INNGEST_SIGNING_KEY | - | Inngest 署名キー |
REFRAIN_API_KEY | - | デフォルト API キー |
AI プロバイダー認証情報
サーバーは CLI と同じ AI プロバイダー環境変数を使用します:
| 変数 | 説明 |
|---|
ANTHROPIC_API_KEY | Anthropic API キー |
OPENAI_API_KEY | OpenAI API キー |
GOOGLE_GENERATIVE_AI_API_KEY | Gemini API キー |
AZURE_RESOURCE_NAME | Azure OpenAI リソース名 |
AZURE_API_KEY | Azure OpenAI API キー |
AWS_REGION | Bedrock の AWS リージョン |
AWS_ACCESS_KEY_ID | Bedrock の AWS アクセスキー |
AWS_SECRET_ACCESS_KEY | Bedrock の AWS シークレットキー |
GOOGLE_VERTEX_PROJECT | Vertex の Google Cloud プロジェクト |
GOOGLE_VERTEX_LOCATION | Vertex の Google Cloud リージョン |
セットアップ
環境の設定
必須変数を含む .env ファイルを作成します:DATABASE_URL="postgresql://user:pass@localhost:5432/refrain"
REDIS_URL="redis://localhost:6379"
BETTER_AUTH_SECRET="your-random-secret"
ANTHROPIC_API_KEY="sk-ant-..."
データベースマイグレーション
npx @refrainai/cli db:migrate
API エンドポイント
サーバーは手順書、ジョブ、設定を管理する REST エンドポイントを提供します。全エンドポイントは API キーまたはセッションによる認証が必要です。
| エンドポイント | メソッド | 説明 |
|---|
/api/runbooks | GET | 手順書一覧 |
/api/runbooks | POST | 手順書の作成 |
/api/runbooks/:id | GET | 手順書の詳細 |
/api/jobs | POST | ジョブの作成(execute/generate/self-heal) |
/api/jobs | GET | ジョブ一覧 |
/api/jobs/:id | GET | ジョブの詳細 |
/api/jobs/:id/stream | GET | リアルタイム更新の SSE ストリーム |
/api/jobs/:id/approve | POST | 待機中ジョブの承認 |
/api/jobs/:id/reject | POST | 待機中ジョブの拒否 |
/api/jobs/:id/cancel | POST | 実行中ジョブのキャンセル |
プログラマティックな使用方法は SDK を参照してください。