← 返回 Skills 市场
deadblue22

Feishu Thread Forward

作者 deadblue · GitHub ↗ · v1.0.0
cross-platform ⚠ suspicious
351
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install feishu-thread-forward
功能描述
Forward Feishu thread/topic to a user, group, or topic via REST API. Activate when: forwarding a thread/topic to another chat, sharing a topic post to a diff...
使用说明 (SKILL.md)

Feishu Thread Forward

Forward a Feishu thread (话题) to a user, group, or another topic using the Feishu Open API.

When to Use

  • User asks to forward/share a thread or topic to another group or user
  • You need to cross-post a topic post from one group to another
  • The built-in message tool cannot do thread-level forwarding

API

POST https://open.feishu.cn/open-apis/im/v1/threads/{thread_id}/forward?receive_id_type={type}

Parameters

Param Location Required Description
thread_id path yes Thread ID to forward (format: omt_xxxxx)
receive_id_type query yes Target ID type: open_id, chat_id, user_id, union_id, email, thread_id
receive_id body yes Target ID matching the receive_id_type
uuid query no Idempotency key (max 50 chars, dedup within 1 hour)

Headers

Authorization: Bearer {tenant_access_token}
Content-Type: application/json

How to Get thread_id

A message in a topic group has a thread_id field. Retrieve it via:

GET https://open.feishu.cn/open-apis/im/v1/messages/{message_id}

The response data.items[0].thread_id contains the thread ID (e.g., omt_1accc5a75c0f9b93).

Script

Use scripts/forward_thread.py for the complete implementation.

python3 skills/feishu-thread-forward/scripts/forward_thread.py \
  --thread-id omt_xxxxx \
  --receive-id oc_xxxxx \
  --receive-id-type chat_id

Typical Flow

  1. Get thread_id — from the message's metadata, or by calling GET message API
  2. Call forward APIPOST /im/v1/threads/{thread_id}/forward
  3. Result — a merge_forward type message appears in the target chat as a clickable topic card

Forward vs Merge Forward vs Message Forward

Method API Result
Thread forward (this skill) POST /threads/{thread_id}/forward Topic card (clickable, shows thread context) ✅
Merge forward POST /messages/merge_forward "群聊会话记录" bundle (expandable message list)
Message forward POST /messages/{message_id}/forward Single message copied to target (loses thread context)

Thread forward is what users see when they click "转发话题" in Feishu client.

Prerequisites

  • Bot must be in the source group (and can see the thread)
  • Bot must be in the target group (or target user must be in bot's availability scope)
  • Bot needs im:message or im:message:send_as_bot permission

Credentials

Read from /root/.openclaw/openclaw.jsonchannels.feishu.appId / channels.feishu.appSecret to obtain tenant_access_token.

Error Codes

Code Meaning
230002 Bot not in target group
230013 Target user not in bot's availability scope
230064 Invalid thread_id
230066 Thread is in a secret group (no forwarding)
230070 Thread's group has anti-leak mode enabled
230073 Thread invisible to bot (joined after thread creation + history hidden)
安全使用建议
This skill implements Feishu thread forwarding and needs Feishu appId/appSecret — that's expected — but it obtains them by reading /root/.openclaw/openclaw.json, a global OpenClaw config that may contain other secrets. Before installing: (1) inspect the file /root/.openclaw/openclaw.json to see what keys it contains; (2) prefer supplying only the Feishu credentials (or an explicit config path) rather than allowing the skill to read a global config; (3) ask the publisher to declare the required config path in the skill metadata or to accept credentials via environment variables; (4) only install if you trust the source, since the skill will read a local file and perform network requests to api.open.feishu.cn. If you cannot verify the config contents or trust the publisher, do not install.
功能分析
Type: OpenClaw Skill Name: feishu-thread-forward Version: 1.0.0 The skill facilitates Feishu thread forwarding via the official API but is classified as suspicious due to high-risk behaviors. Specifically, the script 'scripts/forward_thread.py' and instructions in 'SKILL.md' require reading sensitive credentials from a hardcoded absolute path ('/root/.openclaw/openclaw.json'), which is a risky capability even if intended for the stated purpose. Additionally, the script lacks input sanitization for the 'thread_id' parameter, which is directly interpolated into an API URL, potentially allowing for path traversal vulnerabilities against the Feishu endpoint.
能力评估
Purpose & Capability
Functionality (forwarding Feishu threads via Feishu Open API) matches the name/description and the included script implements that flow. However the skill's metadata declares no credentials or config paths, while the code and SKILL.md require reading /root/.openclaw/openclaw.json to obtain appId/appSecret — this omission is inconsistent with the stated purpose/requirements.
Instruction Scope
SKILL.md and the script instruct the agent to read /root/.openclaw/openclaw.json to get channels.feishu.appId and appSecret and then call Feishu APIs. Reading a global OpenClaw config file is scope-expanding because that file may contain credentials for multiple channels; the instructions do not constrain or justify reading the entire file or declare that access.
Install Mechanism
No install spec (instruction-only plus a small helper script). No downloads or archive extraction. The script uses standard Python stdlib (urllib) and performs straightforward HTTP calls — low install risk.
Credentials
The skill requires Feishu appId/appSecret but declares no required env vars or config paths in metadata. Instead it hardcodes a path (/root/.openclaw/openclaw.json). This is disproportionate because that global file likely contains other credentials/tokens; asking to read it without declaring it risks exposing unrelated secrets. The script does not exfiltrate data beyond Feishu endpoints, but local file access is overly broad and undeclared.
Persistence & Privilege
The skill is not always:true and does not request persistent system presence or modify other skills. It runs on demand and performs network calls only to Feishu endpoints.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install feishu-thread-forward
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /feishu-thread-forward 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
Initial release: Forward Feishu threads (话题) to users/groups via REST API. Fills the gap where built-in message tool lacks thread forwarding. Includes comparison of thread forward vs merge forward vs message forward.
元数据
Slug feishu-thread-forward
版本 1.0.0
许可证
累计安装 0
当前安装数 0
历史版本数 1
常见问题

Feishu Thread Forward 是什么?

Forward Feishu thread/topic to a user, group, or topic via REST API. Activate when: forwarding a thread/topic to another chat, sharing a topic post to a diff... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 351 次。

如何安装 Feishu Thread Forward?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install feishu-thread-forward」即可一键安装,无需额外配置。

Feishu Thread Forward 是免费的吗?

是的,Feishu Thread Forward 完全免费(开源免费),可自由下载、安装和使用。

Feishu Thread Forward 支持哪些平台?

Feishu Thread Forward 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Feishu Thread Forward?

由 deadblue(@deadblue22)开发并维护,当前版本 v1.0.0。

💬 留言讨论