Token导航 LogoToken导航TokenDH.com
研究检索操作浏览器clawhub未标认证来源可访问clear审计提醒

zoho-clizoho CLI 搜索

Agent Skill

zoho-cli 用于查找、检索和筛选相关信息,适合在 OpenClaw 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

20,790

周安装

841

GitHub Stars

1

下载量

6,526
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:zoho-cli(zoho CLI 搜索)
来源仓库:https://github.com/robsannaa/zoho-cli
安装命令:
openclaw skills install zoho-cli
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install zoho-cli

简介

从终端阅读、搜索、发送和管理 Zoho Mail。用于脚本和代理的 JSON 输出。无需第三方服务。

SKILL.md

name
zoho-mail
version
0.1.1
description
Read, search, send, and manage Zoho Mail from the terminal. JSON output for scripting and agents. Requires the 'zoho' binary (install via brew/uv/pipx), one-time OAuth setup (zoho config init; zoho login), and stores credentials locally (config file and OS keyring). Optional env ZOHO_ACCOUNT, ZOHO_CONFIG, ZOHO_TOKEN_PASSWORD. No third-party service required.
compatibility
Requires the 'zoho' CLI (install via brew/uv/pipx), one-time OAuth setup (zoho config init; zoho login), and network access. Primary credentials: OAuth client_id/client_secret and access/refresh tokens; stored locally in config.json and/or OS keyring — users should be aware these are sensitive secrets. Optional env: ZOHO_ACCOUNT, ZOHO_CONFIG, ZOHO_TOKEN_PASSWORD.
homepage
https://github.com/robsannaa/zoho-cli
user-invocable
false
requires
bins
env
description
Default Zoho account email
required
false
description
Path to config.json
required
false
description
Passphrase for encrypted file token storage (CI/headless)
required
false
install
formula
robsannaa/tap/zoho-cli
bins
[zoho]
package
git+https://github.com/robsannaa/zoho-cli
bins
[zoho]
package
git+https://github.com/robsannaa/zoho-cli
bins
[zoho]

zoho — Zoho Mail CLI

Requirements: the zoho binary (install via brew/uv/pipx below), one-time OAuth setup, and local credential storage (config + OS keyring).

zoho is a command-line tool for Zoho Mail. All output is JSON by default — structured, pipe-friendly, and agent-ready. Use --md for markdown tables.

Install

Requires Python 3.11+. Works on macOS, Linux, and Windows.

# Homebrew (macOS / Linux)
brew install robsannaa/tap/zoho-cli

# uv (all platforms)
uv tool install git+https://github.com/robsannaa/zoho-cli

# pipx (all platforms)
pipx install git+https://github.com/robsannaa/zoho-cli

After install, run the one-time setup:

zoho config init   # save your Zoho OAuth client_id / client_secret
zoho login         # open browser, region auto-detected

See the full setup guide in the README.


Prerequisites

  • zoho must be installed and authenticated (zoho login completed).
  • Check: zoho config show — must return a JSON object with default_account and a non-empty accounts map.
  • If not logged in: tell the user to follow the setup in the README.

Output

  • stdout → JSON (default) or Markdown (--md). Always machine-readable.
  • stderr → errors (as JSON), debug logs, interactive prompts. Never in stdout.
  • Exit 0 = success. Exit 1 = error (JSON error object on stderr).
# errors land on stderr, not stdout
zoho mail list 2>/dev/null          # stdout empty on error
zoho mail list 2>&1 >/dev/null      # see error JSON

Authentication

Tokens are stored in the OS keyring and refreshed automatically before every command. No manual token management needed.

Credential storage (sensitive): Users must be aware that the CLI stores sensitive data locally:

  • OAuth client_id and client_secret — saved via zoho config init in the config file (e.g. ~/.config/zoho-cli/config.json).
  • Access and refresh tokens — stored in the OS keyring (or, if ZOHO_TOKEN_PASSWORD is set, in an encrypted file). These are used to access Zoho Mail on the user's behalf.

Do not expose config files or keyring entries to untrusted parties.

If a command fails with not_logged_in or token_refresh_failed, tell the user to run:

zoho login

Global flags

--account EMAIL    select account (env: ZOHO_ACCOUNT)
--config PATH      config file path (env: ZOHO_CONFIG)
--md               markdown table output instead of JSON
--debug            HTTP + debug logs to stderr

Commands

zoho mail list

List messages in a folder.

zoho mail list                               # Inbox, 50 messages
zoho mail list --folder Sent --limit 20
zoho mail list -f "My Project" -n 100

Output — array of message summaries:

[
  {
    "messageId": "1771333290108014300",
    "folderId": "8072279000000002014",
    "subject": "Q1 invoice",
    "from": "billing@acme.com",
    "to": ["you@example.com"],
    "date": "1740067200000",
    "unread": true,
    "hasAttachments": true,
    "tags": []
  }
]

date is a Unix timestamp in milliseconds.

zoho mail search

zoho mail search "invoice 2025"
zoho mail search "from:boss@example.com" --limit 10

Same output shape as mail list.

zoho mail get

Full message content including body.

zoho mail get MESSAGE_ID
zoho mail get MESSAGE_ID --folder-id FOLDER_ID    # faster: skips auto-scan
zoho mail get MESSAGE_ID | jq '.textBody'

Output:

{
  "messageId": "...",
  "folderId": "...",
  "subject": "Q1 invoice",
  "from": "billing@acme.com",
  "to": ["you@example.com"],
  "cc": [],
  "bcc": [],
  "date": "1740067200000",
  "unread": false,
  "hasAttachments": true,
  "tags": [],
  "textBody": "Please find the invoice attached.",
  "htmlBody": "<p>Please find...</p>"
}

zoho mail attachments

zoho mail attachments MESSAGE_ID
zoho mail attachments MESSAGE_ID --folder-id FOLDER_ID

Output:

[
  { "attachmentId": "256063600000020001", "fileName": "invoice.pdf", "size": 123456 }
]

zoho mail download-attachment

zoho mail download-attachment MESSAGE_ID ATTACHMENT_ID --out /tmp/invoice.pdf

Output:

{ "status": "ok", "path": "/tmp/invoice.pdf", "size": 123456 }

zoho mail send

zoho mail send --to alice@example.com --subject "Hi" --text "Hello!"

# HTML + multiple recipients + attachments
zoho mail send \
  --to alice@example.com --to bob@example.com \
  --cc manager@example.com \
  --subject "Report" \
  --html-file report.html \
  --attach report.pdf --attach data.csv

Output:

{ "status": "ok", "messageId": "..." }

Flag / move / delete operations

All accept one or more MESSAGE_ID arguments.

zoho mail mark-read   ID [ID …]
zoho mail mark-unread ID [ID …]
zoho mail move        ID [ID …] --to "Archive"
zoho mail spam        ID [ID …]
zoho mail not-spam    ID [ID …]
zoho mail archive     ID [ID …]
zoho mail unarchive   ID [ID …]
zoho mail delete      ID [ID …]              # → Trash
zoho mail delete      ID [ID …] --permanent  # hard delete

Output:

{ "status": "ok", "updated": ["ID1", "ID2"], "failed": [] }

zoho folders list

zoho folders list

Output:

[
  { "folderId": "8072279000000002014", "folderName": "Inbox", "folderType": "Inbox",
    "path": "/Inbox", "isArchived": 0, "unreadCount": 3, "messageCount": 42 }
]

zoho folders create / rename / delete

zoho folders create "Project X" [--parent-id FOLDER_ID]
zoho folders rename FOLDER_ID "New Name"
zoho folders delete FOLDER_ID

zoho config show / path / init

zoho config show     # JSON config dump (secret redacted)
zoho config path     # {"config_path": "...", "exists": true}
zoho config init     # interactive wizard (prompts on stderr)

Common patterns for agents

# All unread message subjects
zoho mail list | jq -r '.[] | select(.unread) | .subject'

# Get the latest message ID
zoho mail list -n 1 | jq -r '.[0].messageId'

# Get plain-text body of a specific message
zoho mail get "$MSG_ID" | jq -r '.textBody'

# Download all attachments from a message
zoho mail attachments "$MSG_ID" | jq -r '.[].attachmentId' | while read id; do
  zoho mail download-attachment "$MSG_ID" "$id" --out "/tmp/${id}"
done

# Find unread emails from a sender
zoho mail search "from:boss@example.com" | jq '[.[] | select(.unread)]'

# Mark all results as read
zoho mail search "invoice" | jq -r '.[].messageId' | xargs zoho mail mark-read

# Move search results to a folder
zoho mail search "newsletter" | jq -r '.[].messageId' | xargs zoho mail move --to "Archive"

# Send with computed body
zoho mail send \
  --to report-reader@example.com \
  --subject "Daily digest $(date +%F)" \
  --text "$(zoho mail list | jq -r '.[].subject' | head -10 | nl)"

Error response shape

All errors are JSON on stderr:

{
  "status": "error",
  "error": "not_logged_in",
  "details": "No stored token for you@example.com. Run: zoho login --account you@example.com"
}

Common error codes:

CodeMeaning
not_logged_inNo token stored — user must run zoho login
token_refresh_failedToken revoked — user must run zoho login
no_account_idaccountId not saved — run zoho login again
folder_not_foundFolder name doesn't match any folder
message_not_foundMessage ID not found in any folder
api_errorUpstream Zoho API error (details in message)

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

93.11%
按下载量换算6,076

安全审计

VirusTotal

可疑

ClawScan

通过

Static analysis

未展示

权限和风险

操作浏览器

该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills