Hacker News AI · 10/10/2026, 18:52:09
Talorys Open-Source Personal AI Agent: Serverless Deployment on Cloudflare Workers with Persistent Memory and Automated Task Scheduling
Talorys is a fully open-source personal AI agent framework enabling serverless deployment on Cloudflare's free tier via a single command. It integrates streaming chat, editable persistent memory, and task automation based on Durable Object alarms, balancing data privacy with minimal operational costs.
SOURCE COVERAGEFull Original Report
Contents8 sections
Your personal AI agent. Your own cloud.
Talorys is a free, open-source personal AI assistant that runs entirely inside your own Cloudflare account. It chats with you, remembers what matters, manages tasks, notes and projects, and runs reminders and routines on a schedule — without any server, database or account operated by the Talorys developers.
One person. One Cloudflare account. One command. One personal AI agent.
npx create-talorys@latest1. What Talorys is
- A private assistant — chat with streaming responses, Markdown and tool activity indicators.
- Memory — durable personal facts and preferences you can view, edit and delete. Only the most relevant memories are sent to the model on each turn.
- Tasks, notes and projects — full CRUD in the UI, and from chat ("Add a task to review my project tomorrow").
- Automations — one-time and recurring reminders, daily task digests and optional AI routines, delivered to an in-app notification center. They run on Durable Object alarms, so nothing has to stay online.
- Single-user by design — no signup, no accounts, no teams. The installer sets the owner password.
- Works without AI — tasks, notes, memories and reminders keep working if Workers AI is unavailable or your free quota is used up.
Screenshots
| Chat with tool activity | Tasks |
|---|---|
![]() | ![]() |
| Memory (dark mode) | Automations |
![]() | ![]() |
2. How it works
Browser ──HTTPS──▶ Cloudflare Pages (React app + /api Pages Function)
│ service binding (no public URL)
▼
Private Worker (Hono router)
│ getAgentByName("personal-agent")
▼
TalorysAgent — Cloudflare Agents SDK Durable Object
├─ SQLite: conversations, memories, tasks, notes, projects,
│ automations, sessions, settings, usage
├─ Workers AI: @cf/zai-org/glm-4.7-flash (streaming + tool calling)
└─ Alarms: reminders and recurring schedules- The browser only ever talks to your
*.pages.devsite./api/*requests run a Pages Function that forwards them over a service binding to the agent Worker. - The agent Worker is deployed with
workers_dev: falseandpreview_urls: false: it has no public URL. - Authentication and authorization happen in the Worker, not the frontend.
- Chat responses stream as Server-Sent Events end-to-end.
More detail: docs/architecture.md.
3. Cloudflare services used
| Service | Used for | Free plan |
|---|---|---|
| Cloudflare Pages | Frontend + Pages Function | Yes |
| Cloudflare Workers | Private API Worker | Yes |
| Durable Objects (SQLite) | All data, scheduling alarms | Yes |
| Workers AI | Chat model (@cf/zai-org/glm-4.7-flash) | Yes, daily allocation |
Talorys does not provision R2, D1, KV, Vectorize, AI Search, Workflows or any paid service.
4. Deploy
npx create-talorys@latestThe installer:
- Checks Node.js (20.18+) and uses its bundled Wrangler CLI (any globally installed
wrangler/cfis detected but not required). - Verifies your Cloudflare login, or opens Cloudflare's authorization page in your browser.
- Lets you choose an account (if you have several) and an agent name.
- Asks for an owner password (hidden input, strength-checked). It is hashed locally with PBKDF2-SHA256 and stored only as a Cloudflare secret.
- Generates a 256-bit session secret and unique resource names (
talorys-<id>-agent,talorys-<id>-web). - Deploys the private Worker (creating its SQLite Durable Object), stores secrets, creates and deploys the Pages project with the service binding.
- Verifies the live deployment (frontend, auth endpoint, unauthenticated rejection, storage health) without running any AI inference.
- Prints the real
https://….pages.devURL reported by Cloudflare.
It writes a talorys/ directory containing talorys.json (installation id,
account id, resource names, URL — no secrets) and the deployable artifacts.
Keep it for updates.
Interrupted? Run the same command again in the same place. It reconciles what already exists: no duplicate resources, no password re-prompt if the password is already configured, and no data is ever deleted.
Non-interactive installs: TALORYS_OWNER_PASSWORD=... npx create-talorys@latest --yes --account-id <id>
(with CLOUDFLARE_API_TOKEN set if you are not logged in).
Permissions
Browser login uses Wrangler's standard OAuth flow — no Global API Key. If you use an API token instead, it needs:
- Account › Workers Scripts › Edit
- Account › Cloudflare Pages › Edit
- Account › Workers AI › Read
- Account › Account Settings › Read
- User › User Details › Read (optional; shows your email)
See docs/deployment.md.
5. Access
Open the URL the installer prints, enter your owner password, and start chatting. Sign in from any number of devices — they are all the same owner. Manage sessions under Settings → Security.
Forgot the password? From your talorys/ directory:
npx create-talorys@latest reset-passwordThis replaces the password secret and signs out every device.
6. Where your data lives
All data is stored in a single SQLite-backed Durable Object (personal-agent)
in your Cloudflare account. Talorys has no telemetry, analytics, tracking or
advertising code and sends nothing to its developers.
Cloudflare processes your data to provide its services — including running Workers AI inference on your chat messages and the relevant memories included in each prompt. Review Cloudflare's privacy policy and Workers AI terms.
Security model and threat mitigations: docs/security.md.
(注:更多技术实现细节与完整 API 文档请查阅原项目 README)



