关于 gate-exchange-unified
gate-exchange-unified 是管理 Gate 统一账户的技能,面向需要查询账户风险、借贷、转账额度及保证金配置的用户。它覆盖从账户概览到高风险设置变更的流程,并要求变更前逐项确认。
主要功能
- 01查询统一账户及账户模式
- 02查询借款与可转出额度
- 03执行借款、还款并查询记录
- 04查询预估借款利率及支持币种
- 05设置杠杆和抵押品
适用场景
- 01查看账户权益及 IMR、MMR
- 02核对某币种的可借或可转额度
- 03确认后切换账户模式或调整杠杆
MCP 相关
使用 gate-cli 调用统一账户查询与操作工具,包括账户、借贷、额度、杠杆及抵押品设置。所有变更操作都须在紧邻执行前取得明确确认。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ gate/ gate-skills --skill gate-exchange-unified安装后在 Claude Code 中输入/gate-exchange-unified确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
CHANGELOG.mdREADME.mdsetup.shreferences/gate-cli.mdgate-runtime-rules.mdmcp.mdscenarios.md详细介绍
解析 gate-cli(二进制路径)
按以下顺序解析 gate-cli:(1) command -v gate-cli 和 gate-cli --version 均成功;(2) 如果 ${HOME}/.local/bin/gate-cli 具有可执行权限,则使用该路径;(3) 如果 ${HOME}/.openclaw/skills/bin/gate-cli 具有可执行权限,则使用该路径。规范规则:exchange-runtime-rules.md §4(或 gate-runtime-rules.md §4)。
Gate 统一账户助手
通用规则
⚠️ 停止——继续之前,必须阅读并严格遵守共享运行时规则。
在阅读完所有规则之前,请勿选择或调用任何工具。这些规则具有最高优先级。
→ 阅读 ./references/gate-runtime-rules.md
- 只能使用此技能中明确列出的
gate-cli命令。 对于这些工作流,不得运行此处未记录的命令,即使其他接口提供了这些命令也不行。
技能依赖项
身份验证
- 交互式文件设置: 如果主机上未同时设置
GATE_API_KEY和GATE_API_SECRET,请运行gate-cli config init,完成 API 密钥、密钥、配置档案和默认值的设置向导(参见 gate-cli)。 - 环境变量/标志: 如果凭据已提供,则无需运行
gate-cli config init——例如,主机上同时设置了GATE_API_KEY和GATE_API_SECRET,或在支持的情况下使用--api-key/--api-secret。切勿要求用户在聊天中粘贴密钥。 - 需要 API 密钥:是
- 权限: Unified:Read、Unified:Write
- 门户: 在聊天之外创建或轮换密钥:https://www.gate.com/myaccount/profile/api-key/manage
安装检查
- 必需项:
gate-cli(如果缺少,请在此技能目录中运行sh ./setup.sh;可选设置GATE_CLI_SETUP_MODE=release)。 - 如果要通过名称调用
gate-cli,请将$HOME/.openclaw/skills/bin添加到PATH中(或添加setup.sh安装该程序的目录)。 - 凭据: 如果主机上同时设置了非空的
GATE_API_KEY和GATE_API_SECRET,不要要求运行gate-cli config init——这对gate-cli而言属于等效的有效配置。如果两者均未设置或为空,则提醒操作员运行gate-cli config init,或在技能库中与之匹配的技能中配置GATE_API_KEY/GATE_API_SECRET(切勿要求用户在聊天中粘贴密钥)。 - 健全性检查: 在进行需要身份验证的调用之前,不要继续操作,除非 CLI 行为符合预期(例如,运行
gate-cli --version或此技能中的只读gate-cli cex ...命令);在执行变更操作之前,确认凭据已成功解析。
执行模式
阅读并严格遵守 references/gate-cli.md,然后执行此技能的统一账户路由。
SKILL.md负责场景路由和确认策略。references/gate-cli.md是权威的gate-cli执行约定,涵盖限额检查、变更草案和操作后的状态验证。
领域知识
按领域划分的工具映射
| 分组 | 工具调用(jsonrpc: call.method) |
|---|---|
| 账户和模式 | get_unified_accounts、get_unified_mode、set_unified_mode |
| 借款和还款 | get_unified_borrowable、create_unified_loan、list_unified_loan_records、list_unified_loan_interest_records |
| 借款利率和货币范围 | get_unified_estimate_rate、list_unified_currencies |
| 可转账性 | get_unified_transferable |
| 杠杆和抵押品设置 | get_user_leverage_currency_setting、set_user_leverage_currency_setting、set_unified_collateral |
| 风险等级和抵押品折扣 | list_currency_discount_tiers |
功能说明与 API 覆盖范围
- 批量查询可借额度和可划转额度的端点可能未作为专用工具公开;对于多币种请求,请逐一查询单个币种并汇总结果。
- 贷款还款使用
create_unified_loan,并设置type=repay;全额还款使用repaid_all=true。 - 统一账户模式切换影响重大,如果不满足账户风险限制,可能会失败。
- 应根据当前账户模式和平台限制,验证各币种的杠杆设置。
- 抵押品配置变更可能会影响借贷能力和清算风险。
响应呈现规则(强制)
- 除非用户明确要求格式化舍入,否则不得对 API 返回的权益、可借额度、可划转额度、利率或杠杆数值字符串进行舍入。
- 不得截断、缩短或规范化小数字符串。 如果 API 返回的值带有末尾零或较长的小数,应按原样显示完整字符串。
- 当 API 返回时间戳时,同时显示原始时间戳和本地时区的易读时间。
- 对于账户概览回复,始终使用以下 API 字段包含账户级 IMR/MMR:
- IMR:
totalInitialMarginRate - MMR:
totalMaintenanceMarginRate - 当
balances中包含各币种的风险字段时,对每个报告的币种都包含imr和mmr(保留 API 返回的原始数值字符串)。 - 统一账户模式的显示标签必须使用以下映射:
classic->经典现货模式single_currency->单币种保证金模式multi_currency->跨币种保证金模式portfolio->组合保证金模式- 如果尚未启用或开通统一账户,请在回复顶部放置此警告:
⚠️ 当前账户未开通统一账户功能。
风险敏感操作规则
统一账户的变更操作均视为高风险:
create_unified_loan(借款/还款)set_unified_modeset_user_leverage_currency_settingset_unified_collateral
对于以上每项操作,执行前都必须立即获得用户的明确确认。
工作流
当用户提出任何统一账户操作请求时,请按以下顺序执行。
第 1 步:识别任务类型
将请求归类为以下六种类型之一:
- 账户概览与模式查询
- 可借额度/可划转额度查询
- 借款/还款执行
- 贷款/利息历史查询
- 杠杆/抵押品配置
- 混合风险与资金操作(例如先查询额度,再借款)
第 2 步:提取参数并执行预检查
提取关键字段:
currency或币种列表- 操作类型(
borrow/repay,查询还是变更) amount和repaid_all意图- 目标模式(
classic/single_currency/multi_currency/portfolio) - 杠杆值以及抵押品启用/停用列表
预检查顺序:
- 检查必需参数是否完整
- 检查请求金额的额度是否充足(
borrowable/transferable) - 检查账户模式与风险兼容性
- 确认用户对高风险配置变更的意图是否明确
步骤 3:任何变更前,必须先获得用户确认
每次进行变更调用前,都必须先提供操作草案,然后等待明确确认。
必需的执行流程:
- 发送草案摘要(此时不进行变更调用)
- 等待用户明确批准
- 仅在获得批准后提交实际变更调用
- 确认仅可使用一次
- 如果参数发生变化,则先前的确认失效,必须重新确认
必需的确认字段:
- 操作类型(借款/还款/模式切换/杠杆/抵押品)
- 目标对象(币种、模式、杠杆、启用/禁用列表)
- 金额或配置值
- 关键风险提示
建议的草案措辞:
Action Draft: borrow 100 USDT in unified account. Pre-check: max borrowable 250 USDT. Risk: interest accrues hourly. Reply "Confirm action" to proceed.
严格禁止规则(不可绕过):
- 绝不允许在未获得紧接着的上一条用户消息中的明确确认时调用变更工具。
- 如果请求范围发生变化(币种、金额、模式、杠杆、抵押品集合),则必须请求新的确认。
- 对于多步骤操作,每个变更步骤都必须单独获得确认。
步骤 4:按场景调用工具
仅使用完成任务所需的最少工具集:
- 账户概览:
get_unified_accounts - 模式查询/切换:
get_unified_mode/set_unified_mode - 可借额度检查:
get_unified_borrowable - 可划转额度检查:
get_unified_transferable - 借款/还款:
create_unified_loan - 借款和利息记录:
list_unified_loan_records、list_unified_loan_interest_records - 币种支持和利率:
list_unified_currencies、get_unified_estimate_rate - 杠杆设置:
get_user_leverage_currency_setting、set_user_leverage_currency_setting - 抵押品设置:
set_unified_collateral - 风险等级:
list_currency_discount_tiers
步骤 5:返回可执行的结果和状态
回复必须包括:
- 操作是否成功(或未执行的原因)
- 核心数值(金额、限额、利率、杠杆、模式、关键风险字段)
- 对于概览查询:明确包含 IMR/MMR(
totalInitialMarginRate/totalMaintenanceMarginRate),并在存在时包含每种币种的imr/mmr - 对于所有金额/利率输出:保留 API 字符串的精确精度;不得自动截断或格式化小数
- 对于记录查询:除时间戳外,还要提供易读的时间
- 如果未满足条件,则明确说明差距和下一步可选方案
场景路由表(1-18)
A. 账户和模式(1-3)
| 场景 | 用户意图 | 核心决策 | 工具调用顺序 |
|---|---|---|---|
| 1 | 统一账户概览 | 返回总权益和保证金指标(包括可用时的 IMR/MMR) | get_unified_accounts |
| 2 | 查询当前统一账户模式 | 返回当前模式及易读标签 | get_unified_mode |
| 3 | 切换统一账户模式 | 验证目标模式,然后在获得确认后切换 | get_unified_mode -> set_unified_mode |
B. 借款限额和借款(4-8)
| 场景 | 用户意图 | 核心决策 | 工具调用顺序 |
|---|---|---|---|
| 4 | 查询单一币种的可借额度 | 返回一种币种的最大可借额度 | get_unified_borrowable |
| 5 | 查询多种币种的可借额度 | 逐币种查询并汇总 | get_unified_borrowable(loop) |
| 6 | 借入指定金额 | 检查最大可借额度,然后在获得确认后提交借款 | get_unified_borrowable -> create_unified_loan |
| 7 | 列出可借币种 | 返回受支持的币种列表 | list_unified_currencies |
| 8 | 查询预估借款利率 | 返回预估利率并附带免责声明 | get_unified_estimate_rate |
C. 还款与记录(9-12)
| 案例 | 用户意图 | 核心决策 | 工具序列 |
|---|---|---|---|
| 9 | 部分还款 | 验证还款金额,并在确认后提交 | create_unified_loan |
| 10 | 全额还款 | 确认后提交 repaid_all=true | create_unified_loan |
| 11 | 查询借贷记录 | 根据筛选条件返回借款/还款历史 | list_unified_loan_records |
| 12 | 查询利息记录 | 返回包含时间/利率的已收取利息历史 | list_unified_loan_interest_records |
D. 可划转额度与风险配置(13-18)
| 案例 | 用户意图 | 核心决策 | 工具序列 |
|---|---|---|---|
| 13 | 查询单种货币的可划转额度 | 返回最大可划转金额 | get_unified_transferable |
| 14 | 查询多种货币的可划转额度 | 按货币逐一查询并汇总 | get_unified_transferable(loop) |
| 15 | 查询杠杆设置 | 返回单种/所有货币的杠杆 | get_user_leverage_currency_setting |
| 16 | 设置杠杆 | 确认后更新杠杆 | set_user_leverage_currency_setting |
| 17 | 设置抵押货币 | 确认后启用/禁用抵押货币列表 | set_unified_collateral |
| 18 | 查询抵押折扣等级 | 返回风险等级/折扣参考信息 | list_currency_discount_tiers |
判断逻辑摘要
| 条件 | 操作 |
|---|---|
| 用户询问某种币“我能借多少” | 使用该货币调用 get_unified_borrowable |
| 用户询问多种币的可借额度 | 按币种逐一调用 get_unified_borrowable 并汇总 |
| 用户请求执行借款 | 先预先检查额度,再要求确认后调用 create_unified_loan |
| 用户请求执行还款 | 确认是部分还款还是全额还款,并在变更前确认 |
| 用户询问“全部还款”,但未说明货币 | 请用户指定货币,或提出按货币逐一执行 |
| 用户询问多种币的可划转额度 | 按币种逐一调用 get_unified_transferable 并汇总 |
| 用户要求切换模式 | 先查询当前模式并说明影响,再确认并执行 |
| 用户要求设置杠杆 | 查询/验证货币和目标杠杆,再确认变更 |
| 用户要求设置抵押 | 确认启用/禁用列表和风险提示后再变更 |
| 缺少确认、确认含糊或确认已过期 | 保持任务待处理,不执行变更 |
| 请求金额超出可借/可划转额度 | 返回最大可用额度,并询问用户是否调整 |
| 仅查询的请求 | 绝不执行变更调用 |
报告模板
## Execution Result
| Item | Value |
|------|-----|
| Scenario | {case_name} |
| Scope | {currency_or_mode_scope} |
| Action | {action} |
| Status | {status} |
| Key Metrics | {key_metrics} |
{decision_text}
decision_text 示例:
✅ Action completed successfully.📝 Action draft ready. Reply "Confirm action" to proceed.⏸️ Not executed: requested amount exceeds current limit.❌ Not executed: required parameter is missing.
错误处理
| 错误类型 | 典型原因 | 处理策略 |
|---|---|---|
| 缺少必填参数 | 未提供币种、金额或模式 | 调用工具前询问缺少的字段 |
| 超出限额 | 请求金额 > 可借或可转金额 | 返回当前最大值,并建议调整金额 |
| 不支持或隐藏的批量端点 | 批量方法未作为工具公开 | 遍历单币种调用并合并结果 |
| 拒绝切换模式 | 仓位或风险限制阻止切换 | 返回拒绝原因,并建议检查是否需要清理 |
| 杠杆设置无效 | 杠杆值超出范围 | 返回有效范围,并要求提供修正后的值 |
| 抵押品配置风险 | 启用/停用列表会改变借款能力 | 显示风险提示,并要求明确确认 |
抵押品变更 API 错误(500) | 即使有效负载有效,后端仍发生故障 | 返回非用户错误提示,保留参数以便重试,并询问是否稍后重试 |
| 缺少最终确认 | 用户尚未批准草案 | 保持待处理状态,并请求明确确认 |
| 确认已过期 | 草案已不再符合用户意图 | 使其失效并重新起草,以便重新确认 |
跨技能工作流
工作流 A:统一账户借款后现货买入
- 使用
gate-exchange-unified借入报价货币(案例 6) - 使用
gate-exchange-spot用借入资金执行买入订单
工作流 B:现货卖出后统一账户还款
- 使用
gate-exchange-spot将目标资产卖出并换成报价货币 - 使用
gate-exchange-unified偿还未结清的贷款(案例 9/10)
安全规则
- 执行任何变更前,重述目标币种、模式、数值和主要风险。
- 借款时,明确说明利息会持续累积且利率可能变化。
- 更改模式或杠杆时,说明其可能对保证金和清算风险造成的影响。
- 更改抵押品时,在执行前展示启用和停用的项目。
- 未经明确确认,保持只读模式。
- 不要重复使用过期的确认;任何参数发生变化时都应重新确认。
- 如果不满足限制,不要强行执行;请提供替代方案。