Feishu Mention Resolver - 飞书@提及解析器
将飞书消息中的 @name 自动转换为 <at> XML 格式,实现更精确的提及提醒。
核心概念:Account ID
本工具使用 OpenClaw Account ID (accountId) 而非原始的飞书 App ID。
accountId 是在 ~/.openclaw/openclaw.json 中配置的账号别名(如 product, backend, elves)。
工具会自动读取配置文件,获取对应的 appId 和 appSecret,并自动发现配置中所有机器人的 OpenID。
快速开始
基本用法
CODEBLOCK0
优先级逻辑
- 1. 已配置的机器人 (Priority 1): 自动匹配
openclaw.json 中配置的所有账号名称(如 @product、@Product、@PRODUCT),不区分大小写。 - 用户别名 (Priority 2): 匹配
options.aliases 中的别名配置。 - 群成员 (Priority 3): 检查本地缓存或调用飞书 API 获取群成员。
API 参考
resolve(text, accountId, chatId, [options])
批量解析文本中的所有 @提及。
参数:
- -
text (string): 输入文本 - INLINECODE18 (string): OpenClaw 账号别名 (如 "elves")
- INLINECODE19 (string): 会话 ID
- INLINECODE20 (object): 可选配置
-
aliases: 额外的别名配置 INLINECODE22
返回值:
- -
Promise<string>: 解析后的 XML 文本
版本: 2.0.0 (支持 Account ID 和自动发现)
作者: OpenClaw AI Assistant
最后更新: 2026-03-06
Feishu Mention Resolver - 飞书@提及解析器
将飞书消息中的 @name 自动转换为 XML 格式,实现更精确的提及提醒。
核心概念:Account ID
本工具使用 OpenClaw Account ID (accountId) 而非原始的飞书 App ID。
accountId 是在 ~/.openclaw/openclaw.json 中配置的账号别名(如 product, backend, elves)。
工具会自动读取配置文件,获取对应的 appId 和 appSecret,并自动发现配置中所有机器人的 OpenID。
快速开始
基本用法
javascript
// JavaScript/Node.js
const { resolve } = require(./index.js);
async function processMessage() {
const text = 你好 @product,请确认一下;
const accountId = elves; // 使用 elves 账号的凭证来调用 API
const chatId = oc_1234567890abcdef;
// 解析文本中的所有@提及
// 系统会自动识别 @product 是另一个机器人,并获取其 OpenID
const resolvedText = await resolve(text, accountId, chatId);
console.log(resolvedText);
// 输出: 你好 id=ouc610...>product,请确认一下
}
优先级逻辑
- 1. 已配置的机器人 (优先级 1): 自动匹配 openclaw.json 中配置的所有账号名称(如 @product、@Product、@PRODUCT),不区分大小写。
- 用户别名 (优先级 2): 匹配 options.aliases 中的别名配置。
- 群成员 (优先级 3): 检查本地缓存或调用飞书 API 获取群成员。
API 参考
resolve(text, accountId, chatId, [options])
批量解析文本中的所有 @提及。
参数:
- - text (string): 输入文本
- accountId (string): OpenClaw 账号别名 (如 elves)
- chatId (string): 会话 ID
- options (object): 可选配置
- aliases: 额外的别名配置 [{ name: 张三, alias: [小王] }]
返回值:
版本: 2.0.0 (支持 Account ID 和自动发现)
作者: OpenClaw AI Assistant
最后更新: 2026-03-06