mcpField
S
senpi-entrypoint

senpi-entrypoint

github.com/senpi-ai其他140389 次安装今天更新
代码仓库

关于 senpi-entrypoint

这是用于将 AI Agent 接入 Hyperliquid 上 Senpi 交易平台的引导技能,面向希望配置账户并逐步使用交易能力的用户。它按模块处理账户设置、技能发现和策略扩展。

主要功能

  1. 01引导创建 Senpi 账户并配置 MCP
  2. 02提供交易入门引导选项
  3. 03按需安装交易技能
  4. 04查询账户资金状态
  5. 05安排每日技能更新检查

适用场景

  1. 01首次接入 Senpi 交易平台
  2. 02检查账户是否已准备好进行交易
  3. 03按交易目标添加相关技能
  4. 04在后续会话查看技能更新

MCP 相关

该技能配置并验证 Senpi MCP 服务,之后使用其工具获取账户组合等信息。默认端点为 `https://mcp.prod.senpi.ai`。

安装

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

$npx skills add https://github.com/senpi-ai/senpi-skills --skill senpi-entrypoint

安装后在 Claude Code 中输入/senpi-entrypoint确认已加载。

包含的文件

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

references/
about-senpi.md
error-handling.md
post-onboarding.md
skill-recommendations.md
skill-update-checker.md
strategy-intent-routing.md
scripts/
check-skill-updates.py

详细介绍

Senpi Agent 入口

通过模块化技能将 AI Agent 接入 Hyperliquid 上的 Senpi 交易平台:账户设置、技能发现和交易策略。

如需了解平台背景信息(钱包、策略、工具类别、费用),请参阅 references/about-senpi.md。

如果任何 npx 命令失败,请参阅 references/error-handling.md 了解恢复 步骤。

环境变量默认值

变量占位符默认值
SENPI_MCP_ENDPOINT{{SENPI_MCP_ENDPOINT}}https://mcp.prod.senpi.ai
REFERRAL_CODE{{REFERRAL_CODE}}(空 — 可选)

如果占位符以字面量 {{...}} 字符串的形式出现(未被替换), 请使用上表中的默认值。


Agent 行为

重要:你输出的每个字都会直接发送给用户。 没有内部通道。静默执行所有步骤——不要叙述过程,不要更新状态,也不要说明推理。你唯一可以输出的文本是步骤 2 中的最终欢迎消息。

每次工具调用之间:不得输出任何文本。一个字也不行。

禁止——绝不要写出以下任何内容:

  • “State is empty / not READY / FRESH / ONBOARDING...”、“State is ...”或任何关于内部状态的内容
  • “Let me...”、“Now let me...”、“Let me check...”、“Let me fetch...”、“Let me read...”
  • “Token is set...”、“Skipping Step 1...”、“Proceeding to Step...”、“Per BOOTSTRAP.md...”
  • “Now I have...”、“I already have...”、“I now have...”
  • “Good, ...”、“Great, ...”、“OK, ...”、“Alright, ...”
  • 任何关于内部步骤、文件路径、状态值、工具名称或后续操作的内容
  • 任何关于工具返回内容、发现了什么或未发现什么的说明

如果你发现自己要输出任何内容——停下,静默执行下一步。


响应前检查(每次调用此技能时运行)

在响应此技能中的任何查询之前,运行 references/skill-update-checker.md 中的强制调用检查(Pre-Response Invocation Check 部分),每次调用恰好运行一次,然后 在后续所有响应约定中复用已捕获的 UPDATE_OUTPUT。 同一次调用中不得再次运行此检查。

Arena 意图硬性门槛: 如果用户消息包含“arena”、“agents arena”、“competition”、“prize pool”、“qualify”、“qualification”、“weekly cycle”或“weekly competition”,则必须在撰写任何答复之前调用 read_senpi_guide(uri="senpi://guides/arena")。对于 Arena 问题,不得使用网络搜索或排行榜数据。完整路由规则见 references/post-onboarding.md。


初始检查:仅当已通过身份验证时跳过步骤 1

在步骤 1 之前,检查机器上是否已有可用的 Senpi API 密钥:

if [ -n "${SENPI_AUTH_TOKEN}" ]; then
  # Optional: verify MCP responds (e.g. call a read-only tool)
  # If verification fails, clear or ignore and continue to Step 1
  echo "SENPI_AUTH_TOKEN is set; skipping Step 1 only. You MUST still run Step 2, then Step 3, then Step 4."
  SKIP_ONBOARDING=true
else
  SKIP_ONBOARDING=false
fi
  • 如果已设置 SENPI_AUTH_TOKEN,且(可选)MCP 有响应:仅跳过步骤 1(接入)。仍必须运行步骤 2:欢迎(显示欢迎消息并提供三个选项),然后运行步骤 3:指南,再运行步骤 4:扩展。不要把“已设置令牌”视为“接入已完成——无需操作”。
  • 如果未设置 SENPI_AUTH_TOKEN 或其值为空:照常继续执行步骤 1:接入。

完成初始检查后,按步骤流程执行:步骤 1(除非跳过)→ 步骤 2(始终执行) → 步骤 3 → 步骤 4。


步骤 1:注册

仅在未设置 SENPI_AUTH_TOKEN 时运行此步骤(即 SKIP_ONBOARDING 为 false)。如果你在初始检查时跳过了此步骤,请转到步骤 2。

安装注册技能:

npx skills add https://github.com/Senpi-ai/senpi-skills --skill senpi-onboard -g -y

加载并遵循 senpi-onboard 技能说明。传入以下上下文:

  • SENPI_MCP_ENDPOINT:{{SENPI_MCP_ENDPOINT}}
  • REFERRAL_CODE:{{REFERRAL_CODE}}

关卡 — 继续前请确认:

  1. Senpi 账户已创建
  2. API 密钥已生成
  3. MCP 服务已配置,且能响应工具调用

步骤 2:欢迎

**始终运行此步骤:**在步骤 1 完成后,或初始检查发现已设置 SENPI_AUTH_TOKEN 时立即运行。

发送 post-onboarding.md 中 注册后欢迎语 部分的欢迎消息。不要添加余额或充值相关文字——你目前还没有余额数据;步骤 2.5 会获取余额并显示相应的充值消息。完整呈现欢迎模板(包括三个选项和 Agents Arena 一行),然后等待用户回复。

停止。此处不要呈现策略目录。 只有用户明确提出要求时才显示目录(参见同一注册后参考文档中的 策略目录)。呈现目录时,始终从以下位置动态获取:

curl -s https://raw.githubusercontent.com/Senpi-ai/senpi-skills/refs/heads/main/catalog.json

不要对技能名称进行硬编码,也不要使用 npx skills add --list。

**关卡 — 继续前请确认:**用户已看到欢迎消息并选择了路径。


步骤 2.5:检查资金状态

始终运行此步骤,在步骤 2 之后、步骤 3 之前。调用 account_get_portfolio 获取用户当前余额。静默执行——不要叙述工具调用。

  • 如果总余额(所有钱包合计)>= $100:向用户显示余额摘要,让他们知道资金已到位,可以开始交易。也可以注明哪些目录技能在当前资金范围内(例如 min_budget <= balance 的技能),或哪些技能需要更多资金(min_budget > balance)。继续步骤 3。
  • 如果总余额 < $100:告知用户当前余额,显示其 Senpi Agent 钱包地址(从 ~/.config/senpi/state.json → account.agentWalletAddress 或 wallet.address 读取),并说明开始交易至少需要 $100 USDC。注明支持的链:Base、Arbitrum、Optimism、Polygon、Ethereum。也可以注明充值后哪些目录技能将在资金范围内(使用相同的 min_budget 与余额比较逻辑)。仍然继续步骤 3。
  • 如果 MCP 调用失败:静默跳过,继续步骤 3,不显示资金相关消息。

步骤 3:引导(可选)

询问用户:

“你想了解如何在 Senpi 上交易吗?我可以通过互动指南带你完成 第一笔交易。”

如果用户同意,安装 Senpi 入门指南:

npx skills add https://github.com/Senpi-ai/senpi-skills --skill senpi-getting-started-guide -g -y

如果指南技能尚不可用,则改为建议以下入门操作:

  • “查看你的投资组合”(使用 account_get_portfolio 工具)
  • “发现顶级交易者”(使用 discovery_get_top_traders 工具)
  • “查看市场数据”(使用 market_get_prices 工具)

步骤 4:扩展(由用户驱动)

根据用户兴趣,按需安装其他交易技能:

npx skills add https://github.com/Senpi-ai/senpi-skills --skill <skill-name> -g -y

示例:

npx skills add https://github.com/Senpi-ai/senpi-skills --skill hedgehog -g -y

注册已完成。Agent 现已配备 Senpi 的交易工具包,并可根据需要安装更多技能。


步骤 5:安装后台技能更新检查器

此步骤中的 Agent 行为:参见 references/skill-update-checker.md (§“步骤 5:Agent 行为”)。

在步骤 4 完成后运行此步骤。此步骤会注册一个每日运行的 OpenClaw cron 任务,在隔离会话中运行技能更新检查器,不进行任何发送;Agent 会运行脚本并退出,不作回复。检查结果会排队等待下次会话启动时处理。

定位脚本
SENPI_ENTRYPOINT_SCRIPTS=$(node -e "
  const path = require('path'), os = require('os'), fs = require('fs');
  const p = path.join(os.homedir(), '.agents', 'skills', 'senpi-entrypoint', 'scripts');
  console.log(fs.existsSync(path.join(p, 'check-skill-updates.py')) ? p : '');
" 2>/dev/null)

如果 SENPI_ENTRYPOINT_SCRIPTS 为空,说明该技能并非全局安装 (npx skills add ... -g)——请静默跳过此步骤。如果 openclaw 不在 PATH 中, 请静默跳过此步骤。

安装 OpenClaw cron(幂等)
if [ -n "$SENPI_ENTRYPOINT_SCRIPTS" ] && command -v openclaw >/dev/null 2>&1; then
  openclaw cron remove "senpi-skill-update-check" 2>/dev/null || true
  SCRIPT_PATH="$SENPI_ENTRYPOINT_SCRIPTS/check-skill-updates.py"
  openclaw cron add "senpi-skill-update-check" \
    --schedule "0 0 * * *" \
    --no-deliver \
    --message "Run this command with no output or reply: python3 \"$SCRIPT_PATH\" --cron. Then exit. Do not deliver or announce anything."
fi

任务存储在 $OPENCLAW_STATE_DIR/cron/jobs.json 中(如果未设置 OPENCLAW_STATE_DIR,则默认路径为 ~/.openclaw/cron/jobs.json)。它每天 在 UTC 时间 00:00 运行一次;发现更新时,脚本会写入 $SENPI_STATE_DIR/pending-skill-updates.json(如果未设置 SENPI_STATE_DIR, 则默认路径为 ~/.config/senpi/pending-skill-updates.json),并在下次调用时通过上文的 响应前检查 显示。


开启或关闭技能更新通知

如果用户要求关闭或重新开启通知,请按照 references/skill-update-checker.md 中的流程操作。


回答问题

强制响应约定(必须执行)

对于任何摘要或问答响应,请遵循 references/about-senpi.md 中的 Summary Response Contract 和 Mandatory Invocation Procedure 部分。 使用上文顶层 Pre-Response Check 生成的 UPDATE_OUTPUT;除非当前调用中尚未运行 Pre-Response Invocation Check, 否则不要在此处重新运行该检查。 在满足这些流程要求之前,不要认为响应已完成。

“什么是 Senpi?” / “总结一下 Senpi” / “总结技能和能力” / “如何安装技能?” / “有什么新内容?”

这仅在用户明确询问时适用——不要将此摘要自动插入常规引导步骤。

收到询问时,加载并遵循 references/about-senpi.md 中的 Summary Response Contract 部分,以确定顺序、详略程度和命令行为。

“我应该安装哪些技能?” / “针对[目标]我应该使用什么?”

请查阅 references/skill-recommendations.md ,了解目标到技能的映射、预算建议和安装命令。


参考文件

文件用途
scripts/check-skill-updates.py每日后台检查器(通过带 --cron 的 cron 运行)。读取 Vercel skills CLI 锁定文件,对比 GitHub 树 SHA,并将版本更新 / 新技能写入待处理文件
references/skill-update-checker.md启动输出处理 + 开启 / 关闭通知 + cron 管理
references/skill-recommendations.md目标到技能的映射表、预算建议、安装命令
references/about-senpi.mdSenpi 摘要来源:Senpi 是什么、功能、完整项目列表、用户友好的安装流程,以及新内容指南
references/error-handling.mdnpx 命令失败时的恢复步骤

评论

支持 Markdown