mcpField
G
gate-exchange-subaccount

gate-exchange-subaccount

github.com/gate其他48143 次安装18 周前更新
代码仓库

关于 gate-exchange-subaccount

通过 gate-cli 管理 Gate Exchange 普通子账户的 Skill,可处理查询、列表、创建、锁定和解锁,并在变更前核验账户及确认操作。

主要功能

  1. 01查看单个子账户详情
  2. 02列出普通子账户
  3. 03创建普通子账户
  4. 04锁定或解锁子账户
  5. 05变更前要求确认

适用场景

  1. 01查看子账户状态与详情
  2. 02检查主账户下的子账户
  3. 03创建普通子账户
  4. 04停用或恢复子账户访问

MCP 相关

依赖 gate-mcp,并通过 gate-cli 命令查询和变更子账户。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/gate/gate-skills --skill gate-exchange-subaccount

安装后在 Claude Code 中输入/gate-exchange-subaccount确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

CHANGELOG.md
README.md
setup.sh
references/
gate-cli.md
mcp.md
scenarios.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 交易所子账户技能

通用规则

⚠️ 停止 — 继续操作前,必须阅读并严格遵守共享运行时规则。 在读完所有规则之前,不得选择或调用任何工具。这些规则具有最高优先级。 → 阅读 gate-runtime-rules.md

  • 仅使用本技能中明确列出的 gate-cli 命令。 对于这些工作流,不得运行此处未记录的命令,即使其他接口提供了这些命令也不例外。

技能依赖

使用的 gate-cli 命令

查询操作(只读)

  • gate-cli cex sub-account get
  • gate-cli cex sub-account list
  • gate-cli cex sub-account lock
  • gate-cli cex sub-account unlock

执行操作(写入)

  • gate-cli cex sub-account create
身份验证
  • 交互式文件设置: 如果主机上未同时设置 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 — 绝不要让用户在聊天中粘贴密钥。
  • 权限: Sa: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 执行规范。

前置条件

  • MCP 依赖: 需要安装 gate-mcp。
  • 身份验证: 所有子账户操作都需要使用具备主账户权限的 API 密钥进行身份验证。
  • 权限: 当前用户必须是主账户持有人,才能管理子账户。

可用的 MCP 工具

工具身份验证描述
gate-cli cex sub-account get是根据用户 ID 获取指定子账户的详细信息
gate-cli cex sub-account list是列出主账户下的所有子账户
gate-cli cex sub-account create是创建新的普通子账户
gate-cli cex sub-account lock是锁定子账户以禁用登录和交易
gate-cli cex sub-account unlock是解锁先前锁定的子账户

工作流

步骤 1:识别用户意图

解析用户的消息,确定他们需要执行哪项子账户操作。

需要提取的关键数据:

  • intent:取值为 query_status、list_all、create、lock、unlock 之一
  • user_id:子账户 UID(query_status、lock、unlock 必填)
  • login_name:期望的用户名(用于 create,可能需要询问用户)

意图识别规则:

信号关键词意图
“子账户状态”、“子账户 UID {id}”、“检查子账户”query_status
“所有子账户”、“列出子账户”、“我的子账户”、“有哪些子账户”list_all
“创建子账户”、“新建子账户”、“添加子账户”create
“锁定子账户”、“禁用子账户”、“冻结子账户”lock
“解锁子账户”、“启用子账户”、“解除冻结子账户”unlock
步骤 2:按意图执行
情况 A:查询子账户状态(query_status)

调用 gate-cli cex sub-account get,并提供:

  • user_id:用户提供的子账户 UID

需要提取的关键数据:

  • login_name:子账户用户名
  • remark:子账户备注
  • state:账户状态(正常 / 已锁定)
  • type:账户类型(普通 / 资金池)
  • create_time:账户创建时间戳

以结构化格式展示子账户详情。

情况 B:列出所有子账户(list_all)

调用 gate-cli cex sub-account list,并提供:

  • type:“0”(仅普通子账户)

需要提取的关键数据:

  • 每个子账户的:user_id、login_name、remark、state、create_time

将结果整理为表格,包含用户名、UID、备注(如有)和当前状态。

情况 C:创建子账户(create)

预检查:调用 gate-cli cex sub-account list,并提供 type:“0”,以获取当前普通子账户列表。根据返回的数量,检查用户是否还能创建更多子账户。

如果可以创建:

  1. 请用户提供新子账户的登录名
  2. 可选收集:邮箱、备注
  3. 在继续操作前,与用户确认所有详情
  4. 调用 gate-cli cex sub-account create,并提供:
  • login_name:用户提供的登录名(必填)
  • email:用户提供的邮箱(可选)
  • remark:用户提供的备注(可选)
  1. 展示新创建的子账户详情

需要提取的关键数据:

  • user_id:新创建的子账户 UID
  • login_name:已确认的用户名
  • state:应为“正常”

重要:只能通过此技能创建普通子账户。

情况 D:锁定子账户(lock)
  1. 验证是否已提供 user_id;如果未提供,请询问用户
  2. 调用 gate-cli cex sub-account get 并提供 user_id,以验证子账户存在且属于主账户
  3. 如果子账户已锁定,告知用户并停止操作
  4. 向用户确认:“确定要锁定子账户 {user_id}({login_name})吗?这将禁用该子账户的登录和交易。”
  5. 确认后,调用 gate-cli cex sub-account lock,并提供:
  • user_id:子账户 UID
  1. 报告操作结果

需要提取的关键数据:

  • 锁定操作成功 / 失败状态
案例 E:解锁子账户(unlock)
  1. 验证是否提供了 user_id;如果没有,请向用户询问
  2. 使用 user_id 调用 gate-cli cex sub-account get,确认子账户存在且当前处于锁定状态
  3. 如果子账户已解锁/状态正常,告知用户并停止操作
  4. 向用户确认:“确定要解锁子账户 {user_id}({login_name})吗?”
  5. 用户确认后,调用 gate-cli cex sub-account unlock,并传入:
  • user_id:子账户 UID
  1. 报告操作结果

需提取的关键数据:

  • 解锁操作的成功/失败状态
步骤 3:整理并回复

使用下方的报告模板呈现结果。始终包含相关背景信息和后续步骤建议。

判断逻辑摘要

条件操作
用户提供 UID 并查询特定子账户状态转到案例 A:query_status
用户要求查看所有子账户转到案例 B:list_all
用户想创建新子账户转到案例 C:create
用户提供 UID 并要求锁定子账户转到案例 D:lock
用户提供 UID 并要求解锁子账户转到案例 E:unlock
需要 UID 的操作未提供 UID向用户询问子账户 UID
创建子账户时未提供登录名向用户询问登录名
子账户已处于目标状态(锁定/解锁)告知用户,无需操作
API 返回身份验证错误提示用户登录
API 返回权限错误告知用户需要主账户权限
子账户不存在或不属于用户告知用户 UID 无效

报告模板

查询状态响应
Sub-Account Details
---
Username: {login_name}
UID: {user_id}
Status: {state}
Type: {type}
Remark: {remark or "N/A"}
Created: {create_time}
列出所有子账户的响应
Your Sub-Accounts
---
| # | Username | UID | Status | Remark |
|---|----------|-----|--------|--------|
| 1 | {login_name} | {user_id} | {state} | {remark or "-"} |
| 2 |... |... |... |... |

Total: {count} sub-account(s)
创建子账户的响应
Sub-Account Created Successfully
---
Username: {login_name}
UID: {user_id}
Status: Normal
Remark: {remark or "N/A"}

Note: Only normal sub-accounts can be created through this interface.
锁定/解锁响应
Sub-Account {Action} Successfully
---
Username: {login_name}
UID: {user_id}
Previous Status: {previous_state}
Current Status: {new_state}

领域知识

  • Gate 主账户可以创建多个子账户,用于资产隔离、策略分离或团队管理。
  • 子账户与主账户共用 KYC 验证,但拥有独立的交易和钱包功能。
  • 锁定子账户会同时禁用登录和交易;资产仍然安全,但在解锁前无法访问。
  • 子账户分为两种类型:普通子账户(type=0)和资金池子账户(type=1)。此技能仅支持创建普通子账户。
  • 创建子账户需要使用唯一的登录名。电子邮件和备注为可选项。

安全规则

  • 写入操作(gate-cli cex sub-account create、gate-cli cex sub-account lock、gate-cli cex sub-account unlock):执行前始终需要用户明确确认。切勿自动执行。
  • UID 验证:锁定/解锁前,始终验证子账户存在且属于当前主账户。
  • 状态检查:锁定/解锁前,检查当前状态以避免重复操作。
  • 不得泄露敏感数据:切勿泄露 API 密钥、内部端点 URL 或原始错误跟踪信息。
  • 仅限普通子账户:创建操作仅限普通子账户(type=0)。不要尝试创建资金池子账户。

错误处理

条件响应
身份验证端点返回 "not login""请先登录您的 Gate 账户。"
用户不是主账户"管理子账户需要主账户权限。请切换到您的主账户。"
未找到子账户 UID"未找到 UID 为 {user_id} 的子账户。请核实 UID 并重试。"
子账户不属于该用户"此子账户不属于您的主账户。"
子账户已锁定"子账户 {user_id} 已锁定。无需执行任何操作。"
子账户已解锁"子账户 {user_id} 已处于正常(未锁定)状态。无需执行任何操作。"
创建子账户失败(已达上限)"您已达到子账户数量上限。如需创建更多子账户,请联系支持团队。"
创建子账户失败(名称重复)"登录名 '{login_name}' 已被占用。请选择其他名称。"
未知错误"处理您的请求时发生错误。请稍后重试。"

提示词示例和场景

完整的提示词示例和预期行为请参阅 scenarios.md。

评论

支持 Markdown