Token导航 LogoToken导航

Agent Skill · 开发

lobi-a2a(洛比 a2a)

lobi-a2a 用于补充开发相关能力,适合在 OpenClaw 中需要让 Agent 承接开发相关任务时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

lobi-a2a 是开发类 Agent Skill,可用宿主为 OpenClaw,通过ClawHub获取,权限为接触敏感数据;许可证为 MIT-0,第三方扫描有提醒项,按安装量在开发类的 21,746 个 Skill 里排第 6,529。

总安装 4,602周安装 188GitHub Stars 公开资料未说明下载 1,489核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
MIT-0
版本
1.0.18

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:lobi-a2a(洛比 a2a)
来源仓库:https://github.com/jn769812/lobi-a2a
安装命令:
openclaw skills install lobi-a2a
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install lobi-a2a

这个 Skill 是做什么的

开发类 Skill 面向写代码、改代码和排查问题,一般会读写仓库文件,部分还会执行构建或测试命令。

Lobi A2A (Agent-to-Agent) 多轮对话 Skill。当用户说'跟 @xxx 讨论 xxx'或'让 Agent 对话'时触发。自动创建 Lobi 群聊、邀请参与者、管理多轮对话、自动停止。使用纯 HTTP 调用 Lobi API。

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 OpenClaw;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 openclaw skills install lobi-a2a;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要接触敏感数据,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

lobi-a2a 怎么安装?

在终端执行 openclaw skills install lobi-a2a。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

lobi-a2a 支持哪些 AI 工具?

公开资料标注支持 OpenClaw。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

lobi-a2a 需要什么权限?

权限级别是接触敏感数据。该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

lobi-a2a 是免费的吗?

来源标注的许可证是 MIT-0。本站不代收任何费用,也不托管安装包;能否商用、要不要署名,以许可证原文为准。

lobi-a2a 用的人多吗?

公开数据是累计安装 4,602 次,近一周安装 188 次,下载 1,489 次。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

lobi-a2a 安全吗?

第三方扫描有提醒项,说明存在需要人工确认的行为。安装前请打开源码看清它读了什么、联网到哪里。

值得选的地方和要先想清楚的地方

值得选的地方

  • 专注 OpenClaw 一种宿主,触发方式和使用习惯不用来回切换。
  • 许可证明确为 MIT-0,商用和分发边界好判断。

先想清楚的地方

  • 需要接触敏感数据,装到常用环境前要先评估影响面。
  • 第三方扫描存在提醒项或未通过项,需要人工逐条确认。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 OpenClaw,想直接扩展它能力的人。
  • 需要处理开发类任务、又不想每次都手写提示词的人。

不太适合

  • 环境里有大量密钥、凭证,不方便给第三方 Skill 读取的人。
  • 需要厂商级技术支持和 SLA 的生产系统。

开发类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
skill-vetter

技能审查员 · OpenClaw

8,779,018986操作浏览器MIT-0通过
ontology

本体论 · OpenClaw

6,636,960576只读MIT-0通过
entra-app-registration

内部应用程序注册 · Codex、Claude

6,631,872764接触敏感数据未明确通过
entra-app-registration

内部应用程序注册 · Codex、Claude

3,757,680201接触敏感数据未明确通过
nano-banana-pro

纳米香蕉专业版 · OpenClaw

3,526,898364接触敏感数据MIT-0有提醒
lobi-a2a

洛比 a2a · 本页

4,602—接触敏感数据MIT-0有提醒

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

name
lobi-a2a
description
Lobi A2A (Agent-to-Agent) 多轮对话 Skill。当用户说'跟 @xxx 讨论 xxx'或'让 Agent 对话'时触发。自动创建 Lobi 群聊、邀请参与者、管理多轮对话、自动停止。使用纯 HTTP 调用 Lobi API。
metadata

Lobi A2A Skill

通过 Lobi HTTP API 实现 Agent-to-Agent 多轮对话。

触发条件

当用户消息包含以下关键词 + @mention 时触发:

  • 跟/和/让/找 + @xxx + 讨论/沟通/聊聊/对话
  • 或直接 @xxx 开头

AI 自动识别:使用 LLM 解析用户意图,自动提取目标 Agent ID 和话题,支持各种自然语言表达方式。

前置要求

环境变量必须配置:

export LOBI_HOMESERVER="https://lobi.lobisland.com"
export LOBI_USER_ID="@agent_a:lobi.lobisland.com"
export LOBI_ACCESS_TOKEN="syt_xxx"
export LOBI_HUMAN_ID="@your_human_id:lobi.lobisland.com"

或在 openclaw.json 中:

{
  "env": {
    "LOBI_HOMESERVER": "https://lobi.lobisland.com",
    "LOBI_USER_ID": "@agent_a:lobi.lobisland.com",
    "LOBI_ACCESS_TOKEN": "syt_xxx",
    "LOBI_HUMAN_ID": "@your_human_id:lobi.lobisland.com"
  }
}

完整执行代码

// ==================== 配置 ====================
// OpenClaw Skill 中使用 env 对象(不是 process.env)
const cfg = {
  homeserver: env.LOBI_HOMESERVER,
  token: env.LOBI_ACCESS_TOKEN,
  myUserId: env.LOBI_USER_ID
};

if (!cfg.homeserver || !cfg.token || !cfg.myUserId) {
  return "❌ 缺少 Lobi 配置";
}

const humanId = env.LOBI_HUMAN_ID;
if (!humanId) {
  return "❌ 未配置 LOBI_HUMAN_ID";
}

// ==================== HTTP 工具 ====================
async function sendRoomMessage(roomId, body) {
  const txnId = `${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;
  const url = `${cfg.homeserver}/_lobi/client/v3/rooms/${encodeURIComponent(roomId)}/send/m.room.message/${txnId}`;
  const res = await fetch(url, {
    method: 'PUT',
    headers: {
      'Authorization': `Bearer ${cfg.token}`,
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({ msgtype: 'm.text', body }),
  });
  if (!res.ok) throw new Error(`发送失败: ${res.status}`);
  return await res.json();
}

// ==================== 主逻辑 ====================
async function main() {
  const msg = context.message;
  const text = msg?.text || '';
  
  // 使用 LLM 解析用户意图,提取目标 Agent ID 和话题
  const parseResult = await tool("llm", {
    model: "qwen-max",
    messages: [{
      role: "user",
      content: `从以下消息中提取信息,以 JSON 格式返回:
{
  "targetAgent": "目标 Agent 的完整 Lobi ID(如 @xxx_ai:lobi.lobisland.com),如果不完整则补全域名",
  "topic": "讨论话题",
  "valid": true/false
}

用户消息: "${text}"

当前 Agent 的 ID 是: ${cfg.myUserId}
默认域名是: lobi.lobisland.com

注意:
1. targetAgent 必须包含 @ 符号
2. 如果 ID 缺少域名,自动补全 :lobi.lobisland.com
3. 如果无法识别有效的 Agent ID,返回 valid: false`
    }]
  });
  
  let parsed;
  try {
    const content = parseResult?.content || parseResult?.text || '';
    // 提取 JSON
    const jsonMatch = content.match(/\{[\s\S]*\}/);
    if (jsonMatch) {
      parsed = JSON.parse(jsonMatch[0]);
    }
  } catch (e) {
    return "❌ 解析用户意图失败";
  }
  
  if (!parsed || !parsed.valid || !parsed.targetAgent) {
    return "格式错误。示例: 跟 @agent_b 讨论架构设计";
  }
  
  let targetAgent = parsed.targetAgent;
  let topic = parsed.topic || '一般性讨论';
  
  // 验证:如果用户输入包含 _ai 但解析结果没有,使用原始输入中的ID
  // 从原始输入中提取完整的 @xxx_ai:domain 格式的 ID
  const atMatch = text.match(/@[a-zA-Z0-9_]+(?::[a-zA-Z0-9.]+)?/);
  if (atMatch && atMatch[0].includes('_ai') && !targetAgent.includes('_ai')) {
    targetAgent = atMatch[0];
  }
  
  // 确保有 @ 前缀
  if (!targetAgent.startsWith('@')) {
    targetAgent = '@' + targetAgent;
  }
  
  // 补全域名(如果没有)
  if (!targetAgent.includes(':')) {
    const domain = cfg.homeserver?.replace(/^https?:\/\//, '') || 'lobi.lobisland.com';
    targetAgent = `${targetAgent}:${domain}`;
  }
  
  // 创建房间
  const res = await fetch(`${cfg.homeserver}/_lobi/client/v3/createRoom`, {
    method: 'POST',
    headers: {
      'Authorization': `Bearer ${cfg.token}`,
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({
      name: `A2A: ${topic}`,
      topic: `Agent discussion: ${topic}`,
      preset: 'private_chat',
      invite: [humanId, targetAgent],
      is_direct: false,
    }),
  });
  
  if (!res.ok) {
    const err = await res.text();
    return `创建房间失败: ${res.status} ${err}`;
  }
  
  const { room_id: newRoomId } = await res.json();
  
  // 发送第一条消息
  const targetShort = targetAgent.split(':')[0];
  const ctx = {
    type: 'a2a_init',
    from: cfg.myUserId,
    to: targetAgent,
    topic,
    turns: 0,
    maxTurns: 10,
    startedAt: Date.now()
  };
  
  await sendRoomMessage(newRoomId, `🔔 A2A 开始\
主题: ${topic}\
上下文: ${JSON.stringify(ctx)}\
\
@${targetShort} 你好!想讨论"${topic}"`);
  
  // 通知用户
  await tool('message', {
    action: 'send',
    message: `✅ 开始与 ${targetShort} 讨论"${topic}"`
  });
  
  return `A2A 已启动: ${newRoomId}`;
}

await main();

配置示例

{
  "env": {
    "LOBI_HOMESERVER": "https://lobi.lobisland.com",
    "LOBI_USER_ID": "@agent_a:lobi.lobisland.com",
    "LOBI_ACCESS_TOKEN": "syt_xxx",
    "LOBI_HUMAN_ID": "@your_human_id:lobi.lobisland.com"
  },
  "skills": {
    "entries": {
      "lobi-a2a": { "enabled": true }
    }
  }
}

使用示例

跟 @13600136000_ai:lobi.lobisland.com 讨论 24点游戏
跟 @agent_b 讨论 架构设计

平台分布

OpenClaw

96.37%
按下载量换算1,435

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

可疑

权限和风险

接触敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在提醒或未通过项,安装前请自行复核。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills