关于 senpi-entrypoint
这是用于将 AI Agent 接入 Hyperliquid 上 Senpi 交易平台的引导技能,面向希望配置账户并逐步使用交易能力的用户。它按模块处理账户设置、技能发现和策略扩展。
主要功能
- 01引导创建 Senpi 账户并配置 MCP
- 02提供交易入门引导选项
- 03按需安装交易技能
- 04查询账户资金状态
- 05安排每日技能更新检查
适用场景
- 01首次接入 Senpi 交易平台
- 02检查账户是否已准备好进行交易
- 03按交易目标添加相关技能
- 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.mderror-handling.mdpost-onboarding.mdskill-recommendations.mdskill-update-checker.mdstrategy-intent-routing.mdscripts/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}}
关卡 — 继续前请确认:
- Senpi 账户已创建
- API 密钥已生成
- 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.md | Senpi 摘要来源:Senpi 是什么、功能、完整项目列表、用户友好的安装流程,以及新内容指南 |
references/error-handling.md | npx 命令失败时的恢复步骤 |