Himalaya 是一个命令行电子邮件客户端,让用户在终端中通过 IMAP、SMTP、Notmuch 或 Sendmail 后端管理邮件。
用途与定位 本技能与 Hermes Email 网关适配器相互独立。网关适配器让用户通过邮件与智能体通信,使用 Hermes 内置的 IMAP/SMTP 适配器;本技能则让智能体通过终端工具操作邮箱,需要外部 himalaya CLI 支持。
前置条件
- 已安装 Himalaya CLI(可用 himalaya --version 验证)
- 存在配置文件 ~/.config/himalaya/config.toml
- 已配置 IMAP/SMTP 凭据(密码需安全存储)
安装方式 预编译二进制(Linux/macOS,推荐): curl -sSL https://raw.githubusercontent.com/pimalaya/himalaya/master/install.sh | PREFIX=~/.local sh macOS 通过 Homebrew: brew install himalaya 通过 cargo(任何带 Rust 的平台): cargo install himalaya --locked
配置 可运行交互式向导设置账号:himalaya account configure,也可手动创建 ~/.config/himalaya/config.toml,其中包含账号邮箱、显示名、默认标记、IMAP 后端地址端口加密方式与登录认证方式、SMTP 发送后端配置,以及文件夹别名。文件夹别名使用 himalaya v1.2.0+ 的 folder.aliases.X 语法(复数、点号键,直接位于 [accounts.NAME] 下),当服务器文件夹名称与 himalaya 规范名称(inbox/sent/drafts/trash)不一致时需要配置,Gmail 是常见情况。注意 v1.2.0 之前的 [accounts.NAME.folder.alias] 单数子段写法会被静默忽略,导致在 Gmail 上 SMTP 发送成功后保存到已发送失败并使命令以非零状态退出,重试可能造成重复发送。
与 Hermes 集成说明
- 读取、列出、搜索、移动、删除均可直接通过终端工具完成
- 撰写、回复、转发建议使用管道输入(如 cat << EOF | himalaya template send)更可靠;交互式 $EDITOR 模式需配合 pty=true、后台模式与 process 工具,且需了解编辑器及其命令
- 使用 --output json 可获得更易程序化解析的结构化输出
- himalaya account configure 向导需要交互输入,应使用 PTY 模式:terminal(command="himalaya account configure", pty=true)
常用操作 列出文件夹:himalaya folder list 列出邮件:himalaya envelope list(默认 INBOX)、himalaya envelope list --folder "Sent"、himalaya envelope list --page 1 --page-size 20 搜索邮件:himalaya envelope list from john@example.com subject meeting 读取邮件:himalaya message read 42;导出原始 MIME:himalaya message export 42 --full 回复邮件:可通过 himalaya template reply 42 取模板后编辑发送,或手动构造带 In-Reply-To 的邮件内容经管道发送;回复全部为交互式,需 $EDITOR,建议改用模板方式 转发邮件:himalaya template forward 42 后修改并发送 撰写新邮件:可通过管道或 himalaya message write -H "To:..." -H "Subject:..." 发送;不带管道输入会打开 $EDITOR 移动/复制:himalaya message move "Archive" 42、himalaya message copy "Important" 42(目标文件夹在前,邮件 ID 在后) 删除:himalaya message delete 42 标志管理:himalaya flag add 42 --flag seen、himalaya flag remove 42 --flag seen 多账号:himalaya account list;himalaya --account work envelope list 附件:himalaya attachment download 42、himalaya attachment download 42 --downloads-dir ~/Downloads 输出格式:多数命令支持 --output,如 --output json、--output plain 调试:RUST_LOG=debug himalaya envelope list;RUST_LOG=trace RUST_BACKTRACE=1 himalaya envelope list
提示
- 可用 himalaya --help 或 himalaya <command> --help 查看详细用法
- 邮件 ID 相对于当前文件夹,切换文件夹后应重新列出
- 撰写带附件的丰富邮件可使用 MML 语法
- 使用 pass、系统钥匙串或输出密码的命令安全存储密码
限制 本资料未提供收费、价格、平台兼容性细节或其他未提及能力的说明。