Skip to content

email-cli:智能体办公的第一块拼图

email-cli 封面

邮件,是绕不过去的效率瓶颈。每天几十封、上百封邮件,分类、阅读、回复……大量时间消耗在这里。

一直有一个宏大的想法:让 AI Agent 全权代理日常办公。 规划、撰写、执行,统统交给智能体。对于智能体来说,CLI(命令行工具)是最理想的操作接口——没有 GUI 的视觉噪音,只有干净的输入与输出,Agent 可以直接调用,也可以组合进工作流。

既然要用 AI Agent 代理办公,就得先把工具铺好。邮件,是第一站。

himalaya,一个用 Rust 编写的开源 email-cli,正好契合这个思路。

效果预览 ​

show-me-emails

在 AI IDE(如 Trae、Cursor、Claude Code)或 OpenClaw 的终端里,直接用自然语言下达指令:

text
帮我列出今天未读的邮件,并把标题和发件人汇总给我

Agent 调用 himalaya 命令,返回结果:

bash
$ himalaya envelope list --filter unseen
ID   From                    Subject                         Date
12   boss@company.com        关于 Q2 项目进展汇报              2026-04-15
11   hr@company.com          五一假期安排通知                  2026-04-15
10   noreply@github.com      [PR #42] Fix: null pointer bug  2026-04-14
text
> 帮我查询下今天的邮件,并做个总结。

📧 今日邮件总结 (2026-04-16)

ID来源类型核心内容摘要关注级别
3232腾讯云安全预警【主机安全】异常登录通知:检测到你的有异常登录行为,请务必核实。极高 (立刻)
3240Authy新设备确认请确认你的新设备登录请求,以完成二次验证(2FA)绑定。高 (实时)
3238阿里云安全周报云安全中心 4 月第 3 周周报已生成,包含近期的安全风险概览。中
3231GitHub构建成功xiaolin-docs 项目的 Docker 镜像构建及证明(Attestation)已成功推送到 GHCR。低

不需要打开浏览器,不需要切换应用,在 AI 对话框里一句话,收件箱状态一目了然。

为什么选 himalaya ​

市面上的邮件客户端不少:Thunderbird、Spark、Apple Mail,但对于智能体协作来说,它们有一个共同的致命缺陷:GUI 界面,Agent 无法直接操控。

himalaya-cli

himalaya 的核心定位是 纯 CLI 邮件工具,而不是交互式 TUI。这个区别至关重要:

对比维度GUI 邮件客户端himalaya (email-cli)
Agent 可调用❌ 需要模拟点击✅ 直接命令调用
脚本集成❌ 难以自动化✅ 管道友好
输出格式❌ 视觉渲染✅ 支持 JSON 输出
资源占用较高极低
跨平台一般macOS / Linux / Windows

JSON 输出是点睛之笔。加上 --output json 参数,返回结构化数据,Agent 可以直接解析、过滤、再加工:

bash
himalaya envelope list --output json | jq '.[] | select(.flags | contains(["unseen"]))'

安装与配置 ​

安装 ​

macOS 用户一行命令搞定:

bash
brew install himalaya

Pro Tip: 在 Trae 或 Cursor 等 AI 环境下,如果发现命令找不到,可能是 PATH 环境变量不包含 Homebrew 路径。此时可以尝试使用绝对路径 /opt/homebrew/bin/himalaya。

其他平台:

bash
# Linux / macOS 通用脚本
curl -sSL https://raw.githubusercontent.com/pimalaya/himalaya/master/install.sh | sudo sh

# Arch Linux
pacman -S himalaya

# Cargo(需要 Rust 环境)
cargo install himalaya --locked

初始化配置 ​

首次运行 himalaya,会启动交互式配置向导,填入 IMAP/SMTP 服务器信息和授权码即可。配置文件保存在 ~/.config/himalaya/config.toml。

himalaya 推荐使用安全获取密钥,而不是直接在配置文件中写授权码明文。然而,为了快速体验,这里直接写授权码明文。

以 QQ 邮箱为例,先在 QQ 邮箱网页版「设置 → IMAP/SMTP 服务」中开启服务、获取授权码,然后配置:

toml
[accounts.xiaolin]
default = true
email = "xing.xiaolin@foxmail.com"
display-name = "xiaolin"
downloads-dir = "/Users/xlxing/Downloads"

backend.type = "imap"
backend.host = "imap.qq.com"
backend.port = 993
backend.login = "xing.xiaolin@foxmail.com"
backend.encryption.type = "tls"
backend.auth.type = "password"
backend.auth.raw = "xxxxxx"

message.send.backend.type = "smtp"
message.send.backend.host = "smtp.qq.com"
message.send.backend.port = 465
message.send.backend.login = "xing.xiaolin@foxmail.com"
message.send.backend.encryption.type = "tls"
message.send.backend.auth.type = "password"
message.send.backend.auth.raw = "xxxxxxx"

多账户也不是问题,通过 --account 参数随时切换:

bash
himalaya --account work envelope list
himalaya --account personal envelope list

CLI 与 Agent 是高效办公的绝配 ​

坦诚地说,命令行(CLI)并不是为人类准备的。人类更喜欢直观的按钮和色彩丰富的界面,去记忆复杂的命令参数(如 himalaya envelope list --page-size 20)无疑是在挑战认知成本。

但对于 AI Agent 来说,情况正好相反。GUI 界面对智能体来说是充满视觉不确定性的“黑盒”,而 CLI 则是逻辑极其清晰、输出极其规整的直连接口。

然而,仅有工具是不够的。如果只安装了 himalaya,你可能需要每次都在提示词中苦口婆心地说明:“请使用 himalaya 命令帮我查邮件...”。这显然不够智能。

赋予 Agent “肌肉记忆”:安装 Skill ​

有了 himalaya 只是第一步,要让智能体真正“开箱即用”,还需要安装 Skill(技能插件)。你可以把它理解为 Agent 的操作手册或“条件反射”。

bash
npx skills add https://github.com/steipete/clawdis --skill himalaya

安装完成后,当你对 AI 说“帮我列出最近的 5 封邮件”时,它不再是盲目地猜测 Shell 命令,而是胸有成竹地调用已经内化的 himalaya 技能:

IDSUBJECTFROMDATE
3237Issue 325: Things aren't...Stack Overflow2026-04-15
3236"+300 alerts added to...Reddit2026-04-15
3235Confirmation code to log...JetBrains Account2026-04-15
3234The uploaded build for...App Store Connect2026-04-15
3233🚀 应用部署完成 -...GitHub Actions2026-04-15

从感知到决策:全托管的邮件流 ​

当 himalaya 遇上 AI Agent,邮件处理不再是单纯的“收发”,而是一套完整的感知、理解、执行闭环。

1. 全局感知:不再迷失在收件箱 比起一个个翻文件夹,你只需问一句“我有哪些文件夹?”,Agent 就能瞬间定位。除了 INBOX,它能感知到 Sent Messages、Archive 甚至你自定义的订阅文件夹,帮你建立全局视野。

2. 深度理解:从“读信”到“掌握” Agent 最强大的地方在于智能摘要。当你指挥它“看看 ID 3237 的邮件在说什么”时,它会通过大模型能力输出精简报告:

智能摘要:这是一封来自 Stack Overflow 的通知,关于 Issue #325 的最新进展,包含了开发者的建议和讨论链接。

这种“读信 + 理解”的连招,实现了从原始数据到决策信息的质变。

  • 精准执行:复杂的操作 通过与智能体的对话,原本琐碎的搜索、回复和归档工作如今已高度自动化。例如:
    • “帮我找找上周所有关于项目进展的邮件。”
    • “读完这封信,帮我起草一份得体的回复并发送。”
    • “把所有已读的系统通知类邮件,全部移到归档文件夹。”

对于这类批量任务,Agent 会自动组合 himalaya 与 jq 命令:

bash
himalaya envelope list --output json \
  | jq -r '.[] | select(.flags | contains(["seen"])) | .id' \
  | xargs -I{} himalaya message move {} "Archive"

这类在 GUI 中需要手动多选、右键、移动的操作,在 Agent 面前不过是一行指令的事。

现阶段的局限 ​

坦诚地说,himalaya 目前还不是一个 “开箱完美” 的工具。

附件处理 需要配合 MML(MIME Meta Language)语法,对于复杂的富文本邮件,有一定学习成本;国内邮箱(如企业微信邮箱、163 邮箱)的 IMAP 配置有时需要额外调试;中文搜索 的支持也依赖服务器端能力,本地过滤不够精准。

这些都是可以接受的代价。核心价值已经成立: Agent 终于可以直接操作邮箱了。

一个更大的图景 ​

himalaya 只是起点。

未来的 AI Agent 办公体系,大概是这样的:

  • 邮件:himalaya,处理邮件收发与归档
  • 日历:khal / calcurse,管理日程与会议
  • 任务管理:todo.txt / taskwarrior,跟踪待办
  • 文档:pandoc + 本地 Markdown,撰写与转换

每一个工具都是 CLI 优先,每一个工具都可以被 Agent 直接调用。AI IDE 成为总调度,人只需要负责决策,执行全部交给智能体。

这不是遥远的未来,而是现在就可以开始构建的工作方式。一个工具、一个工具地接入,从邮件开始。


关键词:AI Agent、email-cli、himalaya、终端办公、智能体

参考 ​


himalaya 是一个用 Rust 编写的开源 email-cli,通过纯命令行操作邮件,让 AI Agent 可以直接调用、驱动整个收件箱。从安装配置到在 AI IDE 中实战,分享用 CLI 邮件工具构建智能体办公体系的第一步探索。