如何为 Gemini CLI 创建代理技能

1. 简介

在本实验中,您将学习如何创建代理技能,以便为 LLM 提供对定制知识和工作流的访问权限。您将创建一个可从 Gemini CLI 访问的本地技能。

您将执行的操作

  • 为自己喜欢的事物创建专属的 Agent 技能。
  • 使用 Gemini CLI 查询技能。
  • 安装官方 Agent Skills for Firebase,并使用它们来构建和部署应用。

学习内容

  • 如何构建技能。
  • 如何编写 SKILL.md 文件。
  • 如何将本地技能与 Gemini CLI 搭配使用。

2. 项目设置

  1. 如果您还没有 Google 账号,则必须先创建一个 Google 账号
    • 请改用个人账号,而非工作账号或学校账号。工作账号和学校账号可能存在限制,导致您无法启用本实验所需的 API。
  2. 登录 Google Cloud 控制台
  3. 在 Cloud 控制台中启用结算功能
    • 完成本实验的 Cloud 资源费用应不到 1 美元。
    • 您可以按照本实验末尾的步骤删除资源,以避免产生更多费用。
    • 新用户符合参与 300 美元免费试用计划的条件。
  4. 创建新项目或选择重复使用现有项目。
    • 如果您看到有关项目配额的错误,请重复使用现有项目或删除现有项目以创建新项目。

3. 打开 Cloud Shell Editor

  1. 点击此链接可直接前往 Cloud Shell Editor
  2. 如果系统在今天任何时间提示您进行授权,请点击授权继续。点击以授权 Cloud Shell
  3. 如果终端未显示在屏幕底部,请打开它:
    • 点击查看
    • 点击终端在 Cloud Shell 编辑器中打开新终端
  4. 在终端中,使用以下命令设置项目:
    • 格式:
      gcloud config set project [PROJECT_ID]
      
    • 示例:
      gcloud config set project lab-project-id-example
      
    • 如果您不记得项目 ID,请执行以下操作:
      • 您可以使用以下命令列出所有项目 ID:
        gcloud projects list | awk '/PROJECT_ID/{print $2}'
        
      在 Cloud Shell 编辑器终端中设置项目 ID
  5. 您应会看到以下消息:
    Updated property [core/project].
    
    如果您看到 WARNING 并被问到 Do you want to continue (Y/n)?,则很可能是您输入的项目 ID 有误。按 n,按 Enter,然后尝试再次运行 gcloud config set project 命令。

4. 创建“我喜欢的东西”技能

代理技能是指包含至少一个 SKILL.md 文件的目录,该文件可为 AI 代理提供指令和知识。在本部分中,您将创建一个技能,让 Gemini CLI 了解您的喜好。

  1. 创建一个目录来存储技能:
    mkdir -p ~/.gemini/skills/my-favorite-things
    
  2. 为技能创建并打开新的 SKILL.md 文件:
    cloudshell edit ~/.gemini/skills/my-favorite-things/SKILL.md
    
    cloudshell edit 命令会在终端上方的编辑器中打开 SKILL.md 文件。
  3. 将以下内容添加到 SKILL.md 文件中:
    ---
    name: my-favorite-things
    description: Information about my favorite things. Use this skill to answer questions about my favorite color, food, or programming language.
    ---
    
    My favorite color is blue.
    My favorite food is pizza.
    My favorite programming language is Python.
    
    If asked about one of my favorite things, please respond with the information provided above.
    

仅使用 SKILL.md 文件,您就创建了第一个技能!现在,我们可以在 Gemini CLI 中使用这项技能了。

5. 在 Gemini CLI 中使用技能

您已成功创建技能,现在可以将其与 Gemini CLI 搭配使用。放置在 ~/.gemini/skills 中的技能会自动被 Gemini CLI 发现。

  1. 在 Cloud Shell 中启动 Gemini CLI
    gemini
    
    您可能需要按 Enter 接受一些默认设置。
  2. 让 Gemini 列出其上下文中可用的技能
    /skills
    
    您应该会在可用技能列表中看到 my-favorite-things
  3. 向 Gemini 询问您最喜欢的颜色:
    What is my favorite color?
    
    Gemini CLI 应使用 my-favorite-things 技能来回答您的问题。如果系统提示,请允许 Gemini CLI 使用该技能。

输出应显示 Gemini CLI 使用了您的技能,并回答了“蓝色”。

您已完成!您已成功创建技能并使用 Gemini CLI 对其进行了测试。

准备好结束会话时,输入 /quit,然后按 Enter 退出 Gemini CLI。

6. 安装 Agent Skills for Firebase

除了创建自己的技能外,您还可以安装他人创建的技能。Firebase 专用智能体技能 (GitHub) 是可移植的自包含模块,其中包含 Firebase 专用知识、说明和工作流。它们旨在帮助 AI 助理了解 Firebase 最佳实践,并以更高的准确性和更低的 token 成本执行复杂任务。

您可以在终端中使用 skills CLI 安装所有 Agent Skills for Firebase:

npx skills add firebase/agent-skills

此命令将下载并安装包括 firebase-basicsfirebase-auth-basicsfirebase-firestore-basicsfirebase-app-hosting-basics 在内的技能,使它们可与 my-favorite-things 技能一起在 Gemini CLI 中使用。

如需详细了解 Firebase 的代理技能,请参阅可用技能

7. 探索 Firebase 的代理技能

适用于 Firebase 的代理技能现已安装完毕,可在 Gemini CLI 中使用。您可以运行 Gemini CLI 并输入 /skills firebase 来查看这些命令:

gemini

然后在 Gemini CLI 中:

/skills firebase

您会看到已安装的 Firebase 技能列表,例如 firebase-basicsfirebase-auth-basicsfirebase-firestore-basicsfirebase-app-hosting-basics

8. (可选)使用 Agent Skills for Firebase 创建和部署应用

现在,使用已安装的 Agent Skills for Firebase 创建一个具有用户身份验证和数据库的“待办事项”Web 应用,并将其部署到 Firebase App Hosting。

  1. 如果您仍处于 Gemini CLI 中,请键入 /quit 以退出。
  2. 为您的项目创建一个新目录,并导航至该目录:
    mkdir todo-app && cd todo-app
    
  3. 使用您的 Google 账号登录 Firebase。如果您在 Cloud Shell 或其他没有浏览器的环境中,请使用 --no-localhost 标志。
    firebase login --no-localhost
    
    按照说明向 Firebase CLI 授权。
  4. 启动 Gemini CLI:
    gemini
    
  5. 现在,让 Gemini 生成应用代码:
    Generate HTML, CSS, and Javascript for a single page  application. It should use Google Sign-in with Firebase Authentication, and save tasks in Cloud Firestore for the signed-in user. A user should be able to add new tasks and see a list of their tasks.
    
    Gemini 可能会要求创建 index.htmlstyle.cssscript.js 等文件。允许这样做。
  6. 最后,将应用部署到 Firebase App Hosting:
    /firebase-app-hosting-basics deploy my web app to Firebase App Hosting.
    
    按照提示配置应用托管并完成部署。部署完成后,您应该会收到一个指向实时应用的网址!

9. 总结

恭喜!您已成功创建技能,并了解如何为 Gemini CLI 安装其他技能。

(可选)清理

如果您想清理资源,可以删除 Cloud 项目,以免产生额外费用。

如果您愿意,可以删除项目:

gcloud projects delete $GOOGLE_CLOUD_PROJECT

您可能还需要从 Cloud Shell 磁盘中删除不必要的资源。您可以:

  1. 删除技能目录:
    rm -rf ~/.gemini/skills/my-favorite-things
    
  2. 警告!接下来要执行的操作无法撤消!如果您想删除 Cloud Shell 中的所有内容以释放空间,可以删除整个主目录。请务必将要保留的所有内容保存到其他位置。
    sudo rm -rf $HOME