mcpField
G
gemini

gemini

github.com/alphaonedev开发45 次安装
代码仓库

关于 gemini

gemini 是通过 Google Gemini API 提供 AI 交互能力的 OpenClaw 技能,面向需要多模态输入、长上下文或动态函数调用的任务。它还支持数据 grounding 与代码执行。

主要功能

  1. 01处理文本、图像和音频
  2. 02支持长上下文
  3. 03动态函数调用
  4. 04实时数据 grounding
  5. 05生成并执行代码

适用场景

  1. 01分析图文等多模态输入
  2. 02处理长篇对话
  3. 03调用外部函数
  4. 04生成并运行代码片段

安装

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

$npx skills add https://github.com/alphaonedev/openclaw-graph --skill gemini

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

详细介绍

gemini

用途

此技能通过 Google Gemini API 实现高级 AI 交互,重点支持多模态输入、扩展上下文处理,以及函数调用和代码执行等集成功能。使用它来扩展 OpenClaw 的能力,以处理需要大规模上下文或多媒体处理的复杂任务。

适用场景

当任务涉及长篇对话(最多 1M 个 token)、多模态数据(例如文本 + 图像)或动态函数调用时,请使用此技能。它适用于代码生成、数据依据查询,或聊天机器人、内容分析、自动化脚本等应用中的基于 API 的工作流。对于轻量模型足以完成的简单纯文本任务,请避免使用它。

主要功能
  • 多模态支持:通过 Gemini API 处理文本、图像和音频;例如,发送图像 URL 和文本进行分析。
  • 长上下文:处理最多 1M 个 token 的扩展对话;在请求中指定上下文以维持状态。
  • 函数调用:动态定义和调用外部函数;使用 API 的 tools 参数指定函数。
  • 事实依据:集成实时数据获取以提供准确的回复;通过请求中的 grounding 配置启用。
  • 代码执行:生成并执行代码片段;确保使用 try-catch 块安全地执行。
  • API 端点:文本生成的主要端点是 https://generativelanguage.googleapis.com/v1beta/models/gemini-pro:generateContent。
使用模式

要使用此技能,请先通过环境变量设置 API 密钥(export GEMINI_API_KEY=your_key)。然后,在 Agent 提示词中引用技能 ID("gemini"),即可在 OpenClaw 中调用它。进行 API 调用时,请将请求组织为 JSON 负载,并在标头中进行身份验证。模式:加载技能、准备输入数据(例如多模态数组)、发送请求并解析响应。始终通过监控 API 响应来检查速率限制。重复使用时,请缓存响应,或对长上下文使用流式传输。

常用命令/API
  • API 请求:使用 HTTP POST 向 https://generativelanguage.googleapis.com/v1beta/models/gemini-pro:generateContent 发送请求,并使用标头 Authorization: Bearer $GEMINI_API_KEY。
  • curl CLI 示例:curl -X POST -H "Authorization: Bearer $GEMINI_API_KEY" -H "Content-Type: application/json" -d '{"contents": [{"parts": [{"text": "Hello"}]}]}' https://generativelanguage.googleapis.com/v1beta/models/gemini-pro:generateContent
  • 函数调用:在负载中添加 "tools": [{"functionDeclarations": [...]}] 以定义函数;使用 "parts": [{"functionCall": {"name": "functionName", "args": {}}}] 调用函数。
  • Python 集成代码片段:
    import requests
    response = requests.post('https://generativelanguage.googleapis.com/v1beta/models/gemini-pro:generateContent', headers={'Authorization': f'Bearer {os.environ["GEMINI_API_KEY"]}'}, json={'contents': [{'parts': [{'text': 'Generate code for a simple server'}]}]})
    print(response.json())
    
  • 配置格式:请求使用 JSON,例如,多模态请求可使用 {"contents": [{"parts": [{"text": "Prompt"}, {"inlineData": {"mimeType": "image/jpeg", "data": "base64encodedimage"}}]}]。
集成说明

在 OpenClaw 中使用 skill load gemini 加载技能以完成集成。身份验证需要将 $GEMINI_API_KEY 设置为环境变量;不要将密钥硬编码。对于集群集成(例如 "community"),请通过 OpenClaw 的图谱引用:skill link gemini to other_skill。处理多模态输入时,请对文件进行编码(例如,将图像编码为 base64),并将其包含在 "parts" 数组中。如果可用,请使用 Google AI SDK 在本地测试;但在生产环境中应直接调用 API。确保 OpenClaw Agent 具有出站网络访问权限。

错误处理

检查 HTTP 状态码:401 表示身份验证问题(请核实 $GEMINI_API_KEY),429 表示速率限制(请添加指数退避重试逻辑)。解析响应正文中的 API 错误;例如,如果 "code" 为 4,请在发送前验证提示词,以处理无效输入。在代码中,按如下方式包装调用:

try:
    response = requests.post(...)  # API call
    if response.status_code != 200:
        raise Exception(response.json()['error']['message'])
except Exception as e:
    print(f"Error: {e} - Retrying in 5 seconds")
    time.sleep(5)

始终记录包含上下文(例如提示词详情)的错误,以便调试。对于 Gemini 特定错误,请参阅 Google 的 API 文档,了解 "INVALID_ARGUMENT" 等错误代码。

图关系
  • 相关项:“google”(共享 API 生态)、“ai”(具备常见的 AI 能力)、“multimodal”(与视觉/图像技能有重叠)。
  • 连接方式:通过“community”集群连接到其他社区技能,例如用于对比的 openai。
  • 依赖项:需要访问外部 API;在 OpenClaw 图中没有直接的技能依赖。

评论

支持 Markdown