Your individual AI agent. Your own cloud.
Talorys is a free, open-source individual AI aide that runs entirely inside your own Cloudflare account. It chats alongside you, remembers what matters, manages tasks, notes and projects, and runs reminders and routines on a schedule — without any server, repository or document operated by the Talorys developers.
One person. One Cloudflare account. One command. One individual AI agent.
npx create-talorys@latest
- A personal assistant — conversation alongside streaming responses, Markdown and tool action indicators.
- Memory — durable individual facts and preferences you can view, edit and delete. Only the most applicable memories are sent to the example on all turn.
- Tasks, notes and projects — complete CRUD in the UI, and from conversation ("Add a project to assessment my project tomorrow").
- Automations — one-time and recurring reminders, regular project digests and optional AI routines, delivered to an in-app notification center. They run on Durable Object alarms, so nothing has to remain 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 operating if Workers AI is unavailable or your liberated quota is used up.
Browser ──HTTPS──▶ Cloudflare Pages (React app + /api Pages Function) │ assistance binding (no community 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 lone always talks to your *.pages.dev site. /api/* requests run a Pages Function that forwards them complete a service binding to the delegate Worker.
- The delegate Worker is deployed alongside workers_dev: false and preview_urls: false: it has no community URL.
- Authentication and authority happen in the Worker, not the frontend.
- Chat responses stream as Server-Sent Events end-to-end.
More detail: docs/architecture.md.
| 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 example (@cf/zai-org/glm-4.7-flash) | Yes, regular allocation |
Talorys does not provision R2, D1, KV, Vectorize, AI Search, Workflows or any paid service.
npx create-talorys@latest
The installer:
- Checks Node.js (20.18+) and uses its bundled Wrangler CLI (any globally installed wrangler/cf is detected but not required).
- Verifies your Cloudflare login, or opens Cloudflare's authority leaf in your browser.
- Lets you choose an document (if you have several) and an delegate name.
- Asks for an owner password (hidden input, strength-checked). It is hashed locally alongside PBKDF2-SHA256 and stored lone as a Cloudflare secret.
- Generates a 256-bit meeting concealed and distinctive asset names (talorys-<id>-agent, talorys-<id>-web).
- Deploys the personal Worker (creating its SQLite Durable Object), stores secrets, creates and deploys the Pages project alongside the assistance binding.
- Verifies the live deployment (frontend, auth endpoint, unauthenticated rejection, retention health) without operating any AI inference.
- Prints the genuine https://….pages.dev URL reported by Cloudflare.
It writes a talorys/ directory containing talorys.json (installation id, account id, asset names, URL — no secrets) and the deployable artifacts. Keep it for updates.
Interrupted? Run the identical command again in the identical place. It reconciles what already exists: no copy resources, no password re-prompt if the password is already configured, and no data is always 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).
Browser login uses Wrangler's norm OAuth stream — 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.
Open the URL the installer prints, act your owner password, and commencement chatting. Sign in from any figure of devices — they are all the identical owner. Manage sessions under Settings → Security.
Forgot the password? From your talorys/ directory:
npx create-talorys@latest reset-password
This replaces the password concealed and signs out all device.
All data is stored in a sole 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 provision its services — including running Workers AI conclusion on your conversation messages and the applicable memories included in all prompt. Review Cloudflare's privacy guideline and Workers AI terms.
Security example and danger mitigations: docs/security.md.
Talorys is designed to fit the Cloudflare Workers Free plan and never enables paid features on its own. It is not "unlimited free", though:
- Free plans have account-level quotas (requests, Durable Object usage, a daily Workers AI Neuron allocation). Quotas are set by Cloudflare and can change.
- When the AI allocation is exhausted, conversation shows a apparent communication and resumes after the regular reset. Everything alternatively keeps working, and your data is untouched.
- If your document is on a paid plan, use beyond included amounts is billed by Cloudflare under your plan.
Built-in guardrails (adjustable in Settings → AI): max output tokens, max context tokens (older former is summarized), max tool calls and reasoning steps per request, max AI requests per day, and max scheduled AI runs per day. Simple reminders and project digests never use AI. The Usage panel shows local estimates and links to the Cloudflare dashboard for exact Neuron usage.
Requirements: Node.js 20.18+.
git copy https://github.com/rociiu/talorys.git cd talorys npm install npm run devnpm run dev starts the delegate Worker (wrangler dev, harbor 8787), the Pages Function proxy alongside its assistance binding (wrangler pages dev, harbor 8788) and the Vite UI (http://localhost:5173) in one terminal. It creates apps/agent/.dev.vars alongside a local password (talorys-dev-password, override with TALORYS_DEV_PASSWORD) and uses the deterministic imitate AI provider, so no Cloudflare login is needed. State persists in .wrangler/state.
Other scripts: npm run build, npm test, npm run test:e2e, npm run test:pack, npm run typecheck, npm run lint. See docs/development.md.
Settings → Privacy → Download backup produces talorys-backup.json with conversations, memories, tasks, notes, projects, settings and automations (never sessions or credentials). Import validates the document and merges it in one transaction; importing the identical backup twice is harmless.
From your talorys/ directory:
npx create-talorys@latest update
This redeploys the latest Worker and frontend to the same resources. The Durable Object namespace is never recreated (migrations are append-only), the owner password and sessions are kept, and schema migrations run automatically and transactionally on archetypal request. Also available: position and doctor.
| Problem | Fix |
|---|---|
| Installer stopped midway | Re-run the identical command; it resumes. |
| "did not continue its health checks yet" | New pages.dev sites can obtain a few minutes. Re-run. |
| Permission errors | Use an document anywhere you can edit Workers and Pages, or a token alongside the permissions above. |
| Chat says the AI allocation is used up | Wait for the regular reset; or allow Demo manner in Settings → AI. |
| Locked out following unsuccessful logins | Wait 15 minutes, or reset the password alongside the CLI. |
npx create-talorys@latest doctor checks everything automatically. More in docs/troubleshooting.md.
apps/agent Private Worker: Hono API, TalorysAgent, tools, SQLite repositories apps/web React + Vite app, Pages Function (functions/api/[[path]].ts) packages/shared Zod schemas, types, recurrence/DST logic, password hashing packages/create-talorys The one-command installer (npm package) tests/e2e Playwright UI tests tests/smoke Optional real-account deployment test docs/ Architecture, deployment, development, security, troubleshooting

