Skip to content

Latest commit

 

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

matomeru

OpenAI APIで会議音声から話者推定付きの文字起こしと議事録を作るDeno + SQLiteアプリです。WebAudioによるリアルタイム文字起こしにも対応しています。

deno task dev

.envにはPORT、ADMIN_USER_ID、PASSKEY_RP_ID、PASSKEY_ORIGIN、POINTS_PER_USD、OPENAI_API_KEY、OPENAI_MODELを設定します。POINTS_PER_USD=1700は、API料金1ドルに対して1700pt(ドル料金の1.7倍)として換算します。新規登録時のIDは128bitのランダム値で生成され、ADMIN_USER_IDと一致するユーザーが管理者になります。認証にはパスキーを使用します。話者分離モデルはOPENAI_TRANSCRIBE_MODEL、Realtime文字起こしモデルはOPENAI_REALTIME_TRANSCRIBE_MODELで変更できます。

デプロイ手順

1. 配置

サーバーにDeno 2.xをインストールし、リポジトリを配置します。

git clone <repository-url> matomeru
cd matomeru
cp .env.example .env

2. 本番用環境変数

.envを編集します。OPENAI_API_KEYなどの秘密情報はGitへ登録しません。

PORT=8101
OPENAI_API_KEY=設定したAPIキー
OPENAI_MODEL=gpt-4o-mini
OPENAI_TRANSCRIBE_MODEL=gpt-4o-transcribe-diarize
OPENAI_REALTIME_TRANSCRIBE_MODEL=gpt-live-transcribe
POINTS_PER_USD=1700

# 例: https://minutes.example.com で公開する場合
PASSKEY_RP_ID=minutes.example.com
PASSKEY_ORIGIN=https://minutes.example.com
PASSKEY_RP_NAME=matomeru
ADMIN_USER_ID=

PASSKEY_ORIGINは実際にブラウザで開くoriginと完全に一致させます。公開環境ではHTTPSが 必要です。PASSKEY_RP_IDは通常、公開ドメイン名です。

3. 起動

deno task start

初回起動時にdata/matomeru.sqliteと必要なテーブルが作成されます。外部モジュールの import許可を含む起動権限はdeno.jsonのstartタスクで指定済みです。

4. リバースプロキシ

NginxなどのTLS終端を前段に置く場合は、通常のHTTPに加えて/api/realtimeのWebSocket Upgradeを転送します。ブラウザからはhttps://公開ドメイン/でアクセスします。

5. 管理者設定

新規登録で発行されたIDをADMIN_USER_IDへ設定して再起動すると、そのユーザーが管理者に なります。ADMIN_USER_IDを事前に設定している場合は、そのIDを最初のパスキー登録に 使用できます。

deno task start

6. 動作確認

deno fmt --check
deno lint
deno check --allow-import src/server.ts
deno test --allow-read --allow-write --allow-env --allow-import

ログイン後、マイク許可、パスキー登録、リアルタイム録音、議事録JSONダウンロードを確認 します。

運用上の注意

  • data/は永続ディスクへ置き、定期的にバックアップします。
  • .env、SQLite本体、WAL/SHMファイルを公開・commitしません。
  • 依存モジュールを更新する場合は、deno.lockも確認してからデプロイします。
  • サーバー更新時はdeno task startを停止してから再起動します。

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages