
2026/10/10 19:52
タルロリス – クラウドフリールの無料プランでホストする個人用 AI エージェント
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
改善されたサマリー:
Talorys は、外部サーバーやデータベースを必要とせず、完全にあなたの Cloudflare アカウント内で動作する無料のオープンソース個人 AI エージェントです。そのアーキテクチャは、フロントエンドに Cloudflare Pages、API にはプライベートな Workers、データを SQLite をバックにした Durable Objects を使用し、ユーザーデータが環境外に出たり開発者に送信されたりしないように設計されています。単一ユーザーのプライバシーを重視しており、公開登録やチーム機能はサポートされておらず、認証はハッシュ化されたパスワードを用いて内部で処理されます。インストールは単純なコマンドラインツール(
npx create-talorys@latest)で行え、検証とデプロイを行いながら即時の AI へのアクセスは不要です。システムはストリーミング応答を伴うチャット、タスク管理、アラームによる自動ルーチン、設定で調整可能な出力トーク数やコンテキストサイズのガードレールをサポートします。無料の Cloudflare クォータによって動作しますが、AI 推論の日常利用限度に達しても、リセットまでメモ帳など非 AI 機能は引き続き使用可能です。データは JSON ファイルにバックアップされ、機密資格情報は除外されており、CLI コマンドによる更新で既存のデータ構造を安全に移行できます。このサーバーレスアプローチにより、高度な技術知識がなくても利用可能な堅牢で安全な自動化ツールを提供します。本文
Talorys:あなたの個人 AI エージェントとクラウド
Talorys は、サーバーやデータベースを介さず、完全にあなたが所有する Cloudflare アカウント内で動作する無料のオープンソース・AI アシスタント です。
- 開発者が運用するアカウントを使用しません。
- 一度のコマンドでインストール可能です。
- プライバシー重視:データはあなたの Cloudflare アカウント内にのみ格納されます。
主要機能
Talorys は以下の機能を備えた、一人専用の AI エージェントです。
- プライベートアシスタント
- ストリーミングレスポンス付きチャットを提供。
- Markdown 表示とツールアクティビティインジケーターに対応。
- 記憶機能
- ご覧・編集・削除可能な永続的な個人事実および好みを保持します。
- 各ターンでは、モデルに送信されるのは 最も関連性の高い記憶のみ です。
- タスク、ノート、プロジェクト
- UI 上での完全な CRUD(作成・読取・更新・削除)操作が可能。
- チャットから実行可能(例:「明日のプロジェクトをレビューするタスクを追加してください」)。
- オートメーション
- 一回限りおよび定期的なリマインダー、日次タスク要約、オプションの AI ルーチンを提供。
- アプリ内の通知センターを通じて配信され、Durable Object アラーム上で動作します(常にオンラインである必要はありません)。
- 設計上の独自性
- サインアップ不要、アカウント管理不要、チーム機能なし。
- インストーラーがオーナーパスワードを設定します。
- AI の非依存動作
- Workers AI が利用できない場合や無料クォータを使い果たした際でも、タスク、ノート、記憶、リマインダーは引き続き正常に動作します。
仕組み(アーキテクチャ)
Browser ──HTTPS──▶ Cloudflare Pages (React アプリ + /api ページ関数) │ サービスバインド(パブリック URL なし) ▼ プライベートワーカー(Hono ルーター) │ getAgentByName("personal-agent") ▼ TalorysAgent — Cloudflare Agents SDK Durable Object ├─ SQLite: チャット履歴、記憶、タスク、ノート、プロジェクト、 │ オートメーション、セッション、設定、使用状況 ├─ Workers AI: @cf/zai-org/glm-4.7-flash(ストリーミング + ツール呼出し) └─ アラーム: リマインダーおよび周期的スケジュール ブラウザは常に `*.pages.dev` サイトとの通信のみを行います。`/api/*` リクエストはページ関数内で処理され、サービスバインドを通じてエージェントワーカーへ中継されます。 ### 特徴 * **認証と認可**:フロントエンドではなくワーカー内で実装されています。 * **パブリック URL なし**:`workers_dev: false` および `preview_urls: false` の設定でデプロイされており、セキュリティを向上させています。 * **チャットレスポンス**:エンドツーエンドのサーバー・センテッドイベント(SSE)としてストリーミングされます。 より詳細な情報は [`docs/architecture.md`](https://github.com/rociiu/talorys/blob/main/docs/architecture.md) をご参照ください。 ## 使用される Cloudflare サービス Talorys は無料プランで完結し、複雑な有料サービスは使用しません。 | サービス | 用途 | フリープラン対応 | | :--- | :--- | :--- | | **Cloudflare Pages** | フロントエンド + ページ関数 | ✅ はい | | **Cloudflare Workers** | プライベート API ワーカー | ✅ はい | | **Durable Objects (SQLite)** | すべてのデータ、スケジュールアラーム | ✅ はい | | **Workers AI** | チャットモデル (`@cf/zai-org/glm-4.7-flash`) | ✅ はい(日割り割当あり) | ※ Talorys は R2、D1、KV、Vectorize、AI Search、Workflows、あるいは有料サービスなどはプロビジョニングしません。 ## インストールとデプロイ 一度のコマンドで完結します。 ### 基本コマンド ```bash npx create-talorys@latest
インストーラーの動作フロー
インストーラーは以下の手順を自動実行します:
- 環境確認
- Node.js(20.18 以降)を確認。
- 必要に応じて Wrangler CLI を使用(グローバルインストールは必須ではありません)。
- 認証処理
- Cloudflare ログインの有無を確認し、ログインしていない場合はブラウザで認証ページを開きます。
- 複数アカウントの場合、選択とエージェント名の指定を促します。
- パスワード設定
- オーナーパスワードの入力を求めます(非表示入力、強度チェックあり)。
- パスワードは PBKDF2-SHA256 でローカルにハッシュ化され、Cloudflare シークレットとしてのみ保存されます。
- リソース生成
- 256 ビットのセッションシークレットと一意のリソース名(
、talorys-<id>-agent
)を生成します。talorys-<id>-web
- 256 ビットのセッションシークレットと一意のリソース名(
- デプロイメント
- プライベートワーカー(SQLite Durable Object 作成)、Pages プロジェクトを作成・デプロイ。
- AI 推論なしでライブ検証を行い、実際の
URL を出力します。https://….pages.dev
インストール完了後、
talorys/ ディレクトリが作成されます。ここでは talorys.json(設定情報)とアーティファクトが含まれます。
非対話型インストール
TALORYS_OWNER_PASSWORD=... npx create-talorys@latest --yes --account-id <id>
※ログインしていない場合は、
CLOUDFLARE_API_TOKEN も設定する必要があります。
権限(API トークン使用时)
ブラウザでのログインは Wrangler の標準 OAuth フローを使用するため、グローバル API キーは不要です。API トークンを使用する場合は、以下の権限が必要です:
- Account › Workers Scripts › Edit
- Account › Cloudflare Pages › Edit
- Account › Workers AI › Read
- Account › Account Settings › Read
- User › User Details › Read(オプション;メールアドレスを表示する場合)
詳細は
をご参照ください。docs/deployment.md
アクセス方法
- インストーラーが出力した URL を開きます。
- オーナーパスワードを入力してチャットを開始します。
- 複数のデバイスからサインインすることも可能です(すべて同じオーナーとして扱われます)。
パスワードのリセット
パスワードを忘れた場合は、以下のコマンドを実行してください:
npx create-talorys@latest reset-password
これによりパスワードシークレットが更新され、すべてのデバイスでのログインセッションが終了します。
データの保存とプライバシー
- 保存場所:すべてのデータは、Cloudflare アカウント内の単一の SQLite に基づく Durable Object(
)に格納されます。personal-agent - 第三者送信なし:Teleメトリ、分析、トラッキング、広告コードは一切含んでおらず、開発者へ何も送信しません。
Cloudflare プログラムはあなたのデータを処理してサービスを提供します(チャットメッセージへの AI 推論の実行や、プロンプトに含まれる関連記憶の処理など)。セキュリティモデルについては
をご参照ください。docs/security.md
無料機能と有料機能について
Talorys は Cloudflare Workers フリープラン に適合するように設計されています。「無制限の無料」ではありませんが、AI の使用量に限界があっても他の機能は止まりません。
クォータと運用
- アカウントレベルのクォータ:リクエスト数、Durable Object 使用量、日次 Workers AI Neuron 割当てがあります(Cloudflare が設定・変更)。
- AI 割当てを使い果たした場合:
- チャット画面に明確なメッセージが表示されます。
- 翌日のリセット後に自動的に再開されます。
- タスク、ノート、記憶、リマインダーなどの他の機能は引き続き動作し、データは一切影響を受けません。
- 有料プランの場合:含まれる使用量を超えた分についてのみ、Cloudflare が課金します。
ガードレール(設定から調整可能)
「設定」→「AI」メニューから以下の制限を調整できます:
- 最大出力トークン数
- 最大コンテキストトークン数(古い履歴は要約)
- 一度のリクエストあたりの最大ツール呼出し数および推論ステップ数
- 日次最大 AI リクエスト数
- 日次スケジュールされた AI 実行回数
※ 単純なリマインダーやタスク要約には AI は使用されません。「使用状況」パネルではローカル見積もりが表示され、正確な Neuron 使用量については Cloudflare ダッシュボードへのリンクが提供されます。
ローカル開発環境
要件:Node.js 20.18 以降。
git clone https://github.com/rociiu/talorys.git cd talorys npm install
ローカル開発の起動
npm run dev コマンドを実行すると、一つのターミナル内で以下のサービスを起動します:
- エージェントワーカー(wrangler dev, ポート 8787)
- ページ関数プロキシとサービスバインド(wrangler pages dev, ポート 8788)
- Vite UI(http://localhost:5173)
ローカル開発の特徴
にローカルパスワード(デフォルト:apps/agent/.dev.vars
、talorys-dev-password
で上書き可能)が設定されます。TALORYS_DEV_PASSWORD- 確定した モック AI プロバイダ が使用されるため、Cloudflare ログインは不要です。
- ステートは
に永続化されます。.wrangler/state
その他のスクリプト
npm run buildnpm test
(Playwright UI テスト)npm run test:e2enpm run test:packnpm run typechecknpm run lint
詳細は
をご参照ください。docs/development.md
データのバックアップとアップデート
バックアップのダウンロード
「設定」→「プライバシー」→「バックアップをダウンロード」を選択すると、以下のデータを含む
talorys-backup.json が生成されます:
- チャット履歴
- 記憶、タスク、ノート、プロジェクト、設定
- オートメーション(※セッションや認証情報は含まれません)
インポートはファイルを検証し、一つのトランザクションでマージします。同じバックアップを二度インポートしても問題ありません。
アップデート
talorys/ ディレクトリから実行します:
npx create-talorys@latest update
このコマンドは、最新のワーカーとフロントエンドを同一のリソースに再デプロイします。
- Durable Object 名前空間は決して再作成されず(マイグレーションは追加専用)、オーナーパスワードとセッションは保持されます。
- スキーママイグレーションも最初のリクエスト時に自動的かつトランザクショナルに実行されます。
- また、
およびstatus
コマンドも利用可能です。doctor
トラブルシューティング
| 問題 | 解決策 |
|---|---|
| インストーラーが途中で停止 | 同じコマンドを再度実行すると再開されます。 |
| "ヘルスチェックにまだ合格していない" | 新しい サイトには数分かかる場合があります。再実行してください。 |
| 権限エラー | ワーカーおよびページを編集できるアカウントを使用するか、上記の権限を持つトークンを使用してください。 |
| チャットで「AI 割当が使用済み」と表示 | 日次リセットを待つか、「設定」→「AI」でデモモードを有効化してください。 |
| ログイン失敗後にロックアウト | 15 分待つか、CLI でパスワードをリセットしてください。 |
自動チェックコマンド:
npx create-talorys@latest doctor
これにより、すべての項目が自動的にチェックされます。詳細は
をご参照ください。docs/troubleshooting.md
リポジトリの構成
:プライベートワーカー(Hono API、TalorysAgent、ツール、SQLite)apps/agent
:React + Vite アプリ、ページ関数apps/web
:Zod スキーマ、型定義、周期性/DST ロジック、パスワードハッシングpackages/shared
:インストーラー(npm パッケージ)packages/create-talorys
:Playwright UI テストtests/e2e
:実アカウントデプロイメントテストtests/smoke
:アーキテクチャ、デプロイ、開発、セキュリティ、トラブルシューティングドキュメントdocs/
ライセンス: MIT