← 返回 Skills 市场
fangshan101-coder

Fanli

作者 fangshan101-coder · GitHub ↗ · v4.2.2 · MIT-0
cross-platform ⚠ suspicious
250
总下载
0
收藏
0
当前安装
11
版本数
在 OpenClaw 中安装
/install fanli
功能描述
将商品链接或淘口令转为带优惠券的推广链接,跨平台比价(淘宝/天猫/京东/拼多多/抖音/唯品会/美团), 查询历史价格走势并给出购买建议。当用户发来商品链接、淘口令、美团链接,或提到"转链"、"比价"、"历史价"、 "全网最低价"、"有没有优惠券"、"值不值得买"、"价格走势"、"优惠"、"便宜"、"划算"、"打折...
使用说明 (SKILL.md)

CRITICAL — 开始前 必须用 Read 工具读取 ../fx-base/SKILL.md,其中包含 feima-lab API 认证和请求规范。

fx-base 未安装?执行 npx skills install fangshan101-coder/fx-base 安装到同目录下。

省钱购物助手

一次 convert 调用 → 同时拿到商品信息 + 比价 + 历史价 → 直接按模板渲染输出。

前置条件

  • 环境变量 FX_AI_API_KEY:从 feima-lab 开放平台 登录获取。未设置时脚本会返回 missing_api_key 错误
  • 数据流向:用户提供的商品链接会被发送到 https://api-ai-brain.fenxianglife.com 进行解析,请确保信任该服务后再使用

快速开始

# 快捷命令(推荐)
node {baseDir}/scripts/run.mjs convert "\x3C链接或口令>"

# 美团链接转链
node {baseDir}/scripts/run.mjs convert "https://click.meituan.com/t?t=1&c=2&p=xxx"

# 等价的标准调用
node {baseDir}/scripts/run.mjs call convert --tpwd "\x3C链接或口令>"

# 查看接口帮助
node {baseDir}/scripts/run.mjs call convert --help

返回 JSON 包含:商品详情 + comparePriceData(比价) + historyPriceData(历史价)。 服务端 includeComparePriceincludeHistoryPrice 默认 true,无需额外传参。

路由决策

用户意图 快捷命令 标准调用 渲染模板
发链接、问值不值得买、问优惠券、没说意图 convert "\x3C链接>" call convert --tpwd "\x3C链接>" Read {baseDir}/references/convert-output.md
明确说"比价"、"哪家便宜" compare-price "\x3C链接>" call compare-price --productIdentifier "\x3C链接>" Read {baseDir}/references/compare-price-output.md
明确说"历史价"、"价格走势" call convert --tpwd "\x3C链接>" --includeComparePrice false Read {baseDir}/references/convert-output.md

所有命令前缀:node {baseDir}/scripts/run.mjs

默认用 convert,它一次返回商品信息 + 比价 + 历史价全部数据。美团链接(click.meituan.comdpurl.cnmeituan.comimeituan:// 等)同样走 convert 路径,数据结构与电商一致。convert 支持两个可选参数控制返回内容:

  • --includeComparePrice true/false(默认 true)
  • --includeHistoryPrice true/false(默认 true)

历史价路径走 convert 而非独立接口,是因为购买建议需要到手价(finalPrice)与历史价比较,而独立的历史价接口不返回到手价。

输出格式:所有接口支持 --format json(默认)或 --format table。如果下游 Agent 需要结构化数据而非 Markdown 渲染,直接用 --format json 跳过模板渲染。

工作流

收到链接/口令
  → 输出"正在查询商品信息..."
  → 根据上方路由表调用对应接口
  → 拿到 JSON
  → Read 路由表中对应的渲染模板,按模板输出

没有链接时先问用户要。

错误处理

接口返回错误时,告知用户具体原因并给建议,不要返回原始 JSON:

现象 用户可见提示
missing_parameter 请发一下商品链接或淘口令
errorMessage: "未找到相关商品" 没找到商品信息,请检查链接是否正确
topLowestItems 为空 暂无比价数据
historyPriceData 不存在 暂无历史价格数据
missing_api_key 请设置环境变量 FX_AI_API_KEY,从 feima-lab 开放平台 登录获取
api_unavailable / HTTP 错误 服务暂时不可用,请稍后再试

不适用场景

以下情况不要调用本 Skill:

  • 快递物流查询
  • 汇率换算、天气查询
  • 闲鱼/二手交易(无标准价格体系)
  • 没有具体商品链接的购物讨论

环境依赖

  • Node.js 18+(内置 fetch,无需额外依赖)
  • 环境变量 FX_AI_API_KEY:从 feima-lab 开放平台 登录获取
安全使用建议
This skill does what it claims (convert links, compare prices, show history) but it sends the product links to an external endpoint (https://api-ai-brain.fenxianglife.com) and depends on a separate fx-base module that handles authentication. Before installing or providing your FX_AI_API_KEY, do the following: 1) Inspect the fx-base package (../fx-base/scripts/fx-api.mjs and its SKILL.md) to confirm where requests are sent and how the FX_AI_API_KEY is used—does it call feima-lab only, or does it forward the key to third-party domains? 2) Avoid using a high-privilege or re-used API key; create a restricted/test key if possible. 3) Consider running the skill in an isolated environment (separate account or container) until you confirm fx-base behavior. 4) If you do not trust fenxianglife.com or cannot audit fx-base, do not supply secrets or do not install the skill. If you want, provide the fx-base SKILL.md or fx-api.mjs and I can re-evaluate with that additional code.
功能分析
Type: OpenClaw Skill Name: fanli Version: 4.2.2 The skill bundle is a shopping assistant designed to provide price comparisons, historical price data, and coupon conversion. It functions by sending user-provided product links to a documented third-party API (api-ai-brain.fenxianglife.com) using a user-provided API key (FX_AI_API_KEY). The scripts (run.mjs, convert.mjs, compare-price.mjs) are well-documented, lack obfuscation, and use safe execution patterns (child_process.spawn) to route commands. The data flow is explicitly disclosed in the documentation, and no evidence of malicious intent, data exfiltration, or unauthorized access was found.
能力标签
requires-sensitive-credentials
能力评估
Purpose & Capability
Name/description match the included scripts and declared requirement (FX_AI_API_KEY) and the fx-base helper. Requiring an API key and an fx-base wrapper is plausible for a link-parsing/convert service. However, the skill repeatedly documents that product links are POSTed to https://api-ai-brain.fenxianglife.com (not the obvious feima-lab domain), which is not explained by the README/description and is worth scrutiny.
Instruction Scope
SKILL.md explicitly instructs the agent to Read ../fx-base/SKILL.md and to send user-provided product links to https://api-ai-brain.fenxianglife.com. The scripts import fx-base/scripts/fx-api.mjs (not included here) and call fxPost/fxCheckAuth. The skill does not attempt to read system files outside its directories, but the CRITICAL requirement to load fx-base before running gives that external component control over request/auth behavior—this expands runtime scope beyond the visible files.
Install Mechanism
No remote download/install spec in the package; the repository includes small Node scripts. The only extra step is an instruction to install a sibling skill (fx-base) via npx skills install if missing. No obscure URLs or archives are downloaded by the skill itself.
Credentials
Only one env var is requested (FX_AI_API_KEY), which is appropriate for an API-based converter. The concern: the code and SKILL.md state data will be sent to https://api-ai-brain.fenxianglife.com and fx-base (which you must read) implements authentication. It's unclear whether FX_AI_API_KEY is used only with feima-lab or forwarded/used against fenxianglife.com—this could expose your API key to a third party. Additionally, run.mjs spawns child processes with env: process.env (inheriting all environment variables), so if the agent runs these scripts they run with the full environment available to the agent.
Persistence & Privilege
Skill is not always: true and is user-invocable; it does not request persistent system-wide presence or modify other skills. It does require the fx-base dependency but does not claim privileged platform-wide configuration changes.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install fanli
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /fanli 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v4.2.2
清理 fenxiang-ai 品牌描述残留,统一为 feima-lab
v4.2.1
品牌域名迁移:platform.fenxiang-ai.com → platform.feima.ai
v4.2.0
支持美团链接转链:追加美团触发词、美团链接示例、美团输出示例
v4.1.0
feat: 全部脚本从 bash 迁移到 Node.js (.mjs),支持跨平台运行
v4.0.1
fix: allowed-tools 添加 fx-base 读取权限,修复安全扫描越界告警
v4.0.0
架构升级:抽出公共请求逻辑到 fx-base,添加依赖声明
v3.2.0
CLI 规范化:--help、快捷命令、数据流向声明、删除 history-price
v3.1.0
声明 FX_AI_API_KEY 环境变量依赖,修复 metadata mismatch
v3.0.1
清理 _env.yaml 残留
v3.0.0
重命名为 fanli,API Key 改环境变量,按执行路径拆分模板
v0.1.0
初始发布
元数据
Slug fanli
版本 4.2.2
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 11
常见问题

Fanli 是什么?

将商品链接或淘口令转为带优惠券的推广链接,跨平台比价(淘宝/天猫/京东/拼多多/抖音/唯品会/美团), 查询历史价格走势并给出购买建议。当用户发来商品链接、淘口令、美团链接,或提到"转链"、"比价"、"历史价"、 "全网最低价"、"有没有优惠券"、"值不值得买"、"价格走势"、"优惠"、"便宜"、"划算"、"打折... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 250 次。

如何安装 Fanli?

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

Fanli 是免费的吗?

是的,Fanli 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Fanli 支持哪些平台?

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

谁开发了 Fanli?

由 fangshan101-coder(@fangshan101-coder)开发并维护,当前版本 v4.2.2。

💬 留言讨论