HN 日本語サマリー

← 一覧へ戻る
Web開発

Show HN: ResolveHQ – Cloudflare Workers, D1, R2, および Queues 上に構築されたヘルプデスク

Show HN: ResolveHQ – A Helpdesk Built on Cloudflare Workers, D1, R2 and Queues (github.com)

26 pointsby mirza_rizvi9 コメント

要約

ResolveHQは、小規模サポートチーム向けのCloudflareネイティブでセルフホスト可能なヘルプデスクです。テナント分離された顧客、チケット、担当者、ステータス、優先度、タグ、全文検索を備えた共有受信トレイを実行できます。Cloudflareの各種サービスを活用し、メール処理、ファイル添付、AI支援応答、レポート機能などを提供します。

全文翻訳

ResolveHQ ResolveHQは、小規模サポートチーム向けのCloudflareネイティブでセルフホスト可能なヘルプデスクです。 できること テナントごとに分離された顧客、チケット、担当者、ステータス、優先度、タグ、全文検索を備えた共有受信トレイを実行できます。オーナーとしてサインアップし、チームメイトを招待し、組織を横断するワークスペーススイッチャーでオーナー/管理者/エージェントのロールを管理します。RFC 5322に従ってメールをスレッド化し、チケット間の件名のなりすましに耐性を持たせます。Cloudflare Email Routing経由でメールを受信し、Resend経由で送信します。配信ステータス、リトライ、冪等性のあるWebフックを備えています。送信返信には、リンクされた添付ファイルが含まれ、デッドレターキューは耐久性があり回復可能なレコードにドレインされます。検証および承認されたR2アップロードを通じて、チケットにファイルを添付します。保存された返信、内部メモ、AIでドラフトされた応答(オプトイン)、および楽観的バージョン競合処理を備えた応答性の高い3ペインの受信トレイで、より速く返信します。パスワードのリセットと招待の受け入れは、チケットメールと同じプロバイダーシームを介して送信されるシステムメールで行います。ナレッジベースの記事から公開ヘルプセンターを公開し、ドラフトはチームに非公開で保持します。レポートでボリュームと応答速度を追跡し、任意のウィンドウをCSVにエクスポートし、ルールベースの自動化でトリアージを自動化します。アプリ内での担当者への割り当てと顧客からの返信を通知し、ライトモードまたはダークモードで快適に作業します。顧客に関するすべての情報をJSONとしてエクスポートするか、キューに入れられたメールをキャンセルする耐久性があり再開可能なワークフローで削除します。自動回復: 5分ごとのcronジョブが停止したメールジョブをリトライし、ステージングデータと孤立したデータをクリーンアップします。ワークスペースごとにAI支援を制御します。管理者が設定で有効にするまでオフになり、その場合にのみチケットの会話がOpenAIに送信されます。TICKET_RETENTION_DAYS(例: 365)を設定すると、スケジュールされたスイープが、その期間より古い解決済みおよびクローズされたチケットを(添付ファイルを含めて)永続的に削除します。 インターフェース ワークスペースは、Slack風のナス紺のサイドバー、セルフホストされたLatoタイポグラフィ、Lucideアイコン、Radix UIプリミティブを使用しています。テーマ対応のコントロールとステータスカラーは、ライトおよびダークワークスペースをサポートします。モバイルでは、ボトムナビゲーションとキーボードアクセシブルなワークスペースドロワーにより、すべての宛先が利用可能になり、チケット列は件名の読みやすさを維持するように適応します。Cmd/Ctrl+Kでページ間をジャンプします。サイドバーのドックには、通知、テーマ切り替え、アカウントアクションが含まれています。 仕組み ResolveHQは、お客様のアカウントで単一のCloudflare Workerとして実行されます。Honoは、REST APIとReactアプリケーションの両方を提供します。Cloudflare D1はチケットと顧客を保持し、Cloudflare R2は添付ファイルを保持し、Cloudflare Queuesは送受信メールジョブを運びます。Cloudflare Email Routingは受信メールをWorkerに配信し、Resendは送信メールを送信します。チケットと添付ファイルはお客様のCloudflareアカウントに保存され、送信メールの内容はResendを通過します。 費用はいくらですか? ResolveHQは、小規模なデプロイメントの場合、Cloudflareの無料プランで実行できます。ただし、Workers、D1、R2、Queues、Cron Triggers、およびEmail Routingの現在の制限を超えないことが条件です。CPU負荷の高い認証やメール解析にはWorkers Paidが必要になる場合があります。デプロイメントをベンチマークしてください。QueuesはWorkers Freeで利用可能です。R2はアカウントの有効化と請求設定が別途必要です。Resendは、独自の制限内で送信メールを処理します。無料プランの監査を参照してください。 デプロイ 開始する最も簡単な方法は、上記の「Deploy to Cloudflare」ボタンを使用することです。必要なもの: Cloudflareアカウント。Workers FreeはQueuesをサポートします。R2は別途有効化してください。 Email Routingを設定するためのCloudflare上のドメイン。 オプションで、送信メールを送信するための検証済み送信ドメインを持つResendアカウント。 デプロイ後、ResolveHQのURLを開き、オーナーとしてサインアップします。オプションでサポートメールを指定すると、それがデフォルトの受信トレイになります。Cloudflareダッシュボードで、そのアドレスをデプロイされたWorkerに送信するEmail Routingルールを追加し、テストメールを送信して受信トレイに届くことを確認してください。デプロイフローがプロビジョニングするもの、必要な設定、初回実行セットアップ、および手動デプロイについては、デプロイガイドを参照してください。 ローカル開発 npm install cp .dev.vars.local.example .dev.vars npm run db:migrate:local npm run db:seed:local npm run dev Viteアプリケーションはhttp://localhost:5173で実行され、/apiはhttp://localhost:8787のWranglerにプロキシされます。 ドキュメンテーション デプロイと設定 アーキテクチャ セキュリティ オプション設定 AI支援: OPENAI_API_KEY(およびオプションでOPENAI_MODEL、デフォルトはgpt-4o-mini)をWorkerシークレットとして設定すると、AIが利用可能になります。各ワークスペースは設定でオプトインする必要があります。キーがない場合、機能は非表示のままになり、AI呼び出しは行われません。 保持期間: TICKET_RETENTION_DAYSをWorker変数として設定すると、解決済みおよびクローズされたチケット(添付ファイルを含む)が指定日数経過後に自動的に削除されます。未設定の場合は、何も自動削除されません。 未実装 多言語インターフェースとアプリ外の通知(メールダイジェスト)。 ライセンス LICENSEを参照してください。