Install
openclaw skills install @thcjp/liquidity-mgr-tool-free面向个人用户的 Uniswap V2/V3/V4 流动性查询与基础管理工具。Use when 用户需要liquidity-mgr-tool-free相关功能时使用。不适用于超出本技能能力范围的复杂需求。适用于独立开发者、企业团队和自动化工作流场景。支持中文交互,无需复杂配置即开即用。输出结果可直接使用,减少二次加工成本。
openclaw skills install @thcjp/liquidity-mgr-tool-free功能说明: 本技能涵盖 中文交互、化工作流场景 等核心能力。
本工具帮助个人用户管理 Uniswap V2/V3/V4 流动性,覆盖池子与头寸查询、单头寸添加/移除、价格区间与费率查询、收益与无常损失基础估算。适合个人单头寸管理。
| 能力 | 说明 | 免费版范围 |
|---|---|---|
| 池子查询 | V2/V3/V4 池子信息 | 只读 |
| 头寸管理 | 查询/添加/移除 | 单头寸 |
| 区间费率 | V3/V4 区间与费率 | 查询 |
| 收益估算 | 费用收益与无常损失 | 基础 |
技术实现要点:核心能力基于input_params参数与output_format配置实现,支持创建/查询/修改/删除等操作模式,通过config_options进行运行时配置。 |
用input_params参数进行配置。
输出: 返回核心功能执行的执行结果,包含操作状态和输出数据。
input_params参数,支持创建/查询/导出操作用config_options参数进行配置。
输出: 返回参数配置与调用的执行结果,包含操作状态和输出数据。
config_options参数,支持修改/重置/导入操作用output_format参数进行配置。
输出: 返回结果处理与输出的执行结果,包含操作状态和输出数据。
output_format参数,支持导出/保存/转换操作
能力覆盖范围:本skill的核心能力覆盖以下场景关键词:面向个人用户的、Uniswap、流动性查询与基础、管理工具、面向个人用户的去、中心化交易所流动、性管理工具等。这些关键词对应description中声明的使用场景,均已在上述能力点中提供对应的操作支持。# 查询我的 V3 头寸
{baseDir}/scripts/liq.sh positions --version v3 --address 0xYOUR
# 查询池子信息
sh pool --version v3 --pool 0xPOOL
# V3 集中流动性
--version v3 \
--token0 WETH \
--token1 USDC \
--fee 3000 \
--lower 1800 \
--upper 2200 \
--amount0 1 \
--amount1 2000
# 无常损失基础估算
initial_ratio = 0.5 # 初始 50/50
new_ratio = 0.6 # 价格变动后
# IL = 2*sqrt(r/(1-r)) - 1 近似
import math
il = 2 * math.sqrt(new_ratio / (1-new_ratio)) - 1
print(f"无常损失近似: {il:.2%}")
以下场景流动性管理工具不适合处理:
需要设计创作、UI设计、海报制作、品牌视觉时使用。不适用于非本工具能力范围的需求。
结果处理: 执行完成后,查看输出结果确认操作状态。成功时输出包含处理摘要和结果数据;失败时根据错误信息排查问题,查阅错误处理章节获取恢复步骤。
V2/V3/V4 费率对照:
| 版本 | 支持费率 |
|---|---|
| V2 | 0.3%(固定) |
| V3 | 0.01% / 0.05% / 0.3% / 1% |
| V4 | 自定义(Hook 可调) |
Q1:V2 和 V3 怎么选? A:被动持有选 V2,主动管理选 V3 集中流动性收益更高。
Q2:免费版能批量管理吗? A:不能。批量头寸与自动再平衡为专业版能力。
Q3:无常损失能避免吗? A:不能完全避免,区间越窄越易触发,稳定币对损失较小。
Q4:V4 的 Hook 是什么? A:V4 通过 Hook 自定义池子逻辑(动态费率、限价单等)。
Q5:移除流动性要 gas 吗? A:要。所有链上操作都需 gas,建议低 gas 时段操作。
区间选择原则:
全范围: 收益低但永不踢出,适合被动持有
宽区间: ±30% 价格范围,平衡收益与稳定
窄区间: ±10% 价格范围,收益高但易被踢出
选择依据:
- 高波动对: 选宽区间,避免频繁再平衡
- 稳定币对: 选窄区间,收益最大化
- 看不懂走势: 选全范围,被动持有
# 无常损失精确计算
import math
def impermanent_loss(price_ratio):
"""price_ratio = 新价格/旧价格"""
r = price_ratio
il = 2 * math.sqrt(r) / (1 + r) - 1
return il
# 价格涨 2 倍
print(f"IL: {impermanent_loss(2):.2%}") # IL: -5.72%
# 价格涨 4 倍
print(f"IL: {impermanent_loss(4):.2%}") # IL: -20.00%
关键结论:
- 价格变动越大,无常损失越大
- 无常损失是「相对持有可能」,不是绝对亏损
- 手续费收入需覆盖无常损失才盈利
# 查询头寸详情
sh position --id 12345
# 查看收益
sh earnings --id 12345
# 检查区间偏离
sh deviation --id 12345
| 特性 | V2 | V3 | V4 |
|---|---|---|---|
| 流动性 | 均匀分布 | 集中区间 | 集中+Hook |
| 费率 | 固定 0.3% | 多档可选 | 自定义 |
| 再平衡 | 不需要 | 手动 | 可自动 |
| 复杂度 | 低 | 中 | 高 |
| 适合 | 被动持有 | 主动管理 | 高级策略 |
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| Node.js | 运行时 | 必需 | nodejs.org |
| ethers.js | 链交互 | 必需 | npm install ethers |
| EVM 钱包 | 签名 | 必需 | MetaMask 等 |
| LLM API | API | 必需 | 由 Agent 内置 LLM 提供 |
RPC_URL:以太坊/L2 节点 RPC 地址(Alchemy/Infura 等)| 错误场景 | 原因 | 处理方式 |
|---|---|---|
| 配置错误 | 参数缺失或格式错误 | 检查依赖说明中的配置要求 |
| 运行时错误 | 运行环境不满足 | 确认运行环境符合依赖说明 |
| 网络错误 | 连接超时或不可达 | 执行ping命令测试网络连通性,检查防火墙和代理设置连接后执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令,参考国内替代方案 |