feishu-cli-chat

riba2534/feishu-cli · updated Apr 8, 2026

MDX-style export adds YAML metadata + attribution linking explainx.ai and this canonical listing URL.

$npx skills add https://github.com/riba2534/feishu-cli --skill feishu-cli-chat
0 commentsdiscussion
summary

通过 feishu-cli 浏览飞书单聊/群聊消息历史、搜索会话、管理群聊信息和成员。

skill.md

飞书会话浏览与管理

通过 feishu-cli 浏览飞书单聊/群聊消息历史、搜索会话、管理群聊信息和成员。

前置条件

本技能的核心命令必须使用 User Token,使用前需先登录。chat createchat linkmsg read-users 使用 App Token,属于 feishu-cli-toolkit 技能。

feishu-cli auth login

未登录时命令会直接报错并提示登录方式。登录后 token 自动加载,无需手动传参。

身份说明

身份 使用场景
User Token(必须) 本技能所有读取/管理命令:chat get/update/delete、member list/add/remove、msg get/history/list/pins/reaction/search-chats、search messages
App Token chat createchat linkmsg read-users(这三个命令不属于本技能核心流程)

User Token 能力:

  • 查看 bot 不在的群聊消息
  • 查看私聊(p2p)消息
  • 搜索用户有权限的所有会话

自动降级机制

当使用 User Token 调用 msg history / msg list 时,如果 bot 不在目标群中,API 会返回空结果。CLI 会自动检测这种情况并降级为 search + get 方式获取消息:

list API 返回空 + has_more=true → 自动切换到搜索模式 → 逐条获取消息内容

这个过程对用户透明,无需手动干预。


场景一:查看群聊历史消息

这是最常见的场景——用户想看某个群最近在聊什么。

步骤 1:找到群聊

如果用户给了群名而不是 chat_id,先搜索:

feishu-cli msg search-chats --query "群名关键词" -o json

输出中的 chat_id(形如 oc_xxx)就是后续命令需要的标识。

步骤 2:获取消息

# 获取最近 50 条消息(API 单次上限 50)
feishu-cli msg history \
  --container-id oc_xxx \
  --container-id-type chat \
  --page-size 50 \
  --sort-type ByCreateTimeDesc \
  -o json

# 按时间范围获取(--start-time 为秒级时间戳,仅返回该时间之后的消息)
# 获取"今天 00:00 至今"的消息示例:
START_TS=$(python3 -c "from datetime import datetime,timezone,timedelta; tz=timezone(timedelta(hours=8)); print(int(datetime.now(tz).replace(hour=0,minute=0,second=0,microsecond=0).timestamp()))")
feishu-cli msg history \
  --container-id oc_xxx \
  --container-id-type chat \
  --page-size 50 \
  --start-time $START_TS \
  --sort-type ByCreateTimeAsc \
  -o json

# 获取更早的消息(使用上一次返回的 page_token 翻页)
feishu-cli msg history \
  --container-id oc_xxx \
  --container-id-type chat \
  --page-size 50 \
  --page-token "上一页返回的token" \
  -o json

步骤 2.5:判断群类型并获取线程回复

飞书群聊分为普通群话题群两种,消息结构和获取策略完全不同。

如何判断群类型

观察 msg history 返回的消息字段:

群类型 特征 示例
话题群 每条消息都有 thread_id(形如 omt_xxx),主消息流仅包含每个话题的首条消息 泰国华商群
普通群 独立消息 thread_id,仅被回复的消息和回复消息才有 thread_id Claude Code闲聊群

消息中的线程相关字段

字段 说明 出现条件
thread_id 线程/话题 ID(形如 omt_xxx 话题群所有消息 / 普通群中参与线程的消息
root_id 线程根消息 ID(即话题首条消息) 线程回复消息
parent_id 直接上级消息 ID(被回复的那条消息) 线程回复消息

普通群:一次获取全部消息

普通群的 msg history 返回所有消息(独立消息 + 线程回复),平铺在同一列表中。通过 root_id/parent_id 可重建回复关系,不需要额外获取线程。

独立消息:       无 thread_id、无 root_id
被回复的消息:   有 thread_id(被回复后自动产生)
线程回复:       有 thread_id + root_id + parent_id

话题群:需要逐个话题获取回复(重要)

话题群的 msg history --container-id-type chat 仅返回每个话题的首条消息,线程回复不在主消息流中。必须按 thread_id 逐个获取:

# 获取单个话题的所有回复(按时间正序,方便阅读)
feishu-cli msg history \
  --container-id omt_xxx \
  --container-id-type thread \
  --page-size 50 \
  --sort-type ByCreateTimeAsc \
  -o json

完整的话题群获取流程

# 1. 获取主消息流(每个话题的首条消息)
feishu-cli msg history \
  --container-id oc_xxx \
  --container-id-type chat \
  --page-size 50 \
  --sort-type ByCreateTimeDesc \
  -o json

# 2. 从返回结果中提取所有 thread_id

# 3. 对每个 thread_id 获取回复(可并发执行,提高效率)
feishu-cli msg history --container-id omt_xxx --container-id-type thread --page-size 50 --sort-type ByCreateTimeAsc -o json
feishu-cli msg history --container-id omt_yyy --container-id-type thread --page-size 50 --sort-type ByCreateTimeAsc -o json
# ... 多个话题可并行获取

性能提示:话题群中活跃话题可能有 10-20 个,建议并发获取多个话题的回复。飞书 API 对 msg history 无严格 QPS 限制(不同于搜索 API),可以安全并发。

步骤 3:解析消息内容

API 返回的消息 body.content 是 JSON 字符串,常见格式:

msg_type content 格式 说明
text {"text":"消息内容"} 纯文本,@_user_1 是 at 占位符
post 富文本 JSON 包含标题和段落结构
image {"image_key":"xxx"} 图片
interactive 卡片 JSON 交互式卡片
share_calendar_event {"summary":"会议名","start_time":"ms","end_time":"ms",...} 日历事件分享
sticker {"sticker_key":"xxx"} 表情包
file {"file_key":"xxx","file_name":"..."} 文件

用 Python 提取文本内容的常用方式:

import json
content = json.loads(msg['body']['content'])
text = content.get('text', '')

完整示例:获取并总结群聊最近 N 条消息

# 1. 搜索群聊
feishu-cli msg search-chats --query "Go讨论区" -o json

# 2. 获取消息(循环翻页直到够数)
feishu-cli msg history \
  --container-id oc_xxx \
  --container-id-type chat \
  --page-size 50 \
  --sort-type ByCreateTimeDesc \
  -o json > /tmp/chat_page1.json

# 3. 提取 page_token 获取下一页
# ... 循环直到获取足够消息

注意:Search API 的 page_size 与 List API 不同,降级模式下每页实际返回数量可能少于请求值。建议循环翻页直到 has_more=false 或达到目标数量。


场景二:查看和某人的私聊记录

飞书 Open API 不支持直接按用户查询 p2p 聊天记录。需要通过搜索 API 间接实现。

方法:搜索 + 筛选

# 搜索私聊消息
feishu-cli search messages "关键词" \
  --chat-type p2p_chat \
  -o json

# 如果知道对方的 open_id,可以按发送者筛选
feishu-cli search messages "关键词" \
  --chat-type p2p_chat \
  --from-ids ou_xxx \
  -o json

# 获取单条消息详情
feishu-cli msg get om_xxx -o json

查找用户 ID

如果用户只给了邮箱或手机号,可以查找对应的 open_id:

# 通过邮箱查找用户
feishu-cli user search --email [email protected] -o json

# 通过手机号查找用户
feishu-cli user search --mobile 13800138000 -o json

注意user search 仅支持 --email--mobile 精确查找,不支持按姓名模糊搜索。

限制说明

  • 搜索 API 的 query 参数不能为空,至少需要一个空格 " "
  • p2p 聊天无法通过 msg search-chats 搜索(该 API 只搜索群聊)
  • 搜索结果返回的是消息 ID 列表,需要逐条 msg get 获取完整内容
  • msg get 对私聊消息可能返回 230001 错误(API 限制:部分私聊消息不支持通过 Get API 获取详情),此时只能依赖搜索结果中的摘要信息

场景三:搜索群聊

搜索群聊列表

# 按关键词搜索群聊
feishu-cli msg search-chats --query "关键词" -o json

# 分页获取所有群
feishu-cli msg search-chats --page-size 100 -o json

在群内搜索消息

# 在指定群中搜索消息
feishu-cli search messages "关键词" --chat-ids oc_xxx -o json

更多搜索功能(按时间范围、消息类型、发送者、跨模块搜索文档/应用等)请使用 feishu-cli-search 技能,提供完整的筛选参数和 Token 排错指南。


场景四:群聊信息管理

查看群信息

feishu-cli chat get oc_xxx

默认输出 JSON 格式,包含群名、描述、群主、群类型、成员数量等。

查看群成员

# 获取成员列表
feishu-cli chat member list oc_xxx

# 指定 ID 类型
feishu-cli chat member list oc_xxx --member-id-type user_id

# 分页获取(大群)
feishu-cli chat member list oc_xxx --page-size 100 --page-token "xxx"

Scope 要求:使用 User Token 时需要 im:chat:readim:chat.members:read scope。若报 99991679 错误,需通过 auth login --scopes "... im:chat:read" 重新授权。

修改群信息

# 改群名
feishu-cli chat update oc_xxx --name "新群名"

# 改群描述
feishu-cli chat update oc_xxx --description "新的群描述"

# 转让群主
feishu-cli chat update oc_xxx --owner-id ou_xxx

群成员管理

# 添加成员
feishu-cli chat member add oc_xxx --id-list ou_xxx,ou_yyy

# 移除成员
feishu-cli chat member remove oc_xxx --id-list ou_xxx

# 使用 user_id 类型
feishu-cli chat member add oc_xxx --id-list user_xxx --member-id-type user_id

创建群聊

feishu-cli chat create --name "新群聊" --user-ids ou_xxx,ou_yyy

注意chat createchat link(获取分享链接)仅支持 App Token(租户身份),不支持 User Token。

解散群聊

feishu-cli chat delete oc_xxx
# 会要求确认,不可逆操作

场景五:消息详情与互动

获取单条消息详情

feishu-cli msg get om_xxx -o json

查看消息已读情况

feishu-cli msg read-users om_xxx -o json

限制:仅支持查询 bot 自己发送的、7 天内的消息,且 bot 必须在会话内。此命令仅使用 App Token。

查看群内置顶消息

feishu-cli msg pins --chat-id oc_xxx -o json

置顶/取消置顶消息

# 置顶消息
feishu-cli msg pin <message_id>

# 取消置顶
feishu-cli msg unpin <message_id>

Reaction 表情回应

# 添加表情
feishu-cli msg reaction add <message_id> --emoji-type THUMBSUP

# 删除表情
feishu-cli msg reaction remove <message_id> --reaction-id <REACTION_ID>

# 查询表情列表
feishu-cli msg reaction list <message_id> [--emoji-type THUMBSUP] [--page-size 20]

常用 emoji-type:THUMBSUP(点赞)、SMILE(微笑)、LAUGH(大笑)、HEART(爱心)、JIAYI(加一)、OKFIRE

删除消息

仅能删除机器人自己发送的消息,不可恢复。

feishu-cli msg delete <message_id>

常见操作速查表

用户意图 命令 Token
看某群最近消息 msg history --container-id oc_xxx --container-i
how to use feishu-cli-chat

How to use feishu-cli-chat on Cursor

AI-first code editor with Composer

1

Prerequisites

Before installing skills in Cursor, ensure your development environment meets these requirements:

  • Cursor installed and configured on your development machine
  • Node.js version 16.0+ with npm package manager (verify with node --version)
  • Active project directory or workspace where you want to add feishu-cli-chat
2

Execute installation command

Execute the skills CLI command in your project's root directory to begin installation:

$npx skills add https://github.com/riba2534/feishu-cli --skill feishu-cli-chat

The skills CLI fetches feishu-cli-chat from GitHub repository riba2534/feishu-cli and configures it for Cursor.

3

Select Cursor when prompted

The CLI will show a list of available agents. Use arrow keys to navigate and space to select Cursor:

◆ Which agents do you want to install to?
│ ── Universal (.agents/skills) ── always included ────
│ • Amp
│ • Antigravity
│ • Cline
│ • Codex
│ ●Cursor(selected)
│ • Cursor
│ • Windsurf
4

Verify installation

Confirm successful installation by checking the skill directory location:

.cursor/skills/feishu-cli-chat

Reload or restart Cursor to activate feishu-cli-chat. Access the skill through slash commands (e.g., /feishu-cli-chat) or your agent's skill management interface.

Security & Verification Notice

We perform automated surface-level scans (Gen AI Scanner, Socket, Snyk) during installation. These checks detect common vulnerabilities but do not guarantee complete security. Always review skill source code and verify the publisher's reputation before production use.

Skills execute code in your development environment. Always verify the publisher's identity, review recent commits, and test in isolated environments before production deployment.

List & Monetize Your Skill

Submit your Claude Code skill and start earning

GET_STARTED →

Use Cases

User Story & Requirements Generation

Create detailed user stories, acceptance criteria, and feature specs

Example

Generate user stories for 'password reset feature' with acceptance criteria, edge cases, and test scenarios

Reduce spec writing time by 50%, ensure comprehensive coverage

Competitive Analysis

Research competitors, compare features, identify gaps

Example

Analyze 5 competitor products, create feature comparison matrix, suggest differentiation opportunities

Complete competitive research in 2 hours instead of 2 days

Roadmap Prioritization

Evaluate features using frameworks (RICE, ICE, Kano) and create prioritized backlogs

Example

Score 20 feature ideas using RICE framework, generate prioritized roadmap with rationale

Make data-driven prioritization decisions faster

Stakeholder Communication

Draft PRDs, status updates, and stakeholder presentations

Example

Create executive summary of Q3 roadmap, monthly progress report, feature launch announcement

Save 3-5 hours/week on communication overhead

Implementation Guide

Prerequisites

  • Claude Desktop or compatible AI client
  • Access to product documentation and roadmap tools (Jira, Notion, etc.)
  • Understanding of product management frameworks (RICE, Jobs-to-be-Done, etc.)
  • Stakeholder contact information and communication channels

Time Estimate

30-60 minutes to see productivity improvements

Installation Steps

  1. 1.Install product management skill
  2. 2.Start with user story generation for known feature
  3. 3.Progress to competitive analysis: research 2-3 competitors
  4. 4.Use for roadmap prioritization: apply RICE/ICE scoring
  5. 5.Draft stakeholder communications and refine based on feedback
  6. 6.Build template library for recurring PM tasks
  7. 7.Share effective prompts with product team

Common Pitfalls

  • Not validating competitive research—verify facts before sharing
  • Accepting user stories without involving engineering team
  • Over-relying on frameworks without qualitative judgment
  • Not customizing outputs to company culture and communication style
  • Skipping stakeholder validation of generated requirements

Best Practices

✓ Do

  • +Validate research and competitive analysis with real data
  • +Collaborate with engineering when generating technical requirements
  • +Customize frameworks and templates to your company context
  • +Use skill for first drafts, refine with stakeholder input
  • +Document successful prompt patterns for PM tasks
  • +Combine AI efficiency with human judgment and intuition

✗ Don't

  • Don't publish competitive analysis without fact-checking
  • Don't finalize user stories without engineering review
  • Don't make prioritization decisions solely on AI scoring
  • Don't skip customer validation of generated requirements
  • Don't ignore company-specific context and culture

💡 Pro Tips

  • Provide context: company goals, constraints, customer feedback
  • Ask for alternatives: 'Show 3 ways to prioritize this roadmap'
  • Request stakeholder-specific formatting: 'Executive summary vs. engineering spec'
  • Use skill for 70% generation + 30% customization to company needs

When to Use This

✓ Use When

Use for user story writing, competitive research, roadmap prioritization, stakeholder communication, and PRD drafting. Best for reducing repetitive documentation and research work.

✗ Avoid When

Avoid for strategic product vision (requires deep customer empathy), pricing decisions (needs market and financial expertise), or when face-to-face customer discovery is more valuable than speed.

Learning Path

  1. 1Basic: user stories, feature specs, status updates
  2. 2Intermediate: competitive analysis, prioritization frameworks, PRDs
  3. 3Advanced: product strategy, go-to-market planning, OKR setting
  4. 4Expert: product vision, market positioning, business model innovation

Discussion

Product Hunt–style comments (not star reviews)
  • No comments yet — start the thread.
general reviews

Ratings

4.739 reviews
  • Xiao Martin· Dec 28, 2024

    Registry listing for feishu-cli-chat matched our evaluation — installs cleanly and behaves as described in the markdown.

  • Diya Park· Dec 24, 2024

    We added feishu-cli-chat from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.

  • Shikha Mishra· Dec 16, 2024

    feishu-cli-chat reduced setup friction for our internal harness; good balance of opinion and flexibility.

  • Xiao Harris· Dec 8, 2024

    Keeps context tight: feishu-cli-chat is the kind of skill you can hand to a new teammate without a long onboarding doc.

  • Aisha Harris· Nov 27, 2024

    I recommend feishu-cli-chat for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.

  • Alexander Sethi· Nov 15, 2024

    Solid pick for teams standardizing on skills: feishu-cli-chat is focused, and the summary matches what you get after install.

  • Hassan Anderson· Nov 7, 2024

    feishu-cli-chat reduced setup friction for our internal harness; good balance of opinion and flexibility.

  • Amelia Iyer· Oct 26, 2024

    Registry listing for feishu-cli-chat matched our evaluation — installs cleanly and behaves as described in the markdown.

  • Meera Zhang· Oct 18, 2024

    Useful defaults in feishu-cli-chat — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.

  • Charlotte Ramirez· Oct 6, 2024

    feishu-cli-chat has been reliable in day-to-day use. Documentation quality is above average for community skills.

showing 1-10 of 39

1 / 4