everyday
GOAI 无界应用 · 个人终端赛道

AI Agent 的本地数据手脚,
一个命令全接入。

everyday 是一个 Rust 编写的本地优先 CLI——给 Agent 统一接入 邮件、日历、RSS、笔记、待办、书签与长期记忆。 全部命令支持 --json,凭据进系统钥匙串,数据落本地, 不经过任何云端。

$ cargo install --git https://github.com/duyixian1234/everyday
v0.12.0 · MIT · Rust 2024 · 11 模块 · 2026-08-07 发布
01

问题

The problem
Agent 要替人办事,第一步是摸到数据。可个人数据散落在五六个服务里, 凭据要么明文落盘、要么交给云端第三方——Agent 有脑子,但没有手 everyday 把这双手补齐:一条命令结构覆盖全部个人数据源, JSON 结构化输出让 Agent 直接消费,钥匙串管凭据、SQLite 管数据, 冷启动小于 100 毫秒。
02

实况

以下输出采集自本机 2026-08-09 真实运行,未做任何修饰。

5 条命令自动播放 · 重播可再跑一遍
03

场景

四个高频场景,每个都是一条从输入到结果交付的任务闭环。

问什么 → 查哪里 → 拿结果

1
用户提问
「我有哪些未读邮件?」「之前收藏的 Rust 文章在哪?」
2
Agent 选模块
邮件走 mail,笔记书签走 search,一次跨全模块
3
结构化返回
--json 输出,Agent 直接消费
4
沉淀记忆
偏好写入 memory add,下次自动记得
$ everyday mail list --unread --limit 5 --json
[{"uid":12841,"folder":"INBOX","from":"张三","subject":"Q3 项目排期确认"},…] → 3 封未读
$ everyday search query "rust async" --module note,bookmark --json
[{"source":"bookmark","title":"Tokio 官方教程"},{"source":"note","title":"Rust 异步笔记"}] → 2 条命中
$ everyday memory get user --json
{"count":2,"facts":[{"predicate":"prefers","object":"rust"},{"predicate":"works_on","object":"everyday"}]}

看日程 → 排任务 → 闭环追踪

1
查看日程
cal list 拉取今明日程(CalDAV 同步)
2
待办整理
todo list 按到期排序,识别 P1 优先项
3
状态流转
todo start / todo complete
4
结果交付
Agent 汇总「今日安排 + 待办提醒」交付用户
$ everyday cal list --json
[{"主题":"产品评审会","开始":"15:00","结束":"16:00"},{"主题":"健身","开始":"17:30","结束":"18:30"}]
$ everyday todo add --title "准备评审材料" --priority P1 --json
{"status":"Created","priority":"P1"} ✅ 已创建
$ everyday todo complete <page_id> --json
{"status":"Done"} ✅ 已归档

定时触发 → 聚合 → 交付 → 自检

1
定时触发
每日 08:00 自动执行晨间简报任务
2
全源聚合
timeline today --sync 同步邮件/日历/RSS/待办
3
健康自检
health --json 确认 11 模块全部可用
4
结果交付
简报推送到微信,无需人工干预
$ everyday health --json
[{"module":"config","healthy":true},…,{"module":"memory","healthy":true}] → 11/11 全部健康
$ everyday timeline today --sync --json
[{"source":"rss","title":"OpenAI 桌面端 ChatGPT 上线语音交互…"},{"source":"rss","title":"Grok Imagine 图像编辑重大升级"}]
$ everyday config list --json
{"default_account":{"mail":"work"},"rss":{"feeds":["aihot","bestblogs"]}}

拉取 → 摘要 → 收藏 → 沉淀

1
拉取资讯
rss fetch 订阅 AI / 技术 / 博客多路源
2
智能摘要
rss digest 按分类聚合,产出摘要
3
收藏归档
bookmark add 打标签收藏,供后续检索
4
跨源检索
search 一个入口全找到
$ everyday rss fetch --name aihot --limit 3 --json
[{"title":"用DistilBERT LoRA与TF-IDF基线做IMDb情感分析"},{"title":"Seedance 2.5 上线一周新增六种创意玩法"},{"title":"OpenAI 桌面端 ChatGPT 上线语音交互功能…"}]
$ everyday rss digest --category ai --json
{"count":12,"top":[{"title":"OpenAI 语音交互","score":0.92},…]} → 今日 AI 资讯 12 条
$ everyday bookmark add --url "https://tokio.rs" --tags rust,async --json
{"status":"Saved","tags":["rust","async"]} ✅ 已收藏
04

在任何 AI 助手中开箱即用

everyday 不是又一套聊天工具,而是 Agent 的「手」。任何助手只要会执行命令,就能拥有完整的个人信息访问能力。

OpenClaw
开源 CLI Agent 框架
用户:帮我看看今天有什么日程安排?
Agent:稍等,我查一下你的日历。 $ everyday cal list --json 今天有 2 个日程:15:00 产品评审会;17:30 健身。

通过 cal / mail / todo 子命令直接读日历、收件箱与待办,--json 输出让 Agent 零成本解析。

Codex
OpenAI 编码 Agent
用户:写周报前,汇总本周我关注的资讯。
Agent:正在拉取订阅源并整理摘要… $ everyday timeline week --source rss --json 本周共 47 条资讯,已按相关度整理成 5 条重点。

使用 rss fetch / timeline week / bookmark add 完成资讯收集到收藏的完整链路。

WorkBuddy
腾讯 AI 智能工作台
自动化:每日 08:00 生成晨间简报
流水线:timeline 聚合 → 简报生成 → 微信推送 $ everyday timeline today --sync --json 8 个数据源全部同步,简报已推送。

定时任务调用 health / timeline 聚合邮件、日历、RSS 与待办,自动产出日报并推送,全程本地执行。

<100ms
冷启动
11
模块全绿 health
3 平台
4 架构预编译
2.3 万行
Rust 代码