概要
Talorys はCloudflareアカウント内で動作する 無料・オープンソースAIアシスタント。 個人情報やタスク管理 を完全に自分のクラウドで完結。 サーバーや外部DB不要、開発者運営のアカウントも不要。 Cloudflare Workers Freeプラン対応、AI割当超過時も基本機能は利用可能。 セキュリティ・プライバシー重視 の設計。
Talorysとは
- プライベートAIアシスタント :ストリーミング応答、Markdown、ツールアクティビティ表示
- メモリー機能 :個人情報や好みを保存・編集・削除可能、必要な情報だけAIに送信
- タスク・ノート・プロジェクト管理 :UIやチャットでCRUD操作
- 例:「明日プロジェクトをレビューするタスクを追加して」
- 自動化 :リマインダー、定期通知、AIルーチンをスケジュール実行
- シングルユーザー設計 :サインアップやチーム機能なし、インストール時にオーナーパスワード設定
- AIなしでも動作 :AI割当切れやWorkers AI未利用時もタスク・メモ・リマインダーは利用可能
仕組み
- ブラウザ → Cloudflare Pages (Reactアプリ+API Pages Function)
- サービスバインディングで 非公開Worker へAPI転送
- プライベートWorker (Honoルーター)
- TalorysAgent (Cloudflare Agents SDK Durable Object)
- SQLite :会話、メモリー、タスク、ノート、プロジェクト、オートメーション、セッション、設定、使用量
- Workers AI :@cf/zai-org/glm-4.7-flash(ストリーミング+ツール呼び出し)
- アラーム :リマインダー・定期スケジュール
- TalorysAgent (Cloudflare Agents SDK Durable Object)
- 認証・認可 はWorker内で処理、フロントエンドには依存しない
- チャット応答 はSSE(Server-Sent Events)でエンドツーエンド配信
利用Cloudflareサービス
- Cloudflare Pages :フロントエンド+Pages Function(無料)
- Cloudflare Workers :プライベートAPI Worker(無料)
- Durable Objects (SQLite) :全データ・アラーム(無料)
- Workers AI :チャットモデル(無料割当あり)
- 有料サービスは自動利用しない、R2/D1/KV/Vectorize等は未使用
デプロイ方法
- コマンド:
npx create-talorys@latest- Node.js 20.18+必須、Wrangler CLI自動利用
- Cloudflareログイン認証、アカウント・エージェント名選択
- オーナーパスワード入力(PBKDF2-SHA256でハッシュ化しCloudflareシークレットに保存)
- 256ビットセッションシークレット生成、リソース名自動生成
- プライベートWorker・Pagesプロジェクト自動デプロイ
- ライブデプロイ検証(AI推論は行わない)
talorys/ディレクトリにインストール情報と成果物保存- 途中停止時も再実行で自動復旧、既存リソースは重複作成しない
- 非対話的インストール :環境変数で自動化対応
アクセス・パスワード管理
- インストーラ出力のURLにアクセス、オーナーパスワードでサインイン
- 複数デバイスから同一オーナーで利用可能、セッション管理もUIから可能
- パスワード忘れ時:
npx create-talorys@latest reset-passwordでリセット
データ保存先・プライバシー
- 全データ はCloudflareアカウント内の SQLite Durable Object に保存
- Talorys開発者へのデータ送信なし、解析・追跡・広告コードも未搭載
- Cloudflareのサービス提供に必要な範囲でのみデータ処理
- セキュリティモデル・脅威対策 は公式ドキュメント参照
料金・無料枠と制限
- Cloudflare Workers Freeプラン 対応、 有料機能は自動で有効化しない
- 無料枠:リクエスト数、Durable Object利用、Workers AI日次割当など
- AI割当超過時はチャットに通知、翌日リセット後自動復帰
- AI未利用時もタスク等は利用可能、データ消失なし
- 有料プランの場合はCloudflareの料金体系に準拠
- 設定でAI利用ガードレール調整可能
- 最大出力トークン数、コンテキスト長、ツール呼び出し回数、日次AIリクエスト数、日次AIスケジュール数
- シンプルなリマインダー・タスク通知はAI未使用
ローカル開発
- 必要要件: Node.js 20.18+
git clone https://github.com/rociiu/talorys.gitnpm install→npm run dev- agent Worker(wrangler dev, ポート8787)
- Pages Functionプロキシ(wrangler pages dev, ポート8788)
- Vite UI(http://localhost:5173)
- ローカルパスワードとダミーAIプロバイダー利用、Cloudflareログイン不要
- 状態は
.wrangler/stateに保存
- その他スクリプト:
npm run build、npm test、npm run typecheck等
バックアップ・復元
- 設定 → プライバシー → バックアップダウンロード :
talorys-backup.json生成- 会話、メモリー、タスク、ノート、プロジェクト、設定、オートメーションを含む
- セッション・認証情報は含まない
- インポート時はバリデーションとトランザクション処理、同じバックアップの重複インポートも安全
アップデート方法
npx create-talorys@latest update- 最新Worker・フロントエンドを同一リソースにデプロイ
- Durable Objectネームスペースは再作成せず、パスワード・セッションも維持
- スキーママイグレーションは自動・トランザクションで実行
- その他:
status、doctorコマンドも利用可能
トラブルシューティング
- インストーラ途中停止 :同じコマンド再実行で復旧
- 「did not pass its health checks yet」 :数分待って再実行
- 権限エラー :必要な権限のあるアカウントやAPIトークン利用
- AI割当超過 :日次リセット待ち、または設定→AIでデモモード有効化
- ログイン失敗によるロックアウト :15分待機、またはCLIでパスワードリセット
npx create-talorys@latest doctorで自動チェック
リポジトリ構成
apps/agent:プライベートWorker(Hono API, TalorysAgent, ツール, SQLiteリポジトリ)apps/web:React+Viteアプリ、Pages Functionpackages/shared:Zodスキーマ、型、周期/DSTロジック、パスワードハッシュpackages/create-talorys:ワンコマンドインストーラnpmパッケージtests/e2e:Playwright UIテストtests/smoke:実アカウント用デプロイテストdocs/:アーキテクチャ、デプロイ、開発、セキュリティ、トラブルシュート- ライセンス :MIT