Talorys 个人 AI 助手

一条命令把只属于你一个人的 AI 助手部署进自己的 Cloudflare 账户,聊天、记忆、任务与定时提醒全在自己名下。

Star 数
★ 949
最近更新
今天
License
MIT
主语言
TypeScript

30 秒速览

可在哪里用
平台专用
开始前需要
Node.js 22+Cloudflare 账户Wrangler CLI(随附)Shell / 命令行网络访问本地文件系统
典型场景
个人开发者想在不订阅任何 SaaS 的前提下,用免费额度给自己的 Cloudflare 账户装一个只服务自己的助手。
主要局限
强 Cloudflare 绑定:运行完全依赖 Cloudflare Pages、Workers、Durable Objects(SQLite)与 Workers AI,无法迁移到其他云或本地运行产品形态。

这个 Agent 能做什么,适合哪些场景?

Talorys 是一个开源的单用户个人 AI 助手,整套系统运行在你自己拥有的 Cloudflare 账户里,Talorys 开发者不运营任何服务器、数据库或账号。它的前端是部署在 Cloudflare Pages 上的 React 应用,/api/* 请求由一个 Pages Function 通过 service binding 转发给一个私有 Worker(Hono 路由),该 Worker 不开放公网地址(workers_dev: false、preview_urls: false)。核心逻辑位于 Cloudflare Agents SDK 的 Durable Object「TalorysAgent」中,所有会话、记忆、任务、笔记、项目、自动化、会话凭据与设置都存在这个 SQLite 支持的持久化对象里,提醒与周期任务通过 Durable Object alarm 触发,因此无需常驻在线。模型调用走 Workers AI 的 @cf/zai-org/glm-4.7-flash,支持流式输出与工具调用;当 AI 不可用或每日配额用尽时,任务、笔记、记忆和提醒仍然照常工作。认证与授权在 Worker 内完成,安装脚本在本地用 PBKDF2-SHA256 哈希密码并只以 Cloudflare secret 形式保存,仓库声明不含任何遥测、分析或广告代码。

Talorys 把「聊天 + 记忆 + 待办 + 笔记 + 定时任务」合并成一个可自托管的服务:前端 React 应用(Cloudflare Pages)通过 functions/api/[[path]].ts 把请求转发到私有 Worker,Worker 用 Hono 路由并在 Worker 内做鉴权,再通过 getAgentByName("personal-agent") 调用 Durable Object TalorysAgent。TalorysAgent 内使用 SQLite 存储 conversations、memories、tasks、notes、projects、automations、sessions、settings、usage 等表;对话时调用 Workers AI 的 @cf/zai-org/glm-4.7-flash 进行流式生成和工具调用(加任务、写笔记、查记忆等),并以 Server-Sent Events 全程流式返回。提醒与每日任务摘要由 Durable Object alarm 调度,结果写入应用内通知中心;可选的语义记忆检索(Semantic memory recall)默认关闭,可在 Settings → AI 中开启或安装时加 --semantic。记忆历史会区分「当前事实」与「过去事实」,冲突未明时等待用户确认。Settings → Privacy 支持导出 talorys-backup.json 及导入合并,导入被当作不可信输入处理(新自动化默认暂停)。CLI 侧提供 create-talorys 的安装、update、status、doctor、reset-password 等子命令。

  1. 个人开发者想在不订阅任何 SaaS 的前提下,用免费额度给自己的 Cloudflare 账户装一个只服务自己的助手。
  2. 经常需要「明天提醒我复习项目」这类一次性或周期性提醒,但不希望为此常驻一台服务器或打开电脑。
  3. 希望把一个项目相关的笔记、任务和长期偏好集中在一个固定位置,并且能随时导出备份、换机不丢数据。
  4. 对隐私敏感、不接受第三方托管对话记录的用户,把数据边界限定在自己 Cloudflare 账户的 Durable Object 中。
  5. 已在使用 Cloudflare Workers/Pages 的开发者,想直接复用现有账号、Wrangler 与免费额度来托管个人助手。
  6. 多人共享设备但只需要一个所有者密码的个人用户,在手机和电脑上用同一个 owner 身份登录使用。

如何安装或部署这个 Agent?

前置条件:Node.js 22+、一个 Cloudflare 账户、能编辑 Workers 与 Pages 的权限。官方推荐的安装方式是一条命令(安装器会自带 Wrangler CLI):

npx create-talorys@latest

非交互式安装(需要提前设置 CLOUDFLARE_API_TOKEN):

TALORYS_OWNER_PASSWORD=... npx create-talorys@latest --yes --account-id <id>

如果改用 API Token 而不是浏览器 OAuth 登录,Token 需要以下权限:Account › Workers Scripts › Edit、Account › Cloudflare Pages › Edit、Account › Workers AI › Read、Account › Account Settings › Read、User › User Details › Read(可选)。

安装完成后会在当前目录生成 talorys/ 目录,内含 talorys.json(安装 ID、账户 ID、资源名、URL,不含密钥)与可部署产物,请保留以便后续 update。中断后可在同一位置重跑同一条命令继续,不会重复创建资源,也不会删除已有数据。

本地开发方式:

git clone https://github.com/rociiu/talorys.git
cd talorys
npm install
npm run dev

如何使用这个 Agent?

安装器会打印真实的 https://….pages.dev 地址,用浏览器打开后输入安装时设置的 owner 密码即可开始使用。

忘记密码时,在 talorys/ 目录执行(会替换密码 secret 并登出所有设备):

npx create-talorys@latest reset-password

升级与诊断:

npx create-talorys@latest update
npx create-talorys@latest status
npx create-talorys@latest doctor

本地开发时 npm run dev 会同时启动 agent Worker(wrangler dev,端口 8787)、带 service binding 的 Pages Function 代理(wrangler pages dev,端口 8788)和 Vite UI(http://localhost:5173),并自动生成 apps/agent/.dev.vars,使用确定性 mock AI provider,无需登录 Cloudflare:

npm run build
npm test
npm run test:e2e
npm run test:pack
npm run typecheck
npm run lint

数据备份与恢复在应用内完成:Settings → Privacy → Download backup 导出 talorys-backup.json,Import 会校验文件并在单个事务内合并。

这个 Agent 有哪些优点和局限?

优点
  • 数据边界清晰:所有会话、记忆、任务都存入你自己 Cloudflare 账户里的单个 SQLite Durable Object,仓库声明无遥测、无分析、无广告代码。
  • 装上就能用:一条 npx create-talorys@latest 完成 Worker、Pages、secret 与 service binding 的创建与部署,并自动做健康检查,不需要自备数据库或对象存储。
  • 降级设计明确:AI 额度用尽或 Workers AI 不可用时,任务、笔记、记忆和提醒仍可运行,纯提醒与每日摘要不消耗 AI。
  • 可更新、可回滚语义清晰:TalorysAgent 提供 TalorysAgent → checkpoint 与 update 流程,迁移为追加式,升级不会重建 Durable Object、不重置密码。
  • 备份体系完善:Settings 内的 JSON 全量备份/恢复覆盖对话、记忆、任务、笔记、项目、自动化与设置,并支持 export/import 到新部署。
  • 安装器按声明会自动完成 account 选择、密码哈希、资源命名与部署后校验,并输出真实 pages.dev 地址。
局限
  • 强 Cloudflare 绑定:运行完全依赖 Cloudflare Pages、Workers、Durable Objects(SQLite)与 Workers AI,无法迁移到其他云或本地运行产品形态。
  • 对话模型固定为 Workers AI 的 @cf/zai-org/glm-4.7-flash,仓库未提供切换到 OpenAI / Anthropic 等其他模型供应商的适配层。
  • 需要用户自行持有并授权 Cloudflare 账户;使用 API Token 时须授予 Workers Scripts / Pages 编辑等较宽权限。
  • 免费额度存在账户级上限(请求、Durable Objects 用量、每日 Workers AI Neuron 配额),配额由 Cloudflare 设定且可能变化,超出后需自行评估付费计划。
  • 单用户、无注册与团队体系的定位,意味着多用户共享、权限分级、协作审计等需求无法在现版本内满足。
  • 安装器的健康检查与 doctor 诊断覆盖部署链路,但真实云资源创建(Durable Objects、Pages 项目)仍受 Cloudflare 侧状态影响,新 pages.dev 站点有时需数分钟才能通过检查。

这个 Agent 与同类方案有什么区别?

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 形态 / 费用 Star 最近更新 主语言 完整支持的平台
Talorys 个人 AI 助手 当前 63 · 存在缺口 — ★ 949 今天 TypeScript —
GAIA 个人 AI 助手 73 · 存在缺口 云服务 / SaaS免费版 + 付费版 ★ 309 今天 Python —
Kody 个人助理平台 70 · 存在缺口 命令行工具免费 + 模型费 ★ 784 今天 TypeScript —
Eclaire 47 · 缺口较多 自托管服务免费 ★ 924 5 个月前 TypeScript OpenAI API

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
存在缺口
63/ 100 五分制 3.2 / 5
信任安全 18/29
可靠稳定 8/14
适用触发 12/18
规范维护 12/18
有效结果 9/13
证据核验 4/8
查看各维度的扣分理由
信任安全18 / 29 · 3.1/5

最小权限:Worker 以 workers_dev:false、preview_urls:false 部署且无公开 URL,浏览器仅经 Pages Function 的 service binding 访问,权限清单明确列出所需 Cloudflare 权限,但未提供实际 wrangler 配置或绑定文件佐证,故扣至 2。用户确认:破坏性工具只生成待批准提案,测试覆盖批准/拒绝/过期/重复批准、CSRF 头与匿名拒绝,证据充分,给 3。数据流透明:README 说明数据存于自有账户、无遥测、Workers AI 会处理消息与记忆,但缺少逐字段数据流清单,给 2。敏感数据:密码 PBKDF2-SHA256 本地哈希、会话密钥 256 位、导出排除会话与凭据,但未见密钥轮换或静态加密细节,给 2。依赖安全:仅见 overrides 固定 esbuild,无 lockfile 审计、无 Dependabot/SCA 证据,给 1。外部影响:安装器不启用付费服务、导入的自动化默认暂停、不删除数据,但真实账户副作用仅由可选 smoke 测试覆盖,给 2。回滚:迁移事务化且失败回滚、更新不重建 DO 命名空间、导入幂等,但无显式卸载/回退流程,给 2。来源归属:README 列出贡献者与 MIT 版权,但发布者身份未经验证、无签名或来源证明,给 1。

可靠稳定8 / 14 · 2.9/5

自一致性:README 架构、服务清单与测试断言(迁移、预算、审批)相互吻合,但未提供实际 wrangler/绑定文件核对,给 2。依赖可用性:engines 要求 Node>=22,依赖使用 ^ 范围且无 lockfile 证据,无法确认可复现安装,给 1。失败信息:AI 配额/容量错误映射为友好代码、取消标记为 cancelled、校验返回类型化错误,但未展示完整错误目录,给 2。

适用触发12 / 18 · 3.3/5

受众与场景:面向单用户个人助理,覆盖聊天、记忆、任务、笔记、提醒,场景清晰但未覆盖多用户或团队,给 2。能力边界:明确单用户、无注册、无团队、免费额度限制、AI 不可用时降级,边界陈述充分,给 2。触发精度:自动化支持一次性/每日/每周/间隔,拒绝过去时间与非法日期,DST 逻辑在 shared 包,但未展示完整触发规则文档,给 2。环境适配:面向 Cloudflare 免费计划、Node 22+、本地 mock 开发,环境假设明确,但未覆盖其他部署目标,给 2。

规范维护12 / 18 · 3.3/5

信息架构:README 分节清晰、仓库布局列出,但缺少 AGENTS.md 或机器可读清单,给 2。安装说明:一条命令安装、非交互模式、权限清单、故障排查表,说明充分,给 3。命名稳定性:资源名 talorys-<id>-* 与包名稳定,但版本 0.1.0 且无命名兼容承诺,给 2。示例与 FAQ:有截图、命令示例与故障排查表,但无独立 FAQ 或更多用例,给 2。已知限制:说明免费额度、AI 不可用降级、单用户限制,但未集中列出全部限制,给 2。许可证:MIT 全文存在且 README 标注,给 3。版本与变更日志:仅 package.json 版本 0.1.0,无 CHANGELOG 或发布记录,给 1。维护责任:SECURITY.md 给出响应时限与更新路径,但发布者未验证、无治理或支持承诺,给 1。

有效结果9 / 13 · 3.5/5

输出可用性:SSE 流式、Markdown、工具活动指示、通知中心,输出形态可用,但未展示实际输出样例,给 2。边际价值:在自有 Cloudflare 账户内提供私有个人助理,相对通用聊天有差异化,但功能与常见个人助理重叠,给 2。成本效益:免费计划友好、无遥测、AI 配额用尽后非 AI 功能继续,成本控制明确,但配额与计费依赖 Cloudflare 且未量化,给 2。

证据核验4 / 8 · 2.5/5

主张可追溯:README 主张多与测试对应,但无逐条主张到文件/行的映射,给 1。跨源印证:README、SECURITY.md、测试与 CI 工作流相互印证关键行为,给 2。事实与推断分离:文档区分设计意图与测试断言,但部分安全主张(如无遥测)仅靠声明,给 2。

风险与缓解建议
  • 发布者身份未经验证,安装前应自行核对包来源与签名。
  • 依赖使用 ^ 范围且未见 lockfile,安装结果可能不可复现,建议锁定版本并审计依赖。
  • 无 CHANGELOG 与发布记录,版本仅 0.1.0,升级前应确认变更内容。
  • 真实账户副作用仅由可选 smoke 测试覆盖,生产部署前应在测试账户验证。
  • 安全主张(如无遥测、无公开 URL)主要来自文档声明,缺少配置文件佐证。
证据充分度:低 评估于 2026年10月13日 审查版本 a2761243dade
查看完整评分方法 →

常见问题

它真的完全免费吗?
Talorys 本身开源且不启用任何付费功能,设计目标是跑在 Cloudflare Workers 免费计划上。但「免费」是指软件层面:Cloudflare 的账户级配额(请求、Durable Object 用量、每日 Workers AI Neuron 分配)由 Cloudflare 决定且可能调整;若你的账户是付费计划,超出包含额度部分会由 Cloudflare 按计划计费。AI 额度用尽时聊天会提示并等待次日恢复,其他功能照常。
部署需要什么权限和凭据?
默认使用 Wrangler 标准 OAuth 浏览器登录,不需要 Global API Key。若改用 API Token,需要 Account › Workers Scripts › Edit、Account › Cloudflare Pages › Edit、Account › Workers AI › Read、Account › Account Settings › Read,以及可选的 User › User Details › Read。owner 密码在本地用 PBKDF2-SHA256 哈希后仅作为 Cloudflare secret 保存。
AI 用不了或者配额用尽会怎样?
Tasks、notes、memories 和 reminders 仍然可用,纯提醒与每日任务摘要本身不调用 AI。使用量受 Settings → AI 中的护栏限制(最大输出 token、最大上下文 token、每次请求最大工具调用与推理步数、每日最大 AI 请求数与每日最大计划 AI 运行数),Usage 面板显示本地估算并给出 Cloudflare 控制台的精确 Neuron 用量入口。
数据存放在哪里,能备份吗?
全部数据存放在你 Cloudflare 账户内单个 SQLite 支撑的 Durable Object(personal-agent)中,Talorys 开发者不接收任何数据。Settings → Privacy → Download backup 导出 talorys-backup.json(包含对话、记忆、任务、笔记、项目、设置、自动化与记忆历史,不含 session 与凭据),Import 会校验并在单个事务内合并,导入文件被视作不可信,新自动化默认暂停。
安装中断或者忘记密码怎么办?
中断后在原目录重跑同一条命令即可续跑:不会重复创建资源、不会重复询问已配置的密码、不会删除任何数据。忘记密码时在 talorys/ 目录执行 npx create-talorys@latest reset-password,会替换密码 secret 并登出所有设备;连续登录失败被锁定则等待 15 分钟或直接重置。
在 GitHub 查看 ↗ 安装 ↓

相关 Agents