MCPInstall

officecli-office-automation

Use OfficeCLI to create, read, and edit Word, Excel, and PowerPoint files from the command line with AI-friendly commands.

Installs
263
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/reason-machines/devtools-skills --skill officecli-office-automation
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads officecli-office-automation automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

OfficeCLI Office Automation Skill

Skill by ara.so — Devtools Skills collection.

OfficeCLI is an Office suite purpose-built for AI agents to create, read, and edit Word (.docx), Excel (.xlsx), and PowerPoint (.pptx) files. It's a single binary with no Office installation required, featuring a unified CLI interface and built-in rendering to HTML/PNG.

Installation

macOS / Linux:

curl -fsSL https://raw.githubusercontent.com/iOfficeAI/OfficeCLI/main/install.sh | bash

Windows (PowerShell):

irm https://raw.githubusercontent.com/iOfficeAI/OfficeCLI/main/install.ps1 | iex

Manual installation:

  1. Download the binary for your platform from GitHub Releases
  2. Run officecli install to add to PATH

Verify installation:

officecli --version

Core Commands

File Operations

Create a new document:

# Blank files
officecli create document.docx
officecli create spreadsheet.xlsx
officecli create presentation.pptx

# With initial content
officecli create report.docx --prop title="Q4 Report"

View document content:

# View as outline (tree structure)
officecli view document.docx outline

# View as plain text
officecli view document.docx text

# View as HTML (opens in browser)
officecli view document.docx html

# View as JSON structure
officecli view document.docx json

Get specific elements:

# Get element details as JSON
officecli get document.docx '/paragraph[1]' --json
officecli get spreadsheet.xlsx '$Sheet1:A1' --json
officecli get presentation.pptx '/slide[1]/shape[2]' --json

Live Preview

Watch mode (auto-refresh in browser):

# Start live preview server on http://localhost:26315
officecli watch presentation.pptx

# Custom port
officecli watch presentation.pptx --port 8080

# Every edit you make will auto-refresh the browser

Word Documents (.docx)

Path Syntax

  • /paragraph[N] - Nth paragraph (1-indexed)
  • /paragraph[N]/run[M] - Mth run in Nth paragraph
  • /table[N] - Nth table
  • /table[N]/row[R]/cell[C] - Cell in table

Add Content

Add paragraphs:

# Simple paragraph
officecli add report.docx / --type paragraph --prop text="Executive Summary"

# Styled paragraph
officecli add report.docx / --type paragraph \
  --prop text="Quarterly Revenue Analysis" \
  --prop style=Heading1 \
  --prop align=center

# With formatting
officecli add report.docx / --type paragraph \
  --prop text="Important notice" \
  --prop bold=true \
  --prop color=FF0000 \
  --prop size=14

Add runs (inline formatting):

officecli add report.docx '/paragraph[1]' --type run \
  --prop text="bold text" \
  --prop bold=true

Add tables:

# 3x3 table
officecli add report.docx / --type table \
  --prop rows=3 \
  --prop cols=3

# Set cell content
officecli set report.docx '/table[1]/row[1]/cell[1]' \
  --prop text="Header 1"

Add images:

officecli add report.docx / --type picture \
  --prop src=chart.png \
  --prop width=15cm \
  --prop height=10cm

Add headers/footers:

# Add header to first section
officecli add report.docx '/section[1]' --type header \
  --prop type=default

# Add content to header
officecli add report.docx '/section[1]/header[1]' --type paragraph \
  --prop text="Confidential Report" \
  --prop align=right

Modify Content

Set paragraph properties:

officecli set report.docx '/paragraph[1]' \
  --prop text="Updated title" \
  --prop style=Heading1 \
  --prop align=center \
  --prop spaceBefore=240 \
  --prop spaceAfter=120

Set run properties:

officecli set report.docx '/paragraph[2]/run[1]' \
  --prop bold=true \
  --prop italic=true \
  --prop font=Arial \
  --prop size=12 \
  --prop color=0000FF

Remove Content

# Remove paragraph
officecli remove report.docx '/paragraph[3]'

# Remove table
officecli remove report.docx '/table[1]'

RTL and i18n Support

# RTL paragraph (Arabic, Hebrew)
officecli add report.docx / --type paragraph \
  --prop text="مرحبا بك" \
  --prop direction=rtl \
  --prop lang.cs=ar-SA

# Per-script fonts
officecli add report.docx / --type paragraph \
  --prop text="Hello 世界 مرحبا" \
  --prop font.latin=Arial \
  --prop font.ea="MS Gothic" \
  --prop font.cs="Arial Unicode MS"

Excel Spreadsheets (.xlsx)

Cell Addressing

  • $SheetName:A1 - Cell A1 in named sheet
  • $Sheet1:B2:D4 - Range B2:D4
  • /sheet[1]/cell[A1] - Path-based addressing

Add Content

Add sheets:

# Add new sheet
officecli add budget.xlsx / --type sheet --prop name="Q1 Budget"

# Add with properties
officecli add budget.xlsx / --type sheet \
  --prop name="Summary" \
  --prop tabColor=FF0000 \
  --prop state=visible

Add cells:

# Simple value
officecli add budget.xlsx '$Sheet1:A1' --type cell \
  --prop value="Revenue"

# Number with formatting
officecli add budget.xlsx '$Sheet1:B1' --type cell \
  --prop value=125000 \
  --prop format='$#,##0.00'

# Formula
officecli add budget.xlsx '$Sheet1:C1' --type cell \
  --prop formula='=SUM(B1:B10)'

# Date
officecli add budget.xlsx '$Sheet1:D1' --type cell \
  --prop value=2024-01-15 \
  --prop format='yyyy-mm-dd'

Batch add cells:

# Multiple cells
officecli add budget.xlsx '$Sheet1:A1' --type cell --prop value="Name"
officecli add budget.xlsx '$Sheet1:B1' --type cell --prop value="Amount"
officecli add budget.xlsx '$Sheet1:A2' --type cell --prop value="Sales"
officecli add budget.xlsx '$Sheet1:B2' --type cell --prop value=50000

Add tables:

# Create table from range
officecli add budget.xlsx '$Sheet1:A1:C10' --type table \
  --prop name="SalesData" \
  --prop style=TableStyleMedium2 \
  --prop showHeader=true

Add charts:

# Column chart
officecli add budget.xlsx '$Sheet1' --type chart \
  --prop chartType=column \
  --prop dataRange='$Sheet1:A1:B10' \
  --prop title="Sales by Region" \
  --prop x=5cm \
  --prop y=2cm

# Pie chart
officecli add budget.xlsx '$Sheet1' --type chart \
  --prop chartType=pie \
  --prop dataRange='$Sheet1:A1:B5' \
  --prop title="Market Share"

Add pivot tables:

officecli add budget.xlsx '$Sheet2:A1' --type pivottable \
  --prop sourceRange='$Sheet1:A1:D100' \
  --prop rowFields=Region \
  --prop dataFields=Sales \
  --prop name="SalesByRegion"

Modify Content

Set cell values:

officecli set budget.xlsx '$Sheet1:A1' --prop value="Updated"

# With formatting
officecli set budget.xlsx '$Sheet1:B2' \
  --prop value=75000 \
  --prop format='$#,##0.00' \
  --prop bold=true \
  --prop color=FF0000

Set sheet properties:

officecli set budget.xlsx '/sheet[1]' \
  --prop name="Renamed Sheet" \
  --prop tabColor=00FF00 \
  --prop direction=rtl

Formulas

150+ built-in functions with auto-evaluation:

# Math
officecli add budget.xlsx '$Sheet1:C1' --type cell \
  --prop formula='=SUM(A1:A10)'

# Conditional
officecli add budget.xlsx '$Sheet1:D1' --type cell \
  --prop formula='=IF(B1>1000,"High","Low")'

# Lookup
officecli add budget.xlsx '$Sheet1:E1' --type cell \
  --prop formula='=VLOOKUP(A1,$Sheet2:A:B,2,FALSE)'

# Date functions
officecli add budget.xlsx '$Sheet1:F1' --type cell \
  --prop formula='=TODAY()'

Sort Data

# Sort range by column
officecli add budget.xlsx '$Sheet1:A1:C10' --type sort \
  --prop key1=B \
  --prop order1=desc

# Multi-key sort
officecli add budget.xlsx '$Sheet1:A1:D20' --type sort \
  --prop key1=A \
  --prop order1=asc \
  --prop key2=B \
  --prop order2=desc

Conditional Formatting

officecli add budget.xlsx '$Sheet1:B2:B10' --type conditionalformatting \
  --prop type=colorScale \
  --prop minColor=FF0000 \
  --prop maxColor=00FF00

PowerPoint Presentations (.pptx)

Path Syntax

  • /slide[N] - Nth slide
  • /slide[N]/shape[M] - Mth shape on slide
  • /slide[N]/table[M] - Mth table on slide

Add Content

Add slides:

# Blank slide
officecli add deck.pptx / --type slide

# With title
officecli add deck.pptx / --type slide \
  --prop title="Introduction"

# With background
officecli add deck.pptx / --type slide \
  --prop title="Dark Theme" \
  --prop background=1A1A2E

Add shapes (text boxes):

# Simple text box
officecli add deck.pptx '/slide[1]' --type shape \
  --prop text="Hello World" \
  --prop x=2cm \
  --prop y=3cm \
  --prop width=10cm \
  --prop height=2cm

# Styled text box
officecli add deck.pptx '/slide[1]' --type shape \
  --prop text="Key Findings" \
  --prop x=1cm \
  --prop y=2cm \
  --prop font=Arial \
  --prop size=32 \
  --prop color=FFFFFF \
  --prop bold=true \
  --prop align=center

Add images:

# Basic image
officecli add deck.pptx '/slide[1]' --type picture \
  --prop src=logo.png \
  --prop x=1cm \
  --prop y=1cm \
  --prop width=5cm \
  --prop height=3cm

# With effects
officecli add deck.pptx '/slide[1]' --type picture \
  --prop src=photo.jpg \
  --prop x=5cm \
  --prop y=5cm \
  --prop brightness=20 \
  --prop contrast=10 \
  --prop shadow=true

Add tables:

# Create table
officecli add deck.pptx '/slide[1]' --type table \
  --prop rows=3 \
  --prop cols=3 \
  --prop x=2cm \
  --prop y=5cm

# Set cell content
officecli set deck.pptx '/slide[1]/table[1]/row[1]/cell[1]' \
  --prop text="Header 1" \
  --prop bold=true

Add charts:

officecli add deck.pptx '/slide[1]' --type chart \
  --prop chartType=column \
  --prop title="Sales Growth" \
  --prop x=2cm \
  --prop y=5cm \
  --prop width=20cm \
  --prop height=10cm

Add 3D models:

officecli add deck.pptx '/slide[1]' --type 3dmodel \
  --prop src=model.glb \
  --prop x=5cm \
  --prop y=5cm \
  --prop width=10cm \
  --prop height=10cm

Slide Transitions and Animations

Add transitions:

officecli set deck.pptx '/slide[2]' \
  --prop transition=morph \
  --prop duration=1000

Add animations:

officecli add deck.pptx '/slide[1]/shape[1]' --type animation \
  --prop effect=fadeIn \
  --prop duration=500

Modify Content

Set shape properties:

officecli set deck.pptx '/slide[1]/shape[1]' \
  --prop text="Updated text" \
  --prop font=Calibri \
  --prop size=28 \
  --prop color=333333 \
  --prop fill=F0F0F0

Set slide properties:

officecli set deck.pptx '/slide[1]' \
  --prop title="New Title" \
  --prop background=FFFFFF \
  --prop hidden=false

Speaker Notes

# Add notes to slide
officecli add deck.pptx '/slide[1]' --type notes \
  --prop text="Remember to mention the Q3 results"

Common Patterns

Batch Document Generation

#!/bin/bash
# Generate monthly reports

for month in Jan Feb Mar Apr; do
  officecli create "report-${month}.docx"
  officecli add "report-${month}.docx" / --type paragraph \
    --prop text="${month} Report" \
    --prop style=Heading1
  officecli add "report-${month}.docx" / --type paragraph \
    --prop text="Generated on $(date)"
done

CSV to Excel

# Import CSV data
officecli create data.xlsx
officecli add data.xlsx '$Sheet1' --type import \
  --prop src=data.csv \
  --prop format=csv

Multi-slide Presentation from Template

#!/bin/bash
# Create presentation with consistent styling

officecli create pitch.pptx

# Title slide
officecli add pitch.pptx / --type slide \
  --prop title="Product Launch" \
  --prop background=1A1A2E

# Content slides
for topic in "Problem" "Solution" "Market" "Team"; do
  officecli add pitch.pptx / --type slide \
    --prop title="$topic" \
    --prop background=1A1A2E
  
  officecli add pitch.pptx '/slide[-1]' --type shape \
    --prop text="Content for $topic" \
    --prop x=2cm \
    --prop y=5cm \
    --prop color=FFFFFF
done

Automated Report with Charts

#!/bin/bash
# Generate Excel report with chart

officecli create sales.xlsx

# Add headers
officecli add sales.xlsx '$Sheet1:A1' --type cell --prop value="Month"
officecli add sales.xlsx '$Sheet1:B1' --type cell --prop value="Revenue"

# Add data
officecli add sales.xlsx '$Sheet1:A2' --type cell --prop value="January"
officecli add sales.xlsx '$Sheet1:B2' --type cell --prop value=50000
officecli add sales.xlsx '$Sheet1:A3' --type cell --prop value="February"
officecli add sales.xlsx '$Sheet1:B3' --type cell --prop value=65000
officecli add sales.xlsx '$Sheet1:A4' --type cell --prop value="March"
officecli add sales.xlsx '$Sheet1:B4' --type cell --prop value=72000

# Add chart
officecli add sales.xlsx '$Sheet1' --type chart \
  --prop chartType=line \
  --prop dataRange='$Sheet1:A1:B4' \
  --prop title="Monthly Revenue" \
  --prop x=5cm \
  --prop y=2cm

Extract and Transform

#!/bin/bash
# Extract text from Word doc, process, create new doc

# Extract text
text=$(officecli view input.docx text)

# Process (example: convert to uppercase)
processed=$(echo "$text" | tr '[:lower:]' '[:upper:]')

# Create new document
officecli create output.docx
officecli add output.docx / --type paragraph --prop text="$processed"

Integration with Scripts

Python Integration

import subprocess
import json

def create_report(title, content):
    """Create a Word document using OfficeCLI."""
    filename = f"{title}.docx"
    
    # Create document
    subprocess.run(["officecli", "create", filename])
    
    # Add title
    subprocess.run([
        "officecli", "add", filename, "/",
        "--type", "paragraph",
        "--prop", f"text={title}",
        "--prop", "style=Heading1"
    ])
    
    # Add content
    for paragraph in content:
        subprocess.run([
            "officecli", "add", filename, "/",
            "--type", "paragraph",
            "--prop", f"text={paragraph}"
        ])
    
    return filename

def get_cell_value(filename, cell):
    """Get cell value from Excel file."""
    result = subprocess.run([
        "officecli", "get", filename, cell, "--json"
    ], capture_output=True, text=True)
    
    data = json.loads(result.stdout)
    return data.get("attributes", {}).get("value")

# Usage
create_report("Q1 Summary", [
    "Revenue increased by 25%.",
    "Customer satisfaction improved.",
    "New product launch successful."
])

value = get_cell_value("budget.xlsx", "$Sheet1:B2")
print(f"Budget value: {value}")

Node.js Integration

const { execSync } = require('child_process');

function createPresentation(title, slides) {
  const filename = `${title}.pptx`;
  
  // Create presentation
  execSync(`officecli create "${filename}"`);
  
  // Add slides
  slides.forEach(slide => {
    execSync(`officecli add "${filename}" / --type slide --prop title="${slide.title}"`);
    
    if (slide.content) {
      execSync(`officecli add "${filename}" '/slide[-1]' --type shape --prop text="${slide.content}" --prop x=2cm --prop y=5cm`);
    }
  });
  
  return filename;
}

function viewAsHTML(filename) {
  execSync(`officecli view "${filename}" html`);
}

// Usage
const slides = [
  { title: "Introduction", content: "Welcome to our presentation" },
  { title: "Main Points", content: "Key findings and results" },
  { title: "Conclusion", content: "Thank you" }
];

const file = createPresentation("meeting", slides);
viewAsHTML(file);

Troubleshooting

Binary not found after installation

# Check if binary is in PATH
which officecli

# If not, run install again
officecli install

# Or manually add to PATH
export PATH="$PATH:$HOME/.officecli/bin"

File not opening in Office

# Verify file is valid
officecli view document.docx outline

# Check file wasn't corrupted
file document.docx
# Should show: "Microsoft Word 2007+"

Preview not refreshing in watch mode

# Ensure watch server is running
officecli watch document.docx

# Check if port is blocked
officecli watch document.docx --port 8081

# Clear browser cache or hard refresh (Ctrl+Shift+R / Cmd+Shift+R)

Permission denied errors

# Ensure file isn't open in another program
# Close Office/LibreOffice/other editors

# Check file permissions
ls -l document.docx
chmod 644 document.docx

Invalid path errors

# Verify document structure first
officecli view document.docx outline

# Paths are 1-indexed: /paragraph[1], /slide[1]
# Use --json to see exact paths
officecli get document.docx / --json

Formula not calculating in Excel

# OfficeCLI auto-evaluates 150+ functions
# Unsupported functions show #NAME? error
# Check formula syntax:
officecli get spreadsheet.xlsx '$Sheet1:A1' --json

RTL text not rendering correctly

# Set direction property
officecli set document.docx '/paragraph[1]' \
  --prop direction=rtl \
  --prop lang.cs=ar-SA

# For complex scripts, set appropriate font
officecli set document.docx '/paragraph[1]' \
  --prop font.cs="Arial Unicode MS"

Image not appearing

# Check image path is correct and file exists
ls -l image.png

# Ensure image format is supported (PNG/JPG/GIF/SVG)
file image.png

# Use absolute path if relative path fails
officecli add doc.docx / --type picture --prop src=/full/path/to/image.png

Configuration

OfficeCLI is designed to work out-of-the-box with no configuration needed. All settings are passed as command-line flags.

Common flags:

  • --json - Output as JSON
  • --port PORT - Custom port for watch server (default: 26315)
  • --prop key=value - Set element properties

Documentation

Key Concepts

  1. XPath-like addressing: All elements use path notation (/paragraph[1], $Sheet1:A1, /slide[1]/shape[2])
  2. Unified interface: Same add, set, get, remove, view verbs across all formats
  3. Live preview: watch command provides real-time browser preview with auto-refresh
  4. No dependencies: Single binary, no Office installation needed
  5. AI-first design: Commands optimized for LLM generation and automation
  6. Format preservation: Edit documents without breaking complex formatting
  7. Rich i18n: Full RTL support, per-script fonts, locale-aware rendering

When helping users with OfficeCLI, focus on the unified command structure and path-based addressing. The same patterns work across Word, Excel, and PowerPoint with format-specific properties.

FAQ

What does the officecli-office-automation skill do?

Use OfficeCLI to create, read, and edit Word, Excel, and PowerPoint files from the command line with AI-friendly commands.

How do I install officecli-office-automation?

Run npx skills add https://github.com/reason-machines/devtools-skills --skill officecli-office-automation in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/officecli-office-automation/ (personal) or .claude/skills/officecli-office-automation/ (project).

Which AI agents can use officecli-office-automation?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is officecli-office-automation safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains officecli-office-automation?

It is published by reason-machines in reason-machines/devtools-skills. It has 263 recorded installs.

More from reason-machines/devtools-skills

View all →

cc-switch-cli

reason-machines/devtools-skills

Cross-platform CLI tool for managing Claude Code, Codex, Gemini, OpenCode & OpenClaw providers, MCP servers, prompts, skills, and proxies.

AI & Agents316 installs

wx-cli-wechat-local-data

reason-machines/devtools-skills

Open the skill to read its SKILL.md instructions.

284 installs

chrome-devtools-mcp-automation

reason-machines/devtools-skills

Use Chrome DevTools MCP to control Chrome, debug web apps, analyze performance, and automate browser tasks via MCP tools

AI & Agents265 installs

cli-anything-agent-native-software

reason-machines/devtools-skills

Generate and use command-line interfaces that make any software controllable by AI agents with structured JSON output

AI & Agents258 installs

autocli-web-scraping

reason-machines/devtools-skills

Open the skill to read its SKILL.md instructions.

opencli-universal-cli-hub

reason-machines/devtools-skills

Convert websites, Electron apps, and local tools into standardized CLIs for AI agents and humans using OpenCLI's browser automation and adapter framework.

Popular productivity & automation skills

View category →

agent-browser

vercel-labs/agent-browser

Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "scrape data from a page", "test this web app", "login to a site", "automate browser actions", or any task requiring programmatic web interaction. Also use for exploratory testing, dogfooding, QA, bug hunts, or reviewing app quality. Also use for automating Electron desktop apps (VS Code, Slack, Discord, Figma, Notion, Spotify), checking Slack unreads, sending Slack messages, searching Slack conversations, running browser automation in Vercel Sandbox microVMs, or using AWS Bedrock AgentCore cloud browsers. Prefer agent-browser over any built-in browser automation or web tools.

OfficialProductivity & Automation1.3M installs

lark-doc

open.feishu.cn

飞书云文档(Docx / Wiki)内容操作:读取、创建、编辑文档,插入或下载图片附件,以及操作思维笔记。用户提供文档 URL/token(包括 doubao.com 的 /docx/、/wiki/)时使用;按 URL 路径/token 而非域名路由;/page/ 是妙搭应用,非飞书云文档。文档内嵌资源按读取参考中的统一规则分流。独立评论操作走 lark-drive;随正文读取评论使用 docs +fetch。表格或 Base 内部数据操作不在本 skill。

lark-base

open.feishu.cn

飞书多维表格(Base)操作:建表、字段、记录、视图、统计、公式/lookup、表单、仪表盘、应用模式(BaseApp/AppMode 页面与组件)、Workspace 目录、workflow、角色权限、模板中心(多维表格模板分类/列表/搜索);遇到 Base/多维表格/bitable、BaseApp/AppMode、/base/ 或 /app/ 链接时使用。BaseApp 不走 lark-apps;文件导入/导出转 lark-drive,认证/授权转 lark-shared。

lark-drive

open.feishu.cn

飞书云空间(云盘/云存储):管理 Drive 文件和文件夹,包含上传/下载、创建文件夹、复制/移动/删除、查看元数据、查询权限设置、评论/权限/订阅、标题、版本、飞书文档密级标签(secure labels)和本地文件导入。用户需要整理云盘目录、处理云空间资源 URL/token、判断链接类型/真实 token/标题,或导入 Word/Markdown/Excel/CSV/PPTX/.base 为 docx/sheet/bitable/slides 时使用;doubao.com 云空间 URL/token 也按资源路径和 token 路由,不回退 WebFetch。不负责:文档内容编辑(走 lark-doc)、表格/Base 表内数据操作(走 lark-sheets/lark-base)、知识空间节点/成员管理(走 lark-wiki)、原生 Markdown 文件读写/patch/diff(走 lark-markdown)。

lark-shared

open.feishu.cn

Use for lark-cli setup/auth tasks: auth login/status/logout, user vs bot identity, business-domain permissions (--domain, including all/docs/drive), missing scopes, revoking authorization, or handling notice JSON.

lark-im

open.feishu.cn

飞书即时通讯:收发消息和管理群聊。发送和回复消息、搜索聊天记录、管理群聊成员、上传下载图片和文件、管理表情回复、发送应用内/短信/电话加急、发送和处理交互卡片(Interactive Card)、监听卡片按钮回调(card.action.trigger)。当用户需要发消息、查看或搜索聊天记录、下载聊天中的文件、查看群成员、搜索群、创建群聊或话题群、管理标记数据、管理 Feed 置顶(添加/移除/查询置顶会话)、管理标签数据、处理卡片回调时使用。