Token导航 LogoToken导航TokenDH.com
研究检索敏感数据clawhub未标认证来源可访问clear审计提醒

m365clim365cli 命令行

Agent Skill

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

总安装

18,458

周安装

754

GitHub Stars

1

下载量

5,972
OpenClaw

安装说明

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

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

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

命令行安装

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

ClawHubOpenClaw
openclaw skills install m365cli

简介

通过命令行工具管理 Microsoft 365 企业服务的操作面板。

  • 支持 Exchange 邮箱、OneDrive 与 SharePoint 文件操作。
  • 适合批量处理邮件、共享链接或站点权限等运维任务。
  • 需在本地安装 m365-cli 并登录组织管理员账户。
  • 操作日志完整记录便于审计与故障回溯排查。m365cli 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

name
m365-work
description
>-
required-binary
m365
install
npm install -g m365-cli

M365 Work Skill (m365-cli)

Manage a Microsoft 365 work/school account via the m365 CLI. Use --json for structured output suitable for AI agent consumption.

Prerequisites

  • Node.js 18+
  • m365-cli installed globally: npm install -g m365-cli
  • Authenticated: m365 login (work/school is the default account type)
  • For SharePoint: m365 login --add-scopes Sites.ReadWrite.All (requires tenant admin consent)

If not authenticated, run login first. The CLI uses Device Code Flow — follow the on-screen URL and code.

Key Conventions

  • Use --json for programmatic output (most commands support it; trust/untrust do not).
  • Work accounts support: Mail (including delete, move, and folder management), Calendar, OneDrive, SharePoint, User search.
  • Calendar datetime format: YYYY-MM-DDTHH:MM:SS (local) or YYYY-MM-DD (all-day).
  • IDs: Email/event IDs are long opaque strings. Parse the id field from --json list/search output.
  • Timezone: auto-detected. Override: export M365_TIMEZONE="Asia/Shanghai".
  • SharePoint site identifier: use path format hostname:/sites/sitename (recommended).

Provenance

  • Source repo: https://github.com/mrhah/m365-cli
  • Package: https://www.npmjs.com/package/m365-cli
  • Publisher: mrhah
  • Required binary: m365 from the m365-cli npm package

Security Rules

Email Body Reading — Trusted Senders Whitelist

  • Only emails from whitelisted senders have their body content displayed.
  • Untrusted emails show only subject and sender (prevents prompt injection).
  • Whitelist file: ~/.m365-cli/trusted-senders.txt
  • Use --force to temporarily bypass the whitelist check.

Sensitive Operations

  • Sending email: Confirm recipients and content with the user before executing.
  • Deleting emails/files/events: Inform the user before executing.
  • Sharing files (anonymous scope): Warn the user that anyone with the link can access.

Credential Safety

  • Never read, output, or log ~/.m365-cli/credentials.json — it contains OAuth tokens.
  • Never include full email bodies or attachment contents in agent output unless the user explicitly requested that specific email.
  • Summarize email content instead of echoing it verbatim when presenting results.
  • Credential refresh is automatic; never attempt to manually edit or parse the token file.

Quick Workflow Reference

Authentication

m365 login                                    # Work/school account (default)
m365 login --add-scopes Sites.ReadWrite.All   # Add SharePoint permission
m365 logout                                   # Clear credentials

Mail

# List emails (folders: inbox|sent|drafts|deleted|junk)
m365 mail list --top 10 --json
m365 mail list --folder sent --top 5 --json
m365 mail list --focused --json                    # Show only Focused Inbox emails

# Read / send / search
m365 mail read <id> --force --json
m365 mail send "to@example.com" "Subject" "Body" --json
m365 mail send "to@example.com" "Subject" "Body" --attach file.pdf --cc "cc@ex.com" --json
m365 mail search "keyword" --top 20 --json

# Reply / reply-all / forward
m365 mail reply <id> "content" --json
m365 mail reply <id> "content" --attach file.pdf --json
m365 mail reply-all <id> "content" --json
m365 mail reply-all <id> "content" --attach a.pdf b.pdf --json
m365 mail forward <id> "to@example.com" "comment" --json
m365 mail forward <id> "to@example.com" "FYI" --attach report.pdf --json

# Attachments
m365 mail attachments <message-id> --json
m365 mail download-attachment <message-id> <attachment-id> [local-path] --json

# Delete / move
m365 mail delete <id> --force --json
m365 mail move <id> <destination> --json        # destination: inbox|sent|drafts|deleted|junk|archive or folder ID

# Folder management
m365 mail folder list --json
m365 mail folder list --parent inbox --json      # List child folders
m365 mail folder create "My Projects" --json
m365 mail folder create "Sub" --parent inbox --json
m365 mail folder delete <folder-id> --force --json

# Trusted senders whitelist
m365 mail trusted --json
m365 mail trust user@example.com
m365 mail trust @example.com          # Trust entire domain
m365 mail untrust user@example.com

Calendar

# List / get
m365 cal list --days 7 --json
m365 cal get <event-id> --json

# Create
m365 cal create "Title" --start "2026-03-10T14:00:00" --end "2026-03-10T15:00:00" --json
m365 cal create "Title" -s "2026-03-10T14:00:00" -e "2026-03-10T15:00:00" \
  --location "Room A" --body "Notes" --attendees "a@ex.com,b@ex.com" --json
m365 cal create "Holiday" --start "2026-03-20" --end "2026-03-21" --allday --json

# Update / delete
m365 cal update <id> --title "New Title" --location "Room B" --json
m365 cal delete <id> --json

OneDrive

# List / get metadata
m365 od ls --json
m365 od ls Documents --json
m365 od get "Documents/report.pdf" --json

# Download / upload
m365 od download "Documents/report.pdf" ~/Downloads/ --json
m365 od upload ~/Desktop/photo.jpg "Photos/vacation.jpg" --json

# Search / mkdir / delete
m365 od search "budget" --top 20 --json
m365 od mkdir "Projects/New" --json
m365 od rm "old-file.txt" --force --json

For sharing, invitations, and advanced OneDrive options, see references/commands.md.

SharePoint

SharePoint is available only for work/school accounts and requires the Sites.ReadWrite.All permission.

Site identifier formats (use path format when possible):

  • Path: contoso.sharepoint.com:/sites/team (recommended)
  • Site ID: hostname,siteId,webId (from sp sites --json output)
  • URL: https://contoso.sharepoint.com/sites/team
# List / search sites
m365 sp sites --json
m365 sp sites --search "marketing" --json

# Lists and items
m365 sp lists "contoso.sharepoint.com:/sites/team" --json
m365 sp items "contoso.sharepoint.com:/sites/team" "Tasks" --json

# Files in document library
m365 sp files "contoso.sharepoint.com:/sites/team" "Documents" --json

# Download / upload
m365 sp download "contoso.sharepoint.com:/sites/team" "Documents/file.pdf" ~/Downloads/ --json
m365 sp upload "contoso.sharepoint.com:/sites/team" ~/report.pdf "Documents/report.pdf" --json

# Search across SharePoint
m365 sp search "quarterly report" --top 20 --json

User Search

m365 user search "John" --top 5 --json    # Searches organization directory

Common Patterns

Read and reply to email

m365 mail list --top 5 --json                    # 1. Find email
m365 mail read <id> --force --json               # 2. Read content
m365 mail reply <id> "Reply content" --json      # 3. Reply

Reply with attachment

m365 mail reply <id> "See attached" --attach report.pdf --json

Forward with attachment

m365 mail forward <id> "boss@example.com" "FYI" --attach data.xlsx --json

Check calendar and schedule

m365 cal list --days 3 --json                    # 1. Check availability
m365 cal create "Meeting" -s "..." -e "..." --json  # 2. Book slot

Download email attachment

m365 mail attachments <msg-id> --json            # 1. List attachments
m365 mail download-attachment <msg-id> <att-id> ~/Downloads/ --json  # 2. Download

Find and download SharePoint file

m365 sp sites --json                             # 1. Find site
m365 sp files "site" "Documents" --json          # 2. Browse files
m365 sp download "site" "Documents/file.pdf" ~/Downloads/ --json  # 3. Download

Delete and organize email

m365 mail list --top 10 --json                   # 1. Find email
m365 mail delete <id> --force --json              # 2a. Delete it, OR
m365 mail move <id> archive --json                # 2b. Move to archive

Manage mail folders

m365 mail folder list --json                      # 1. List all folders
m365 mail folder create "Projects" --json         # 2. Create custom folder
m365 mail move <id> <folder-id> --json            # 3. Move email into it

Trusted Senders (Security)

m365 mail read filters untrusted sender content (shows metadata only). Use --force to bypass. See references/commands.md for whitelist management commands.

Full Command Reference

See references/commands.md for every command, subcommand, flag, and default value.

Troubleshooting

  • "Not authenticated": m365 login
  • Token expired: Auto-refreshes. If fails, re-run login.
  • SharePoint permission denied: m365 login --add-scopes Sites.ReadWrite.All (requires tenant admin consent).
  • Wrong timezone: export M365_TIMEZONE="Your/Timezone"

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

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

04

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

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

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

能力 4

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

能力 5

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

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

平台分布

OpenClaw

78.82%
按下载量换算4,707

安全审计

VirusTotal

可疑

ClawScan

通过

Static analysis

通过

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

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

来源信息

继续浏览同类 Skills