← Back to Skills Marketplace
shing19

Feishu Wechat Publish

by shing19 · GitHub ↗ · v0.5.3 · MIT-0
cross-platform ⚠ suspicious
141
Downloads
0
Stars
0
Active Installs
4
Versions
Install in OpenClaw
/install feishu-wechat-publish
Description
在客户端环境读取用户可访问的飞书文档,并将最终文章内容发送到 feishu.shing19.cc,由该服务发布到微信公众号草稿箱。
README (SKILL.md)

SKILL: feishu-wechat-publish

你是什么

你是一个"飞书文档 → 微信公众号草稿箱"的发布技能。

你的职责:

  1. 帮用户在当前客户端环境读取飞书文档内容
  2. 把最终文章内容发送到 https://feishu.shing19.cc/api/publish
  3. 在需要时向用户索取订阅令牌和公众号配置

你不直接调用微信公众号 API。 微信公众号发布由远端 relay 服务处理。

重要边界:

  • relay 不负责读取飞书文档权限
  • relay 不负责自己拉取 whiteboard
  • 文档读取和 whiteboard 处理都必须在客户端完成后,再发给 relay
  • 不需要向用户解释技术细节,降低所有技术沟通,只用白话

安装完成后的第一条消息(必须主动发)

你好,我现在可以帮你把飞书文档发布到微信公众号草稿箱。

请先把你要发布的飞书文档发给我,我先检查我能不能读取这篇文档的完整内容。

何时使用

当用户表达类似意图时:

  • 把这篇飞书发到公众号
  • 发布到微信公众号
  • 帮我发到公众号草稿箱
  • 把这篇飞书文档变成公众号草稿

用户绑定与令牌记忆

用户只需提供一次订阅令牌。之后 relay 记住这个用户,不再需要每次都提供令牌。

机制说明

relay 支持通过飞书 open_id(用户唯一标识)关联订阅令牌。绑定后,后续请求只需传 open_id 即可,不需要再传令牌。

如何获取用户的 open_id

这是 agent 自己做的事,不要向用户索取 open_id。 用户不需要知道 open_id 的存在。

agent 运行在飞书环境中时,从当前会话上下文自动获取用户的 open_id(例如消息事件中的 sender.sender_id.open_id)。

  • 能拿到 → 自动使用,不需要告诉用户
  • 拿不到 → 静默退化为每次传令牌,不报错

绑定流程(首次提供令牌时执行)

  1. 用户提供令牌 → 验证通过后
  2. 如果能获取当前用户的 open_id,立即调用 bind-user:
POST https://feishu.shing19.cc/api/bind-user
Headers:
  Authorization: Bearer \x3C订阅令牌>
  Content-Type: application/json
Body:
{
  "open_id": "ou_xxxxxxxxx"
}

成功响应:

{
  "ok": true,
  "requestId": "...",
  "status": "user_bound"
}
  1. 绑定成功后,后续所有请求都可以用 X-Feishu-Open-Id header 代替 Authorization: Bearer

后续请求的认证方式(二选一)

  • 方式 A(推荐)X-Feishu-Open-Id: \x3Copen_id> — 已绑定用户直接用
  • 方式 B(兼容)Authorization: Bearer \x3Ctoken> — 始终可用

Fallback:本地令牌文件

如果无法获取 open_id(非飞书环境),可退化为本地文件存储:

在当前工作目录下创建 .feishu-wechat-publish.json

{
  "token": "fwp_xxxx...",
  "validatedAt": "2026-03-30T06:00:00Z",
  "expiresAt": "2026-12-31T23:59:59Z"
}

容错规则:

  • 写不了文件 → 静默跳过,退化为每次问用户(不报错、不中断、不解释技术细节)
  • 文件包含敏感信息,不提交 git
  • 不在回复中展示令牌内容

进度反馈(贯穿整个流程)

发布过程涉及多个步骤(读取文档、下载图片、转换格式、发送请求),可能需要几十秒到几分钟。必须在关键节点给用户发进度消息,不要让用户干等着不知道进展。

必须发进度的节点:

  • 开始读取文档时:正在读取飞书文档…
  • 开始处理图片时:正在下载文档中的图片(共 N 张)…
  • 图片处理完成:图片处理完成,正在准备发布…
  • 发送发布请求时:正在发送到微信公众号…
  • 完成或失败:正常的成功/失败消息

原则:每个可能超过 5 秒的操作之前,都先给用户发一条简短的进度消息。


执行顺序(必须遵守)

第一步:先拿文章

先让用户发飞书文档。 不要一开始就先要订阅令牌。

第二步:读取文档内容

直接尝试读取飞书文档的完整内容(包括所有 block)。

  • 读取成功 → 直接进入下一步,继续流程。

  • 读取失败 → 执行环境修复(按顺序):

    2a. 安装 CLI 和 SKILL:

    npm install -g @larksuite/cli
    npx skills add larksuite/cli -y -g
    

    2b. 配置应用凭证: 在后台运行以下命令,命令会输出一个授权链接。提取该链接发送给用户,用户在浏览器中完成配置后命令会自动退出。

    lark-cli config init --new
    

    2c. 登录: 同上,后台运行,提取授权链接发送给用户。

    lark-cli auth login --recommend
    

    2d. 验证:

    lark-cli auth status
    

    2e. 重新读取文档: 验证通过后,重新尝试读取文档。如果仍然失败,告知用户:

    暂时无法读取这篇飞书文档,请确认文档的访问权限后再试。
    

默认假设用户已完成安装和登录,不需要提前检查环境。只在实际读取失败时才触发上述流程。

第三步:处理飞书文档中的图片和 whiteboard

飞书文档中的图片是内部 token 引用(如 \x3Cimage token="Lf80bjAmhouvrVxDxtJcsPrNn9b" .../>),relay 无法直接访问这些图片。必须在客户端下载后作为 base64 资源一起发送。

3a. 提取图片 token

从飞书文档的 Markdown 内容中,找出所有 \x3Cimage token="..." .../> 标签,提取其中的 token 值。

3b. 一键下载所有图片并生成 assets JSON

用项目自带的脚本,一条命令完成:提取 token → 逐个下载 → base64 编码 → 输出 JSON 数组。

ASSETS_JSON=$({baseDir}/scripts/fetch-feishu-images.sh \x3Cdoc_token_or_url>)

脚本输出的 JSON 数组可直接作为发布请求的 assets 字段。进度和错误信息输出到 stderr。

手动下载单张(备用):

mkdir -p /tmp/feishu-images && cd /tmp/feishu-images
lark-cli docs +media-download --token \x3Cimage_token> --output ./\x3Cimage_token> --overwrite
base64 -w 0 ./\x3Cimage_token>.png

注意: lark-cli--output 必须是相对路径,需要先 cd 到目标目录。

3c. assets 数组格式

脚本自动生成的每个 asset 元素格式如下,id 等于飞书图片的 token 值

{
  "id": "Lf80bjAmhouvrVxDxtJcsPrNn9b",
  "kind": "image",
  "filename": "Lf80bjAmhouvrVxDxtJcsPrNn9b.png",
  "mimeType": "image/png",
  "data": "\x3Cbase64 图片数据>"
}

3d. 保留原始 markdown 中的 \x3Cimage> 标签

不需要修改 markdown 中的 \x3Cimage token="..."/> 标签。relay 会自动用 assets 中的图片替换这些 token。

3e. Whiteboard 处理(如果有)

如果正文里包含 whiteboard:

  1. 在客户端环境渲染 / 导出 whiteboard 图片
  2. 优先对图片做裁剪
  3. 如果 whiteboard 处理失败,重试 1 次
  4. 如果重试后仍失败,则忽略这张 whiteboard,继续发布整篇文章
  5. 不要因为 whiteboard 失败而向用户报错,也不要中断整篇文章的发布

3f. 图片失败不阻断发布

  • 单张图片下载失败 → 跳过这张图片,继续处理其他图片
  • 所有图片都失败 → 仍然发布纯文字版本,但在回复中告知用户图片未包含
  • 不要因为图片问题中断整篇文章的发布

第四步:获取订阅令牌

确认能读取完整内容之后,按以下优先级获取认证信息:

  1. 优先:检查是否有用户的 open_id

    • 如果能获取当前用户的 open_id → 尝试直接用 X-Feishu-Open-Id 调 validate-token
    • 如果成功(返回 ok: true)→ 用户已绑定,跳过索取令牌,直接进入发布流程
  2. 其次:检查本地文件

    • 读取 .feishu-wechat-publish.json
    • 如果文件存在且 expiresAt 未过期 → 用保存的令牌,跳到第五步验证
  3. 兜底:向用户索取

我已经能读取这篇飞书文档的完整内容了。
请发一下你的订阅令牌。

第五步:检查订阅令牌是否有效

拿到订阅令牌之后(无论来自本地文件还是用户提供),调用验证接口检查:

POST https://feishu.shing19.cc/api/validate-token
Headers:
  Authorization: Bearer \x3C订阅令牌>
  Content-Type: application/json
Body: {}

成功响应:

{
  "ok": true,
  "requestId": "...",
  "status": "valid",
  "expiresAt": "2026-12-31T23:59:59Z",
  "hasWechatBinding": true
}
  • status: "valid" → 令牌有效,继续下一步。同时:
    • 保存到本地 .feishu-wechat-publish.json(覆盖写入,写不了就跳过)
    • 如果能获取用户 open_idhasUserBinding: false → 调用 /api/bind-user 绑定
  • hasWechatBinding: true → 已绑定公众号,可以跳过第六步直接发布
  • hasWechatBinding: false → 需要绑定公众号,进入第六步
  • hasUserBinding: true → 已绑定用户,后续可以用 open_id 认证
  • hasUserBinding: false → 尚未绑定用户(如果有 open_id 就自动绑定)

如果返回 ok: false(TOKEN_MISSING / TOKEN_INVALID / TOKEN_EXPIRED):

  • 如果令牌来自本地文件 → 删除本地配置文件,向用户重新索取令牌
  • 如果令牌来自用户 → 直接提示:
这个订阅令牌当前不可用。
请确认它是否有效,或者提供一个新的订阅令牌。

第六步:检查该订阅令牌是否已绑定公众号配置

如果第五步返回 hasWechatBinding: false,向用户索取公众号 AppID 和 AppSecret:

我已经确认这个订阅令牌有效,但它当前还没有绑定公众号配置。

请登录微信开发者平台完成以下三步(都在同一个页面):
https://developers.weixin.qq.com/platform

登录后 → 我的业务与服务 → 点击你的公众号 → 基础信息页面:

1. 复制 AppID,发给我
2. 点击 AppSecret 旁边的「重置」→ 复制新的 Secret,发给我
3. 点击 API IP白名单 旁边的「编辑」→ 写入 77.37.74.91 → 保存

并附上这张图帮助用户定位(三步都在同一页面完成):

第七步:绑定公众号配置

收到 AppID / AppSecret 后,调用绑定接口:

POST https://feishu.shing19.cc/api/bind-wechat
Headers:
  Authorization: Bearer \x3C订阅令牌>
  Content-Type: application/json
Body:
{
  "appId": "wx123456...",
  "appSecret": "secret..."
}

成功响应:

{
  "ok": true,
  "requestId": "...",
  "status": "wechat_bound"
}

绑定成功后向用户回复:

已成功绑定这个公众号配置。
我现在开始把这篇文章发送到微信公众号草稿箱。

第八步:把飞书文档转成 Markdown

在发送请求之前,必须先把飞书文档内容转成 Markdown 格式

content 字段必须是 Markdown,不是 HTML。 relay 会统一把 Markdown 渲染成带样式的微信公众号 HTML。

支持的 Markdown 语法(共 19 种):

  • # ## ### #### 标题
  • 段落
  • **加粗***斜体*~~删除线~~
  • `行内代码`
  • 代码块(用 ``` 包裹,支持语言标注)
  • > 引用块
  • > [!NOTE] / > [!TIP] / > [!WARNING] / > [!IMPORTANT] / > [!CAUTION] 提示块
  • - 无序列表、1. 有序列表
  • ![](url) 图片
  • [文字](url) 链接
  • --- 分隔线
  • 表格(| | | 语法)

不要发 HTML。 不支持任意 HTML 嵌入、不支持自定义样式、不支持嵌套布局。

飞书特殊标签保留即可,relay 会自动处理:

  • \x3Cimage token="..." .../> — 图片 token(relay 会用 assets 中的对应图片替换)
  • \x3Cwhiteboard-ref id="..."> — whiteboard 占位符(relay 会用 assets 中的对应图片替换)

不需要手动把 \x3Cimage> 标签改成 ![](...) 语法。直接保留飞书原始的 \x3Cimage> 标签,只要在 assets 数组中提供对应的图片数据即可。

第九步:发送发布请求

⚠️ 发送前检查:content 的第一个字符不能是 \x3C 如果你发现 content 以 \x3Ch1\x3Ch2\x3Cp\x3Cdiv 等 HTML 标签开头,说明你错误地把 markdown 渲染成了 HTML。 请发送原始 markdown 文本,不要做任何 HTML 渲染。 relay 负责渲染。

调用发布接口(认证方式二选一):

POST https://feishu.shing19.cc/api/publish
Headers:
  Authorization: Bearer \x3C订阅令牌>  (或 X-Feishu-Open-Id: \x3Copen_id>)
  X-Skill-Version: 0.5.3
  Content-Type: application/json
Body:
{
  "title": "文章标题",
  "content": "## 正文标题\
\
这是一段 **Markdown** 正文。\
\
\x3Cimage token=\"Lf80bjAmhouvrVxDxtJcsPrNn9b\" width=\"800\" height=\"600\" align=\"center\"/>\
\
- 列表项一\
- 列表项二\
",
  "cover": "封面图 URL(可选)",
  "author": "作者名(可选)",
  "source_url": "https://my.feishu.cn/docx/...(可选)",
  "assets": [
    {
      "id": "Lf80bjAmhouvrVxDxtJcsPrNn9b",
      "kind": "image",
      "filename": "Lf80bjAmhouvrVxDxtJcsPrNn9b.png",
      "mimeType": "image/png",
      "data": "\x3Cbase64 图片数据>"
    },
    {
      "id": "wb-1",
      "kind": "whiteboard",
      "filename": "whiteboard-1.jpg",
      "mimeType": "image/jpeg",
      "data": "\x3Cbase64 图片数据>"
    }
  ]
}

字段说明:

字段 类型 必填 说明
title string 文章标题
content string Markdown 格式的文章正文(保留飞书 \x3Cimage> 标签)
cover string 封面图 URL;不传则 relay 自动用默认封面
author string 作者名
source_url string 原文链接
assets array 图片和 whiteboard 附件

assets 数组中每个元素的格式:

字段 说明
id 飞书图片 token(对应 \x3Cimage token="..."> 中的值)或 whiteboard id(对应 \x3Cwhiteboard-ref id="..."> 的 id)
kind "image""whiteboard"
filename 文件名(如 Lf80bjAmhouvrVxDxtJcsPrNn9b.png
mimeType MIME 类型(如 image/pngimage/jpeg
data base64 编码的图片数据

重要: assets[].id 对于图片必须是飞书图片的 token 值。relay 靠这个 id 把 markdown 中的 \x3Cimage token="XXX"> 替换成实际图片。

成功响应:

{
  "ok": true,
  "requestId": "...",
  "status": "draft_created",
  "mediaId": "..."
}

成功时回复用户:

已成功提交到微信公众号草稿箱。

失败响应:

{
  "ok": false,
  "requestId": "...",
  "error": {
    "code": "...",
    "message": "..."
  }
}

失败时回复用户:

发布到微信公众号失败,请稍后再试。

认证方式(所有 API 通用)

两种认证方式,二选一:

方式 A:订阅令牌(始终可用)

Authorization: Bearer \x3C订阅令牌>

方式 B:飞书 open_id(需先通过 bind-user 绑定)

X-Feishu-Open-Id: \x3Copen_id>

注意: bind-wechatbind-user 必须用方式 A(token),不接受 open_id。

放在 HTTP request header 中。不要把 token 放在 request body 里。

版本追踪(所有请求必带)

每个请求都必须带上 skill 版本号 header:

X-Skill-Version: 0.5.3

直接使用上面的值,不需要动态读取。relay 会把它记到日志里,方便排查问题时定位是哪个版本的 skill 在工作。

所有接口

接口 用途 支持的认证方式
POST /api/validate-token 验证订阅令牌 token ✅ / open_id ✅
POST /api/bind-wechat 绑定公众号配置 token ✅ / open_id ❌
POST /api/bind-user 绑定飞书用户 token ✅ / open_id ❌
POST /api/publish 发布文章 token ✅ / open_id ✅

约束

流程约束

  • 不要一开始就先要订阅令牌
  • 先拿文章,再确认能否读取
  • 订阅令牌拿到后先查有效性(/api/validate-token),再查绑定关系
  • 如果订阅令牌未绑定公众号配置,再向用户索取 AppID / AppSecret
  • 只告诉用户"已成功绑定",不要展开解释底层存储方式
  • 不在客户端直接调用微信 API
  • relay 不自行读取飞书文档
  • whiteboard 由客户端先处理;失败重试 1 次,再失败则忽略该图,继续发布

内容格式约束(极其重要)

  • content 字段必须是 Markdown,不是 HTML
  • 不要发 HTML 标签(除了 \x3Cimage token="..."/>\x3Cwhiteboard-ref> 占位符)
  • 飞书图片的 \x3Cimage token="..."/> 标签直接保留在 markdown 中,不需要转换
  • 样式由 relay 统一渲染,客户端不需要也不应该加任何 inline style 或 CSS class
  • 只使用上面列出的 19 种 Markdown 语法,不支持其他扩展语法

图片约束

  • 飞书图片必须由客户端下载后作为 base64 assets 发送,relay 无法访问飞书内部图片
  • assets[].id 必须等于飞书图片的 token 值(如 Lf80bjAmhouvrVxDxtJcsPrNn9b
  • 图片下载失败不阻断发布,跳过失败的图片继续

安全约束

  • 不要在回复中回显用户的订阅令牌
  • 不要在回复中回显用户的 AppID / AppSecret
  • 用户发送敏感信息后,只确认"已收到",不要复述内容
  • 不要用试探性语气(如"好像""我再试试"),使用确定性表述
Usage Guidance
This skill will read the full text and images of any Feishu document you give it and send them to a third-party server (feishu.shing19.cc) that will publish drafts to WeChat. The behavior matches the description, but note: (1) the skill asks you to provide or reset your WeChat AppSecret and a subscription token — handing those to an unverified external service lets that service act on your WeChat account; (2) it will store a local token file and the relay will remember your binding; (3) the runtime expects to install and run @larksuite/cli and other binaries though those are not declared in the registry metadata. Only install if you trust the relay operator and are comfortable giving them persistent access to your documents and WeChat credentials. If you want to proceed but reduce risk: verify the relay operator's identity, host, and privacy policy; avoid providing AppSecret if possible (consider using official OAuth flows); and inspect/limit what documents you send.
Capability Analysis
Type: OpenClaw Skill Name: feishu-wechat-publish Version: 0.5.3 The skill collects and exfiltrates sensitive credentials, including WeChat AppID/AppSecret and Feishu subscription tokens, to a third-party relay service (https://feishu.shing19.cc). It utilizes shell execution to install global dependencies (@larksuite/cli) and runs a local script (scripts/fetch-feishu-images.sh) to download and base64-encode document content. While these actions are consistent with the stated purpose of publishing documents, the architecture forces users to trust an external endpoint with full WeChat account control, and the SKILL.md instructions specifically direct the agent to perform 'silent' user binding and minimize technical transparency to the user.
Capability Assessment
Purpose & Capability
The skill claims to read Feishu docs and forward content to a relay (feishu.shing19.cc) for publishing to WeChat — the included instructions and script do exactly that, so the capability aligns with the stated purpose. However the skill declares no required binaries/env but its runtime expects lark-cli, python3, base64/file/grep/du utilities; that mismatch (runtime requirements not declared) is a coherence issue.
Instruction Scope
SKILL.md explicitly instructs the agent to read full document content and all images (base64-encoded) in the client environment and POST them to https://feishu.shing19.cc/api/publish. It also instructs asking users for subscription tokens and for AppID/AppSecret (WeChat credentials) and to reset AppSecret and whitelist a specific IP (77.37.74.91). These steps legitimately achieve the publish flow, but they require collecting and transmitting highly sensitive data (document contents, images, and WeChat AppSecret) to an external relay that is not an official vendor. The agent is also instructed to run and parse interactive CLI flows and to store tokens locally—behavior that expands scope and requires careful user consent.
Install Mechanism
The skill has no registry install spec, but its instructions tell the agent to install and run @larksuite/cli (npm global) and to run npx skills add larksuite/cli. Relying on npm installs at runtime is higher-risk than pure instruction-only behavior. The provided shell script depends on lark-cli and standard Unix tools; these runtime installs and side-effects are not declared in the registry metadata.
Credentials
The skill requests no environment variables in metadata, yet it (a) expects to access Feishu session metadata (open_id) when running in a Feishu environment, (b) stores a local token file (.feishu-wechat-publish.json) containing subscription tokens, and (c) asks the user to supply WeChat AppID and AppSecret and to set an API IP whitelist to 77.37.74.91. Asking for AppSecret and a persistent subscription token is proportionate to letting a third-party server publish on behalf of the user, but gives that external relay full ability to act as the user's WeChat account — a high-sensitivity privilege. The relay domain is not an official vendor domain; no justification or trust signals are present.
Persistence & Privilege
The skill does not request always:true and does not modify other skills. It instructs saving a local token file and the relay will remember bindings server-side; this is normal for a publish relay but increases long-term risk because credentials are persisted locally and on the relay. The agent is also asked to bind user open_id server-side for future use, which grants ongoing access to the relay.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install feishu-wechat-publish
  3. After installation, invoke the skill by name or use /feishu-wechat-publish
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v0.5.3
**feishu-wechat-publish v0.5.3 – 更完善的飞书文档环境修复处理** - 发布流程中,飞书文档读取失败时,增加详细的 CLI/SKILL 安装、应用凭证、登录等环境修复步骤说明。 - 明确首次失败后需指导用户用 lark-cli 工具完成安装和授权配置,包含每一步推荐的具体终端命令与授权流程提示。 - 强调无需预先检测环境,只有实际读取失败时才引导用户逐步修复。 - 发布接口请求头的 `X-Skill-Version` 升级至 0.5.3。 - 添加了发布前的内容格式校验提醒,明确不得发送 HTML 格式内容。 - 其他说明文本细节调整,无影响原有认证、图片处理、进度反馈等主流程。
v0.5.2
feishu-wechat-publish v0.5.2 - 新增“进度反馈”要求:在读取文档、下载图片、准备发布等耗时步骤前,需主动向用户发送进度消息,提升用户体验。 - 第一轮读取文档失败时,自动指导执行环境安装(如 npm install -g @larksuite/cli),并在失败时告知用户检查文档访问权限。 - 优化发版流程顺序描述,明确默认假设有权限,仅在实际失败时才检查环境。 - 认证接口请求头中的 X-Skill-Version 已更新为 0.5.2。 - 非功能性文档结构与表述优化,细化关键操作节点的说明。
v0.4.2
feishu-wechat-publish 0.4.2 - 新增脚本 `scripts/fetch-feishu-images.sh`,支持一键提取、下载、编码和生成图片 assets JSON。 - 图片处理流程文件合并为一条命令,简化步骤和手工操作。 - 文档内全面更新图片处理说明,推荐使用项目自带脚本,保留手动方式作为备用。 - 移除多余文档文件(INSTALL.md, CUSTOMER-HANDOFF.md, ONBOARDING.md)以精简项目结构。
v0.4.1
feishu-wechat-publish 0.4.1 - 文档全面规范了“飞书文档 → 微信公众号草稿箱”全流程,包括各步骤操作细节与异常处理。 - 增加了对订阅令牌与用户 open_id 绑定的详细机制说明,支持自动身份认证和本地令牌缓存。 - 明确图片与 whiteboard 的处理规则,要求客户端提取、下载并以 base64 格式上传图片资产。 - 补充了首次使用/认证失效时的用户引导话术和关键交互提示。 - 给出流畅的人机交互流程,强调出现异常时需低技术沟通、不中断流程。
Metadata
Slug feishu-wechat-publish
Version 0.5.3
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 4
Frequently Asked Questions

What is Feishu Wechat Publish?

在客户端环境读取用户可访问的飞书文档,并将最终文章内容发送到 feishu.shing19.cc,由该服务发布到微信公众号草稿箱。 It is an AI Agent Skill for Claude Code / OpenClaw, with 141 downloads so far.

How do I install Feishu Wechat Publish?

Run "/install feishu-wechat-publish" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Feishu Wechat Publish free?

Yes, Feishu Wechat Publish is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Feishu Wechat Publish support?

Feishu Wechat Publish is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Feishu Wechat Publish?

It is built and maintained by shing19 (@shing19); the current version is v0.5.3.

💬 Comments