1minai2api — 1min.ai を OpenAI 互換 API に変換する Deno リバースプロキシ
概要
1minai2api は、中国語 README にあるとおり、1min.ai の API を OpenAI の Chat Completion 互換フォーマットで提供する Deno 製のリバースプロキシです。OpenAI 対応のクライアントからのリクエストを受け取り、内部で 1min.ai の API 仕様に合わせて変換することで、既存のツールやワークフローをほとんど変更せずに 1min.ai を利用可能にします。加えて JWT トークンの管理(追加、無効化、メモ付与)、トークンの自動有効期限検出、Deno KV を使ったトークン保存とユーザー情報キャッシュ、Web ベースの管理画面、管理 API の認証など運用面の利便性も重視しています。(約300字)
リポジトリの統計情報
- スター数: 12
- フォーク数: 11
- ウォッチャー数: 12
- コミット数: 3
- ファイル数: 19
- メインの言語: TypeScript
主な特徴
- OpenAI 互換 API:Chat Completion 形式のリクエスト/レスポンスをサポートし、既存クライアントと互換
- JWT トークン管理:トークンの追加/無効化/有効化/削除、メモを付与できる
- 自動期限検知とキャッシュ:期限切れトークンの自動検出・無効化、1min.ai ユーザー情報のキャッシュ
- Deno KV と Web 管理画面:Deno の組み込み KV による永続化と、ブラウザベースの管理 UI、管理 API の認証保護
技術的なポイント
このプロジェクトは Deno(TypeScript)上で動作する点が最大の特徴です。Deno の利点である標準ライブラリの利用や、ビルトインの Deno KV(キー・バリュー型の軽量データストア)を用いて JWT トークンやユーザー情報を永続化・キャッシュしており、外部 DB を不要にする設計です。アプリは OpenAI の Chat Completion API 互換のエンドポイントを公開し、受け取ったリクエストを 1min.ai の API 仕様に適切にマッピングして転送します。このため、プロキシ層でリクエストボディやヘッダを変換し、1min.ai の応答を OpenAI 互換のレスポンス構造に整形するロジックが存在します。
JWT 管理機能はトークンライフサイクルの運用を容易にします。トークンは Deno KV に保存され、管理 API から追加や注釈(メモ)を付けられます。サーバ側はトークンの有効期限を定期的にチェックし、期限切れを検知すると自動で無効化する仕組みがあり、誤ったトークン使用による障害や無駄な API リクエストを減らします。さらに、1min.ai のユーザー情報をキャッシュしてリクエスト頻度を下げ、レイテンシー削減と API レート制限回避に寄与します。
管理 UI はブラウザ上でトークンの一覧表示・編集が可能で、管理用 API には独立した認証キーを要求するため、運用者以外のアクセスを制限できます。コード構成は add_test_token.ts や config.ts、環境変数の例(.env.example)などが用意され、Deno を使った簡単なデプロイや開発が想定されています。注意点としては、プロキシは 1min.ai の挙動変更や API 仕様に依存するため、バックエンド API の変更時に対応が必要であり、さらにスケールや高可用性を求めるなら Deno KV の代替や分散キャッシュの導入を検討するべきです。(約800〜1200字の範囲で詳述)
プロジェクトの構成
主要なファイルとディレクトリ:
- .env.example: file
- .gitignore: file
- README.md: file
- add_test_token.ts: file
- config.ts: file
…他 14 ファイル
(主なファイルから読み取れるポイント)
- add_test_token.ts: テスト用トークンを追加するスクリプトで、運用やローカル検証に便利
- config.ts: 環境依存設定や API エンドポイント、認証キーなどの集中管理
- .env.example: Deno 実行時に必要な環境変数の雛形
まとめ
Deno と TypeScript で手軽に立ち上げられる、1min.ai を OpenAI 互換で使える運用向けプロキシです。(約50字)
リポジトリ情報:
- 名前: 1minai2api
- 説明: 説明なし
- スター数: 12
- 言語: TypeScript
- URL: https://github.com/CassiopeiaCode/1minai2api
- オーナー: CassiopeiaCode
- アバター: https://avatars.githubusercontent.com/u/212207110?v=4
READMEの抜粋:
1min.ai 反向代理
一个将 1min.ai API 转换为 OpenAI 兼容格式的 Deno 反向代理服务,支持 JWT token 管理和自动过期检测。
✨ 功能特性
- 🔄 OpenAI 兼容 API:提供完全兼容 OpenAI Chat Completion 格式的接口
- 🔐 JWT Token 管理:支持添加、禁用、启用、删除 1min.ai JWT tokens
- 📝 Token 备注:为每个 token 添加备注,方便管理
- ⏰ 自动过期检测:智能检测并禁用过期的 tokens
- 💾 Deno KV 存储:使用 Deno 内置的键值存储数据库
- 🎯 用户信息缓存:缓存 1min.ai 用户信息,减少 API 请求
- 📊 Web 管理界面:提供友好的 Web 界面管理 tokens
- 🔒 认证保护:管理 API 使用独立的认证秘钥保护
🚀 快速开始
前置要求
- Deno >= 1.40.0
#…