TreeMap
A free, open-source disk-space visualizer. Squarified treemap, duplicate hunting, disk-full forecasting, and cleanup that only ever moves files to the Trash.
翻譯準備中
Your personal AI agent in your own Cloudflare account. Chat, memory, tasks, notes and scheduled reminders, deployed with one command: npx create-talorys@latest. Free-tier friendly, single-user, no tel
翻譯準備中
生產力TypeScript · JavaScriptGitHub @rociiu自行安裝營運者未確認
試用過了嗎? 點一下就好,不需要登入。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
安裝型專案無需部署網域也可驗證。個人儲存庫可透過 GitHub 登入驗證,組織儲存庫可使用上方的儲存庫驗證檔案。
Your personal AI agent in your own Cloudflare account. Chat, memory, tasks, notes and scheduled reminders, deployed with one command: npx create-talorys@latest. Free-tier friendly, single-user, no telemetry.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗Your personal AI agent. Your own cloud.
Website: rociiu.github.io/talorys
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@latest
Or install it with Appflare, which deploys it as a single Worker:
--semantic. See docs/semantic-recall.md.| Chat with tool activity | Tasks |
|---|---|
| Memory (dark mode) | Automations |
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
*.pages.dev site. /api/* requests run a
Pages Function that forwards them over a service binding to the agent Worker.workers_dev: false and preview_urls: false:
it has no public URL.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 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.
npx create-talorys@latest
The installer:
wrangler/cf is detected but not required).talorys-<id>-agent, talorys-<id>-web).https://….pages.dev URL 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).
Browser login uses Wrangler's standard OAuth flow — no Global API Key. If you use an API token instead, it needs:
See docs/deployment.md.
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-password
This replaces the password secret and signs out every device.
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.
If you connect a remote MCP server, calling one of its tools sends that call's arguments to the server, outside your Cloudflare account. Nothing is sent to an MCP server unless you connected it and turned the tool on. See docs/mcp.md.
Security model and threat mitigations: docs/security.md.
Calling the API from scripts with personal access tokens: docs/remote-access.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:
Built-in guardrails (adjustable in Settings → AI): max output tokens, max context tokens (older history is summarized), max tool calls and reasoning steps per request, max AI requests per day (every chat-model call counts, including each reasoning step, history summary and memory check), and max scheduled AI runs per day. Embeddings have their own daily request cap. Simple reminders and task digests never use AI.
The Usage panel separates provider-reported tokens from fallback token estimates, and shows local estimated Neurons and USD inference value for today and the last seven days. Model-specific estimates use static published Workers AI rates at the time each call is recorded; the pricing date and source are linked in the panel. They are not a Cloudflare bill or quota balance: account-wide usage and free allowances are excluded. No account credentials or extra network calls are needed for these estimates.
Unsupported models remain unpriced, not free. Mixed coverage is labelled as a partial subtotal, while historical mixed token counts retain an unknown model and provenance and cannot be repriced. Demo/mock calls show estimated tokens but have no real AI consumption and no Neuron or USD estimate. Completed model steps remain counted if a later step fails or is cancelled; steps without a usage receipt cannot be measured. Use the linked Cloudflare dashboard for account-level usage and billing.
Requirements: Node.js 22+.
git clone https://github.com/rociiu/talorys.git
cd talorys
npm install
npm run dev
npm run dev starts the agent Worker (wrangler dev, port 8787), the Pages
Function proxy with its service binding (wrangler pages dev, port 8788) and
the Vite UI (http://localhost:5173) in one terminal. It creates
apps/agent/.dev.vars with a local password (talorys-dev-password, override
with TALORYS_DEV_PASSWORD) and uses the deterministic mock 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 file and merges it in
one transaction; importing the same backup twice is harmless, and a memory,
task, note or project you edited locally after the backup was made is not
overwritten. Memory history (current vs. past facts) is included. Older backups import as before. Settings include
the effective installer defaults. If an imported timezone changes, retained
local automations are also rescheduled in that timezone. A backup file is
treated as untrusted: new automations arrive paused, existing automations are
never changed except to pause them, and the model, limits, demo mode,
auto-memory and memory history settings are kept as they are (the import
result lists any it skipped).
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 first request. Also available: status and doctor.
| Problem | Fix |
|---|---|
| Installer stopped midway | Re-run the same command; it resumes. |
| "did not pass its health checks yet" | New pages.dev sites can take a few minutes. Re-run. |
| Permission errors | Use an account where you can edit Workers and Pages, or a token with the permissions above. |
| Chat says the AI allocation is used up | Wait for the daily reset; or enable Demo mode in Settings → AI. |
| Locked out after failed logins | Wait 15 minutes, or reset the password with 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
Thanks to everyone who has contributed to Talorys: