返回顶部
m

mysta-sync神秘同步

>-

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 0.3.0
安全检测
已通过
129
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

mysta-sync

Mysta 技能同步

通过 MCP(模型上下文协议)将本地 OpenClaw 技能同步到 Mysta 平台上的远程 NanoClaw 代理。

身份验证

用户需要将 Mysta API 密钥(以 mysta 开头)存储在 MYSTAAPI_KEY 环境变量中。

  1. 1. 检查密钥是否已设置:

bash
if [ -n ${MYSTAAPIKEY} ]; then echo 密钥已设置; else echo 密钥未设置; fi

  1. 2. 如果未设置,在浏览器中打开 API 密钥页面:

bash

跨平台浏览器打开


if command -v xdg-open &>/dev/null; then
xdg-open https://app.staging.mysta.tech/en/profile#api-keys
elif command -v open &>/dev/null; then
open https://app.staging.mysta.tech/en/profile#api-keys
else
echo 请访问:https://app.staging.mysta.tech/en/profile#api-keys
fi

  1. 3. 告知用户:请创建一个新的 API 密钥,并将其设置为环境变量:export MYSTAAPIKEY=mysta_...
  1. 4. 等待用户设置密钥。

密钥设置完成后,为所有后续命令配置变量:

bash

来自环境变量的 API 密钥(必需)


: ${MYSTAAPIKEY:?请设置 MYSTAAPIKEY 环境变量}

MCP 服务器 URL(默认为 staging,可通过 MYSTAMCPURL 覆盖其他环境)

MCPURL=${MYSTAMCP_URL:-https://api.staging.mysta.tech/api/v2/mcp}

MCP 协议

所有通信均通过 HTTPS 使用 MCP Streamable HTTP 传输。每个请求都是通过 HTTP POST 进行的 JSON-RPC 调用。不写入临时文件——会话 ID 从响应头中内存提取。流程如下:

  1. 1. 初始化 会话(获取会话 ID)
  2. 使用会话 ID 调用工具
  3. 完成后 关闭 会话

初始化会话

bash

从响应头中提取会话 ID,不写入临时文件


MCPSESSION=$(curl -sf -X POST ${MCPURL} \
-H Content-Type: application/json \
-H Accept: application/json, text/event-stream \
-H Authorization: Bearer ${MYSTAAPIKEY} \
-d {jsonrpc:2.0,id:1,method:initialize,params:{protocolVersion:2025-03-26,capabilities:{},clientInfo:{name:openclaw,version:1.0.0}}} \
-D- -o /dev/null 2>/dev/null | grep -i mcp-session-id | tr -d \r | awk {print $2})

然后发送初始化通知:

bash
curl -sf -X POST ${MCP_URL} \
-H Content-Type: application/json \
-H Authorization: Bearer ${MYSTAAPIKEY} \
-H Mcp-Session-Id: ${MCP_SESSION} \
-d {jsonrpc:2.0,method:notifications/initialized}

调用工具

bash
RESULT=$(curl -sf -X POST ${MCP_URL} \
-H Content-Type: application/json \
-H Accept: application/json, text/event-stream \
-H Authorization: Bearer ${MYSTAAPIKEY} \
-H Mcp-Session-Id: ${MCP_SESSION} \
-d $(jq -n --arg name TOOLNAME --argjson args ARGSJSON \
{jsonrpc:2.0,id:2,method:tools/call,params:{name:$name,arguments:$args}}))

响应可能是 SSE(text/event-stream)——解析 data: 行以获取 JSON-RPC 结果。

关闭会话

bash
curl -sf -X DELETE ${MCP_URL} \
-H Authorization: Bearer ${MYSTAAPIKEY} \
-H Mcp-Session-Id: ${MCP_SESSION}

工作流程

步骤 1:初始化 MCP 会话

使用上述协议进行初始化。存储 MCP_SESSION 以供所有后续调用使用。

步骤 2:列出代理

调用 mystalistagents 工具:

bash
RESULT=$(curl -sf -X POST ${MCP_URL} \
-H Content-Type: application/json \
-H Accept: application/json, text/event-stream \
-H Authorization: Bearer ${MYSTAAPIKEY} \
-H Mcp-Session-Id: ${MCP_SESSION} \
-d {jsonrpc:2.0,id:2,method:tools/call,params:{name:mystalistagents,arguments:{}}})

解析响应以查找代理 ID 和名称。

  • - 如果未找到代理,告知用户在 https://app.staging.mysta.tech 创建一个
  • 如果只有一个代理,自动选择它
  • 如果有多个,询问要同步到哪一个

步骤 3:扫描本地技能

在 OpenClaw 技能目录中查找所有 SKILL.md 文件:

bash
find ~/.openclaw/skills ~/Workspace/openclaw/skills -maxdepth 2 -name SKILL.md -type f 2>/dev/null

对于每个技能,名称是其父目录名。

展示列表并询问:

  • - all → 同步所有内容
  • 特定名称 → 仅同步这些
  • cancel → 中止

步骤 4:通过 MCP 上传技能

对于每个选定的技能,读取内容并调用 mystasyncskill:

bash
SKILLCONTENT=$(cat $SKILLPATH)
RESULT=$(curl -sf -X POST ${MCP_URL} \
-H Content-Type: application/json \
-H Accept: application/json, text/event-stream \
-H Authorization: Bearer ${MYSTAAPIKEY} \
-H Mcp-Session-Id: ${MCP_SESSION} \
-d $(jq -n --arg name $SKILLNAME --arg content $SKILLCONTENT --arg agentId $AGENT_ID \
{jsonrpc:2.0,id:3,method:tools/call,params:{name:mystasyncskill,arguments:{agentId:$agentId,skillName:$name,content:$content}}}))

或者,使用 mystasyncall_skills 批量上传:

bash

构建技能 JSON 数组


SKILLSJSON=$(for skillpath in $SELECTED_SKILLS; do
name=$(basename $(dirname $skill_path))
content=$(cat $skill_path)
jq -n --arg name $name --arg content $content {name:$name,content:$content}
done | jq -s .)

RESULT=$(curl -sf -X POST ${MCP_URL} \
-H Content-Type: application/json \
-H Accept: application/json, text/event-stream \
-H Authorization: Bearer ${MYSTAAPIKEY} \
-H Mcp-Session-Id: ${MCP_SESSION} \
-d $(jq -n --arg agentId $AGENTID --argjson skills $SKILLSJSON \
{jsonrpc:2.0,id:3,method:tools/call,params:{name:mystasyncall_skills,arguments:{agentId:$agentId,skills:$skills}}}))

步骤 5:关闭会话并报告结果

关闭 MCP 会话,然后显示摘要:

  • - 同步的技能总数
  • 任何失败及其错误详情
  • 如果代理的开发 pod 正在运行,技能将立即生效
  • 如果未运行,告知用户在 https://app.staging.mysta.tech 上启动开发 pod 以应用技能

安全说明

  • - 所有 API 通信均使用 HTTPS。API 密钥仅通过加密连接传输。
  • MYSTAAPIKEY 必须存储为环境变量,切勿硬编码在脚本中。使用有限范围的密钥,并在使用后撤销。
  • 不写入临时文件。会话 ID 从响应头中内存提取,仅在会话期间存储在 shell 变量中。
  • SKILL.md 文件内容被读取并上传到 Mysta 服务器。在同步前审查技能文件——不要在 SKILL.md 文件中包含机密、凭据或敏感数据。
  • API 密钥仅限用于已验证用户的代理。
  • 此技能在以下操作前需要明确的用户同意:打开浏览器、上传文件或连接到 Mysta API。

备注

  • - 技能上传

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 agent-soul-sync-1776011416 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 agent-soul-sync-1776011416 技能

通过命令行安装

skillhub install agent-soul-sync-1776011416

下载

⬇ 下载 mysta-sync v0.3.0(免费)

文件大小: 3.57 KB | 发布时间: 2026-4-13 09:11

v0.3.0 最新 2026-4-13 09:11
- All API endpoints and web URLs updated from http to https for secure communication.
- No temporary files are written; session IDs are now extracted in-memory for improved security and portability.
- Security notes revised: emphasizes HTTPS-only communication, avoidance of temporary disk artifacts, and explicit user consent before potentially sensitive actions.
- Minor documentation clarifications and modernized browser-opening examples.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部