Talorys – A self-hosted personal AI agent on Cloudflare's free tier
Talorys: Your Personal AI Agent Hosted on Cloudflare's Free Tier
Talorys is an open-source, self-hosted AI assistant designed to live entirely within your own Cloudflare ecosystem. Instead of relying on a third-party server or a developer-managed database, Talorys empowers you to own your data and your agent.
It provides a comprehensive suite of tools—including chat, long-term memory, task tracking, and scheduled routines—all deployable via a single command: npx create-talorys@latest.
🚀 Core Capabilities
Talorys is more than just a chatbot; it is a productivity hub.
- Private Conversationalist: Enjoy a chat interface featuring streaming responses, Markdown support, and clear indicators when the AI is using tools.
- Persistent Memory: The agent stores personal facts and preferences. To maintain efficiency,
it sends everythingonly the most relevant memories are injected into the model's context during a conversation. - Organization Tools: Manage notes, projects, and tasks through a full CRUD (Create, Read, Update, Delete) interface. You can also manage these via chat (e.g., "Remind me to check the project status tomorrow").
- Intelligent Automations:
- One-time or recurring reminders.
- Daily summaries of your tasks.
- Custom AI-driven routines.
- Mechanism: These are powered by Durable Object alarms, meaning the system doesn't need a constant "heartbeat" to trigger events.
- AI-Independent Functionality: Even if you exhaust your Workers AI quota or the service is down, your tasks, notes, and memories remain fully accessible and functional.
🛠️ Technical Architecture
The system is designed for maximum privacy and efficiency. The browser never interacts with the backend directly; everything is routed through a secure pipeline.
Infrastructure Breakdown
| Cloudflare Service | Role in Talorys | Free Tier Compatible? |
|---|---|---|
| Cloudflare Pages | Hosts the React frontend and API functions | ✅ |
| Cloudflare Workers | Acts as the private API router (Hono) | ✅ |
| Durable Objects | Manages SQLite data and scheduling alarms | ✅ |
| Workers AI | Runs the @cf/zai-org/glm-4.7-flash model | ✅ |
Note: Talorys is lean. It does not require R2, D1, KV, Vectorize, AI Search, or any paid Cloudflare Workflows.
📦 Deployment Guide
Getting started is streamlined through a CLI installer.
Installation Steps
- Run the command:
npx create-talorys@latest - Environment Check: The installer verifies Node.js (v20.18+) and handles the Wrangler CLI.
- Authentication: Log in via the browser-based OAuth flow.
- Configuration: Select your account and define a unique agent name.
- Security Setup:
- The password is hashed locally using .
- A 256-bit session secret is generated.
- Provisioning: The tool deploys the private Worker (with SQLite) and the Pages project.
- Verification: The installer tests the frontend, auth endpoints, and storage health.
Quick Deploy Command:
npx create-talorys@latest --yes --account-id <your-id>
(Requires CLOUDFLARE_API_TOKEN to be set in your environment).
Post-Installation
Once finished, the installer provides your unique https://….pages.dev URL. It also creates a local talorys/ directory containing talorys.json (which stores your installation ID and resource names, but no secrets).
🔐 Security & Privacy
Access Control
- Authentication: Handled entirely within the Worker (backend), not the frontend.
- Multi-Device: You can sign in from any device using your owner password.
- Password Reset: If you lose your password or want to force a logout on all devices, run:
npx create-talorys@latest reset-passwordfrom yourtalorys/folder.
Permissions
If using an API token instead of OAuth, ensure the following permissions are granted:
AccountWorkers ScriptsEditAccountCloudflare PagesEditAccountWorkers AIReadAccountAccount SettingsReadUserUser DetailsRead (Optional)
Data Sovereignty
Talorys is built with a "zero-knowledge" philosophy regarding the developers. All data resides in a single SQLite-backed Durable Object within your account. There is no telemetry, no tracking, and no advertising code.